1
2
3
4
5
6
7Internet Engineering Task Force (IETF) A. Gulbrandsen
8Request for Comments: 6858 March 2013
9Updates: 3501
10Category: Standards Track
11ISSN: 2070-1721
12
13
14 Simplified POP and IMAP Downgrading for Internationalized Email
15
16Abstract
17
18 This document specifies a method for IMAP and POP servers to serve
19 internationalized messages to conventional clients. The
20 specification is simple, easy to implement, and provides only
21 rudimentary results.
22
23Status of This Memo
24
25 This is an Internet Standards Track document.
26
27 This document is a product of the Internet Engineering Task Force
28 (IETF). It represents the consensus of the IETF community. It has
29 received public review and has been approved for publication by the
30 Internet Engineering Steering Group (IESG). Further information on
31 Internet Standards is available in Section 2 of RFC 5741.
32
33 Information about the current status of this document, any errata,
34 and how to provide feedback on it may be obtained at
35 http://www.rfc-editor.org/info/rfc6858.
36
37Copyright Notice
38
39 Copyright (c) 2013 IETF Trust and the persons identified as the
40 document authors. All rights reserved.
41
42 This document is subject to BCP 78 and the IETF Trust's Legal
43 Provisions Relating to IETF Documents
44 (http://trustee.ietf.org/license-info) in effect on the date of
45 publication of this document. Please review these documents
46 carefully, as they describe your rights and restrictions with respect
47 to this document. Code Components extracted from this document must
48 include Simplified BSD License text as described in Section 4.e of
49 the Trust Legal Provisions and are provided without warranty as
50 described in the Simplified BSD License.
51
52
53
54
55
56
57
58Gulbrandsen Standards Track [Page 1]
59
60RFC 6858 POP and IMAP for Internationalized Email March 2013
61
62
631. Overview
64
65 A conventional IMAP or POP client may open a mailbox containing
66 internationalized messages or may even attempt to read
67 internationalized messages, for instance, when a user has both
68 internationalized and conventional Mail User Agents (MUAs).
69
70 Some operations cannot be performed by conventional clients. Most
71 importantly, an internationalized message usually contains at least
72 one internationalized address, so address-based operations are rarely
73 possible. This includes displaying the addresses, replying to
74 messages, and the processing of most types of address-based signature
75 or security.
76
77 However, the sender's name, message subject, body of text, and
78 attachments can easily be displayed, so a helpful IMAP or POP server
79 may prefer to display as much of the message as possible, rather than
80 hide the message entirely.
81
82 This document specifies a way to present such messages to the client.
83 It values simplicity of implementation over fidelity of
84 representation, since implementing a high-fidelity downgrade
85 algorithm such as the one specified in a companion document [RFC6857]
86 is likely more work than implementing proper UTF-8 support for POP
87 [RFC6856] and/or IMAP [RFC6855].
88
89 The server is assumed to be internationalized internally and to store
90 messages that are internationalized messages natively. When it needs
91 to present an internationalized message to a conventional client, the
92 server synthesizes a conventional message containing most of the
93 information and presents the "surrogate message".
94
95 This specification modifies the base IMAP specification [RFC3501] by
96 relaxing a requirement that sizes be exact and adding a reporting
97 requirement as discussed in Section 3 below.
98
992. Information Preserved and Lost
100
101 The surrogate message is intended to convey the most important
102 information to the user. Where information is lost, the user should
103 consider the message incomplete rather than modified.
104
105 The surrogate message is not intended to convey any information to
106 the client software that would require or enable it to apply special
107 handling to the message. Client authors who wish to handle
108 internationalized messages are encouraged to implement POP [RFC6856]
109 and/or IMAP [RFC6855] support for UTF-8.
110
111
112
113
114Gulbrandsen Standards Track [Page 2]
115
116RFC 6858 POP and IMAP for Internationalized Email March 2013
117
118
119 Uppercase letters in examples represent non-ASCII characters.
120 example.com is a plain domain; EXAMPLE.com represents a non-ASCII
121 domain in the .com top-level domain.
122
1232.1. Email Addresses
124
125 Each internationalized email address in the header fields listed
126 below is replaced with an invalid email address whose display-name
127 tells the user what happened.
128
129 The format of the display-name is explicitly unspecified. Anything
130 that tells the user what happened is good. Anything that produces an
131 email address that might belong to someone else is bad.
132
133 Given an internationalized address "Fred Foo <fred@EXAMPLE.com>", an
134 implementation may choose to render it as one of these examples:
135
136 "fred@EXAMPLE.com" <invalid@internationalized-address.invalid>
137 Fred Foo <invalid@internationalized.invalid>
138 internationalized-address:;
139 fred:;
140
141 The .invalid top-level domain is reserved as a Top Level DNS Name
142 [RFC2606]; therefore, the first two examples are syntactically valid,
143 but they will never belong to anyone. Note that the display-name
144 often needs encoding (see the Message Header Extensions document
145 [RFC2047]).
146
147 The affected header fields are "Bcc:", "Cc:", "From:", "Reply-To:",
148 "Resent-Bcc:", "Resent-Cc:", "Resent-From:", "Resent-Sender:",
149 "Resent-To:", "Return-Path:", "Sender:", and "To:". Any addresses
150 present in other header fields, such as "Received:", are not regarded
151 as addresses by this specification.
152
1532.2. MIME Parameters
154
155 Any MIME parameter [RFC2045] (whether in the message header or a body
156 part header) that cannot be presented to the client exactly as it
157 appears in the incoming message is silently excised.
158
159 Given a field such as
160
161 Content-Disposition: attachment; filename=FOO
162
163 the field is presented as
164
165 Content-Disposition: attachment
166
167
168
169
170Gulbrandsen Standards Track [Page 3]
171
172RFC 6858 POP and IMAP for Internationalized Email March 2013
173
174
1752.3. Subject Field
176
177 If the Subject field cannot be presented to the client exactly as it
178 appears in the incoming message, the server presents a representation
179 encoded as specified in RFC 2047.
180
1812.4. Remaining Header Fields
182
183 Any header field that cannot be presented to the client, even with
184 the modifications listed in Sections 2.1-2.3, is silently excised.
185
1863. IMAP-Specific Details
187
188 IMAP allows clients to retrieve the message size without downloading
189 the message, using RFC822.SIZE, BODY.SIZE[] and so on. The IMAP
190 specification [RFC3501] requires that the returned size be exact.
191
192 This specification relaxes that requirement. When a conventional
193 client requests size information for a message, the IMAP server is
194 permitted to return size information for the internationalized
195 message, even though the size of the surrogate message differs.
196
197 When an IMAP server performs downgrading as part of generating FETCH
198 responses, it reports which messages were synthesized using a
199 response code and attendant UID (Unique Identifier) set. This can be
200 helpful to humans debugging the server and/or client.
201
202 C: a UID FETCH 1:* BODY.PEEK[HEADER.FIELDS(To From Cc)]
203 S: 1 FETCH (UID 65 [...]
204 S: 2 FETCH (UID 70 [...]
205 S: a OK [DOWNGRADED 70,105,108,109] Done
206
207 The message-set argument to DOWNGRADED contains UIDs.
208
209 Note that DOWNGRADED does not necessarily mention all the
210 internationalized messages in the mailbox. In the example above, we
211 know that UID 65 does not contain internationalized addresses in the
212 "From:", "To:", and "Cc:" fields. It may, for example, contain an
213 internationalized "Subject:".
214
2154. POP-Specific Details
216
217 The number of lines specified in the TOP command [RFC1939] refers to
218 the surrogate message. The message size reported by, for example,
219 LIST may refer to either the internationalized or the surrogate
220 message.
221
222
223
224
225
226Gulbrandsen Standards Track [Page 4]
227
228RFC 6858 POP and IMAP for Internationalized Email March 2013
229
230
2315. Security Considerations
232
233 If the internationalized message uses any sort of signature that
234 covers header fields, the signature of the surrogate message almost
235 certainly is invalid and may be invalid in other cases. This is a
236 necessary limitation of displaying internationalized messages in
237 legacy clients, since those clients do not support internationalized
238 header fields. These cases are discussed in more detail in the POP
239 or IMAP Downgrade document [RFC6857]. Even though invalid, these
240 signatures should not be removed from the surrogate message, to
241 preserve as much of the information as possible from the original
242 message.
243
244 If any excised information is significant, then that information does
245 not arrive at the recipient. Notably, the "Message-Id:",
246 "In-Reference-To:", and "References:" fields may be excised, which
247 might cause a lack of context when the recipient reads the message.
248
249 Some POP or IMAP clients, such as Fetchmail, download messages and
250 delete the versions on the server. This may lead to permanent loss
251 of information when the only remaining version of a message is the
252 surrogate message.
253
254 Other clients cache messages for a very long time, even across client
255 upgrades, such as the stock Android client. When such a client is
256 internationalized, care must be taken so that it does not use an old
257 surrogate message from its cache rather than retrieve the real
258 message from the server.
259
2606. IANA Considerations
261
262 IANA has added DOWNGRADED to the "IMAP Response Codes" registry.
263
2647. References
265
2667.1. Normative References
267
268 [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3",
269 STD 53, RFC 1939, May 1996.
270
271 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
272 Extensions (MIME) Part One: Format of Internet Message
273 Bodies", RFC 2045, November 1996.
274
275 [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions)
276 Part Three: Message Header Extensions for Non-ASCII Text",
277 RFC 2047, November 1996.
278
279
280
281
282Gulbrandsen Standards Track [Page 5]
283
284RFC 6858 POP and IMAP for Internationalized Email March 2013
285
286
287 [RFC2606] Eastlake, D., 3rd and A. Panitz, "Reserved Top Level DNS
288 Names", BCP 32, RFC 2606, June 1999.
289
290 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
291 4rev1", RFC 3501, March 2003.
292
2937.2. Informative References
294
295 [RFC1925] Callon, R., "The Twelve Networking Truths", RFC 1925,
296 April 1 1996.
297
298 [RFC6855] Resnick, P., Ed., Newman, C., Ed., and S. Shen, Ed., "IMAP
299 Support for UTF-8", RFC 6855, March 2013.
300
301 [RFC6856] Gellens, R., Newman, C., Yao, J., and K. Fujiwara, "Post
302 Office Protocol Version 3 (POP3) Support for UTF-8", RFC
303 6856, March 2013.
304
305 [RFC6857] Fujiwara, K., "Post-Delivery Message Downgrading for
306 Internationalized Email Messages", RFC 6857, March 2013.
307
3088. Acknowledgements
309
310 Claudio Allocchio, Ned Freed, Kazunori Fujiwara, Ted Hardie, John
311 Klensin, Barry Leiba, John Levine, Alexey Melnikov, Chris Newman, and
312 Joseph Yee. This specification was inspired by the principle stated
313 in Rule 12 of "The Twelve Networking Truths" [RFC1925].
314
315Author's Address
316
317 Arnt Gulbrandsen
318 Schweppermannstr. 8
319 D-81671 Muenchen
320 Germany
321
322 Fax: +49 89 4502 9758
323 EMail: arnt@gulbrandsen.priv.no
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338Gulbrandsen Standards Track [Page 6]
339
340