idnits 2.17.1
draft-ietf-eai-popimap-downgrade-05.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
-- The draft header indicates that this document updates RFC5322, but the
abstract doesn't seem to mention this, which it should.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
(Using the creation date from RFC5322, updated by this document, for
RFC5378 checks: 2006-06-20)
-- The document seems to lack a disclaimer for pre-RFC5378 work, but may
have content which was first submitted before 10 November 2008. If you
have contacted all the original authors and they are all willing to grant
the BCP78 rights to the IETF Trust, then this is fine, and you can ignore
this comment. If not, you may need to add the pre-RFC5378 disclaimer.
(See the Legal Provisions document at
https://trustee.ietf.org/license-info for more information.)
-- The document date (Apr 13, 2012) is 4393 days in the past. Is this
intentional?
Checking references for intended status: Proposed Standard
----------------------------------------------------------------------------
(See RFCs 3967 and 4897 for information about using normative references
to lower-maturity documents in RFCs)
-- Obsolete informational reference (is this intentional?): RFC 5451
(Obsoleted by RFC 7001)
-- Obsolete informational reference (is this intentional?): RFC 5504
(Obsoleted by RFC 6530)
Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 5 comments (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Email Address Internationalization K. Fujiwara
3 (EAI) JPRS
4 Internet-Draft Apr 13, 2012
5 Updates: 5322 (if approved)
6 Intended status: Standards Track
7 Expires: October 15, 2012
9 Post-delivery Message Downgrading for Internationalized Email Messages
10 draft-ietf-eai-popimap-downgrade-05.txt
12 Abstract
14 The Email Address Internationalization (SMTPUTF8) extension allows
15 UTF-8 characters in mail header fields. Upgraded POP and IMAP
16 servers support internationalized Email messages. If a POP/IMAP
17 client does not support Email Address Internationalization, POP/IMAP
18 servers cannot send Internationalized Email Headers to the client and
19 cannot remove the message. To avoid the situation, this document
20 describes a conversion mechanism for internationalized Email messages
21 to be in traditional message format. In the process, message
22 elements requiring internationalized treatment are recoded or removed
23 and receivers are able to know that they received messages containing
24 such elements even if they cannot treat the internationalized
25 elements.
27 Status of This Memo
29 This Internet-Draft is submitted in full conformance with the
30 provisions of BCP 78 and BCP 79.
32 Internet-Drafts are working documents of the Internet Engineering
33 Task Force (IETF). Note that other groups may also distribute
34 working documents as Internet-Drafts. The list of current Internet-
35 Drafts is at http://datatracker.ietf.org/drafts/current/.
37 Internet-Drafts are draft documents valid for a maximum of six months
38 and may be updated, replaced, or obsoleted by other documents at any
39 time. It is inappropriate to use Internet-Drafts as reference
40 material or to cite them other than as "work in progress."
42 This Internet-Draft will expire on October 15, 2012.
44 Copyright Notice
46 Copyright (c) 2012 IETF Trust and the persons identified as the
47 document authors. All rights reserved.
49 This document is subject to BCP 78 and the IETF Trust's Legal
50 Provisions Relating to IETF Documents
51 (http://trustee.ietf.org/license-info) in effect on the date of
52 publication of this document. Please review these documents
53 carefully, as they describe your rights and restrictions with respect
54 to this document. Code Components extracted from this document must
55 include Simplified BSD License text as described in Section 4.e of
56 the Trust Legal Provisions and are provided without warranty as
57 described in the Simplified BSD License.
59 Table of Contents
61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
62 1.1. Problem statement . . . . . . . . . . . . . . . . . . . . 4
63 1.2. Possible solutions . . . . . . . . . . . . . . . . . . . . 4
64 1.3. Approach taken in this specification . . . . . . . . . . . 4
65 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
66 3. Updating RFC 5322 . . . . . . . . . . . . . . . . . . . . . . 6
67 4. New Header Fields Definition . . . . . . . . . . . . . . . . . 7
68 5. Email Header Fields Downgrading . . . . . . . . . . . . . . . 8
69 5.1. Downgrading Method for Each ABNF Element . . . . . . . . . 8
70 5.1.1. UNSTRUCTURED Downgrading . . . . . . . . . . . . . . . 8
71 5.1.2. WORD Downgrading . . . . . . . . . . . . . . . . . . . 8
72 5.1.3. COMMENT Downgrading . . . . . . . . . . . . . . . . . 8
73 5.1.4. MIME-VALUE Downgrading . . . . . . . . . . . . . . . . 8
74 5.1.5. DISPLAY-NAME Downgrading . . . . . . . . . . . . . . . 9
75 5.1.6. GROUP Downgrading . . . . . . . . . . . . . . . . . . 9
76 5.1.7. MAILBOX Downgrading . . . . . . . . . . . . . . . . . 9
77 5.1.8. ENCAPSULATION Downgrading . . . . . . . . . . . . . . 10
78 5.1.9. TYPED-ADDRESS Downgrading . . . . . . . . . . . . . . 10
79 5.2. Downgrading Method for Each Header Field . . . . . . . . . 10
80 5.2.1. Address Header Fields That Contain
s . . . . 10
81 5.2.2. Address Header Fields with Typed Addresses . . . . . . 11
82 5.2.3. Downgrading Non-ASCII in Comments . . . . . . . . . . 11
83 5.2.4. Message-ID Header Fields . . . . . . . . . . . . . . . 11
84 5.2.5. Received Header Field . . . . . . . . . . . . . . . . 12
85 5.2.6. MIME Content Header Fields . . . . . . . . . . . . . . 12
86 5.2.7. Non-ASCII in . . . . . . . . . . . . . 12
87 5.2.8. Non-ASCII in . . . . . . . . . . . . . . . . 12
88 5.2.9. Other Header Fields . . . . . . . . . . . . . . . . . 12
89 6. MIME Body-Part Header Field Downgrading . . . . . . . . . . . 13
90 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
91 8. Implementation Notes . . . . . . . . . . . . . . . . . . . . . 14
92 8.1. RFC 2047 Encoding . . . . . . . . . . . . . . . . . . . . 14
93 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
94 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16
95 11. Change History . . . . . . . . . . . . . . . . . . . . . . . . 16
96 11.1. Version 00 . . . . . . . . . . . . . . . . . . . . . . . . 16
97 11.2. Version 01 . . . . . . . . . . . . . . . . . . . . . . . . 16
98 11.3. Version 02 . . . . . . . . . . . . . . . . . . . . . . . . 16
99 11.4. Version 03 . . . . . . . . . . . . . . . . . . . . . . . . 16
100 11.5. Version 04 . . . . . . . . . . . . . . . . . . . . . . . . 17
101 11.6. Version 05 . . . . . . . . . . . . . . . . . . . . . . . . 17
102 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
103 12.1. Normative References . . . . . . . . . . . . . . . . . . . 17
104 12.2. Informative References . . . . . . . . . . . . . . . . . . 18
105 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 18
106 A.1. Downgrading Example . . . . . . . . . . . . . . . . . . . 18
108 1. Introduction
110 1.1. Problem statement
112 Traditional (legacy) mail systems, which are defined by [RFC5322],
113 allow only ASCII characters in mail header field values. The
114 SMTPUTF8 extension ([RFC6530] and [RFC6532]) allow raw UTF-8 in those
115 mail header fields.
117 If a header field contains non-ASCII strings, POP/IMAP servers cannot
118 send Internationalized Email Headers to legacy clients and, because
119 they have no obvious or standardized way to explain what is going on
120 to those clients, cannot even safely discard the message.
122 1.2. Possible solutions
124 Discussions leading to this specification concluded that there are
125 four plausible approaches to the problem, with the preferred one
126 depending on the particular circumstances and relationship among the
127 delivery SMTP server, the mail store, the POP or IMAP server, and the
128 users and their MUA clients:
130 1. If the delivery MTA has sufficient knowledge about the POP and/or
131 IMAP servers and clients being used, the message may be rejected
132 as undeliverable.
134 2. The message may be downgraded by the POP or IMAP server, in a way
135 that preserves maximum information at the expense of some
136 complexity.
138 3. Some intermediate downgrading may be applied that balances more
139 information loss against lower complexity and greater ease of
140 implementation.
142 4. The POP or IMAP server may fabricate a message whose intent is to
143 notify the client that an internationalized message is waiting
144 but cannot be delivered until an upgraded client is available.
146 1.3. Approach taken in this specification
148 This specification describes the second of those options. It is
149 worth noticing that, at least in the general case, none of these
150 options preserve sufficient information to guarantee that it is
151 possible to reply to an incoming message without loss of information,
152 so the choice may be considered to be among "least bad" options.
154 This message downgrading mechanism converts mail header fields to an
155 all-ASCII representation. The POP/IMAP servers can use the
156 downgrading mechanism and send the Internationalized Email message as
157 a traditional form. Receivers can know they received some
158 internationalized messages or some unknown/broken messages.
160 [RFC6532] allows UTF-8 characters to be used in mail header fields
161 and MIME header fields. The message downgrading mechanism specified
162 here describes the conversion method from the internationalized
163 messages that are defined in [RFC6530], and [RFC6532] to the
164 traditional email messages defined in [RFC5322].
166 There is no good way to convert "From:" and "Sender:" header fields,
167 this document updates [RFC5322] by redefining "From:" and "Sender:"
168 header fields in Section 3.
170 This document provides a precise definition of the minimum-
171 information-loss message downgrading process.
173 Downgrading consists of the following three parts:
175 o New header field definitions
177 o Email header field downgrading
179 o MIME header field downgrading
181 In Section 4 of this document, header fields starting with
182 "Downgraded-" are introduced. They preserve the information that
183 appeared in the original header fields.
185 Email header field downgrading is described in Section 5. It
186 generates ASCII-only header fields.
188 The definition of MIME header fields in Internationalized Email
189 Messages is described in [RFC6532]. MIME header field downgrading is
190 described in Section 6. It generates ASCII-only MIME header fields.
192 Displaying downgraded messages that originally contained
193 internationalized header fields is out of scope of this document. A
194 POP/IMAP client which does not support UTF8 extension does not know
195 internationalized message format described in [RFC6532].
197 The purpose of post-delivery message downgrading is to enable POP/
198 IMAP servers to deliver internationalized messages to traditional
199 POP/IMAP clients.
201 2. Terminology
203 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
204 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
205 document are to be interpreted as described in RFC 2119 [RFC2119].
207 All specialized terms used in this specification are defined in the
208 Overview and Framework for Internationalized Email [RFC6530], in the
209 mail message specifications [RFC5322], or in the MIME documents
210 [RFC2045] [RFC2047] [RFC2183] [RFC2231]. The terms "ASCII address",
211 "non-ASCII address", "SMTPUTF8", "message", "internationalized
212 message" are used with the definitions from [RFC6530]. The term
213 "non-ASCII string" is used with the definitions from [RFC6532].
215 3. Updating RFC 5322
217 "From:" header field or "Sender:" header field may contain non-ASCII
218 addresses in internationalized Email messages. These non-ASCII
219 addresses are not allowed in [RFC5322]. The draft proposes that the
220 pop/imap downgrading uses syntax and encodes non-ASCII
221 addresses into with empty described in
222 Section 5.
224 This specification redefines "From:", "Sender:", "Resent-From:" and
225 "Resent-Sender:" header fields defined in Section 3.6.2 and 3.6.6 of
226 [RFC5322] to allow in the header fields.
228 from = "From:" address-list CRLF
229 resent-from = "Resent-From:" address-list CRLF
230 sender = "Sender:" address CRLF
231 resent-sender = "Resent-Sender:" address CRLF
233 This adds group syntax to "From" and "Sender" that was previously
234 allowed only in destination fields such as "To" and "cc". It is
235 anticipated that when existing implementations encounter a downgraded
236 field from this set, many will tolerate the appearance of a group,
237 even though [RFC5322] does not permit it. Implementations that do
238 not tolerate it will fail in unpredictable ways, and they might
239 refuse to process such messages.
241 [[ Notes in Draft: If this update is rejected, one possible solution
242 is to rewrite each element in "From" and "Sender" header
243 fields as
245 ENCODED-WORD "<" NON_EXISTING_ADDRESS ">"
246 where the is the original encoded
247 according to [RFC2047] and NON_EXISTING_ADDRESS is an ASCII email
248 address which does not exist, should, as illustrated in the example
249 below, always generate an error and is specified by the administrator
250 of the POP3 or IMAP server.
252 For example, if the local-part of the "From:" address were the
253 Russian (in Cyrillic) equivalent of Ivan, with domain-part
254 "foo.example.net" and the IMAP server being used by the recipient was
255 "imap.example.com", the encoded word from suggested in this note
256 might appear as:
258 From: =?UTF-8?Q?=d0=b8=d0=b2=d0=b0=d0=bd@foo.example.net?=
259
261 That would lead to immediate rejection if a user attempted to reply
262 uncritically to the message. ]]
264 4. New Header Fields Definition
266 New header fields are defined to preserve information that appeared
267 in non-ASCII strings in header fields of the incoming message. The
268 values of the new fields holds the original header field value in
269 encoded form. The revised header field syntax is specified as
270 follows:
272 fields =/ downgraded
274 downgraded = "Downgraded-Message-Id:" unstructured CRLF /
275 "Downgraded-Resent-Message-Id:" unstructured CRLF /
276 "Downgraded-In-Reply-To:" unstructured CRLF /
277 "Downgraded-References:" unstructured CRLF /
278 "Downgraded-Original-Recipient:" unstructured CRLF /
279 "Downgraded-Final-Recipient:" unstructured CRLF
281 To preserve a header field in a "Downgraded-" header field:
283 1. Generate a new header field.
285 * The field name is a concatenation of "Downgraded-" and the
286 original field name.
288 * The initial new field value is the original header field
289 value.
291 2. Treat the initial new header field value as if it were
292 unstructured, and then apply [RFC2047] encoding with charset
293 UTF-8 as necessary so that the resulting new header field value
294 is completely in ASCII.
296 3. Remove the original header field.
298 5. Email Header Fields Downgrading
300 This section defines the conversion method to ASCII for each header
301 field that may contain non-ASCII strings.
303 [RFC6532] expands "Received:" header fields; [RFC5322] describes ABNF
304 elements , , , ; [RFC2045]
305 describes ABNF element .
307 5.1. Downgrading Method for Each ABNF Element
309 Header field downgrading is defined below for each ABNF element.
310 Converting the header field terminates when no non-ASCII strings
311 remain in the header field.
313 5.1.1. UNSTRUCTURED Downgrading
315 If the header field has an field that contains non-
316 ASCII strings, apply [RFC2047] encoding with charset UTF-8.
318 5.1.2. WORD Downgrading
320 If the header field has any fields that contain non-ASCII
321 strings, apply [RFC2047] encoding with charset UTF-8.
323 5.1.3. COMMENT Downgrading
325 If the header field has any fields that contain non-ASCII
326 strings, apply [RFC2047] encoding with charset UTF-8.
328 5.1.4. MIME-VALUE Downgrading
330 If the header field has any elements defined by [RFC2045] and
331 the elements contain non-ASCII strings, encode the elements
332 according to [RFC2231] with charset UTF-8 and leave the language
333 information empty. If the element is and it
334 contains outside the DQUOTE, remove the before this
335 conversion.
337 5.1.5. DISPLAY-NAME Downgrading
339 If the header field has any ( or ) elements
340 and they have elements that contain non-ASCII strings,
341 encode the elements according to [RFC2047] with
342 charset UTF-8. DISPLAY-NAME downgrading is the same algorithm as
343 WORD downgrading.
345 5.1.6. GROUP Downgrading
347 is defined in Section 3.4 of [RFC5322]. The elements
348 may contain s which contain non-ASCII addresses.
350 If the header field has any elements that contain
351 elements, and those elements in turn contain non-ASCII
352 addresses, rewrite each element as
354 display-name ENCODED_WORD " :;"
356 where the is the original encoded
357 according to [RFC2047].
359 5.1.7. MAILBOX Downgrading
361 The elements have no equivalent format for non-ASCII
362 addresses. If the header field has any elements that
363 contain non-ASCII strings in their element, rewrite each
364 element to ASCII-only format. The element
365 that contains non-ASCII strings may appear in two forms as:
367 "<" addr-spec ">"
368 addr-spec
370 Rewrite both as:
372 ENCODED-WORD " :;"
374 where the is the original encoded
375 according to [RFC2047].
377 5.1.8. ENCAPSULATION Downgrading
379 Encapsulate the header field in a "Downgraded-" header field as
380 described in Section 4 as a last resort.
382 Applying this procedure to "Received:" header field is prohibited.
383 ENCAPSULATION Downgrading is allowed for "Message-ID",
384 "In-Reply-To:", "References:", "Original-Recipient" and "Final-
385 Recipient" header fields.
387 5.1.9. TYPED-ADDRESS Downgrading
389 If the header field contains and the contains raw non-ASCII strings, it is in utf-8-address form.
391 Convert it to utf-8-addr-xtext form. Those forms are described in
392 [RFC6533]. COMMENT downgrading is also performed in this case. If
393 the address type is unrecognized and the header field contains non-
394 ASCII strings, then fall back to using ENCAPSULATION downgrading on
395 the entire header field.
397 5.2. Downgrading Method for Each Header Field
399 [RFC4021] establishes a registry of header fields. This section
400 describes the downgrading method for each header field.
402 If the whole mail header field does not contain non-ASCII strings,
403 email header field downgrading is not required. Each header field's
404 downgrading method is described below.
406 5.2.1. Address Header Fields That Contain s
408 From:
409 Sender:
410 To:
411 Cc:
412 Bcc:
413 Reply-To:
414 Resent-From:
415 Resent-Sender:
416 Resent-To:
417 Resent-Cc:
418 Resent-Bcc:
419 Resent-Reply-To:
421 Return-Path:
422 Disposition-Notification-To:
424 If the header field contains elements that contain non-ASCII
425 addresses, perform COMMENT downgrading, DISPLAY-NAME downgrading, and
426 GROUP downgrading.
428 If the header field contains elements that contain non-
429 ASCII addresses, perform COMMENT downgrading, DISPLAY-NAME
430 downgrading, and MAILBOX downgrading.
432 5.2.2. Address Header Fields with Typed Addresses
434 Original-Recipient:
435 Final-Recipient:
437 If the header field contains non-ASCII strings, perform TYPED-ADDRESS
438 downgrading.
440 5.2.3. Downgrading Non-ASCII in Comments
442 Date:
443 Resent-Date:
444 MIME-Version:
445 Content-ID:
446 Content-Transfer-Encoding:
447 Content-Language:
448 Accept-Language:
449 Auto-Submitted:
451 These header fields do not contain non-ASCII strings except in
452 comments. If the header field contains UTF-8 characters in comments,
453 perform COMMENT downgrading.
455 5.2.4. Message-ID Header Fields
457 Message-ID:
458 Resent-Message-ID:
459 In-Reply-To:
460 References:
462 Perform ENCAPSULATION Downgrading.
464 5.2.5. Received Header Field
466 Received:
468 If the FOR clause contains a non-ASCII address, remove the FOR clause
469 from the header field. Comments may contain non-ASCII strings,
470 Perform COMMENT downgrading. Other parts should not contain non-
471 ASCII strings.
473 5.2.6. MIME Content Header Fields
475 Content-Type:
476 Content-Disposition:
478 Perform MIME-VALUE downgrading and COMMENT downgrading.
480 5.2.7. Non-ASCII in
482 Subject:
483 Comments:
484 Content-Description:
486 Perform UNSTRUCTURED downgrading.
488 5.2.8. Non-ASCII in
490 Keywords:
492 Perform WORD downgrading.
494 5.2.9. Other Header Fields
496 There are other header fields that contain non-ASCII strings. They
497 are user-defined and missing from this document, or future defined
498 header fields. They are treated as "Optional Fields" and their field
499 values are treated as unstructured described in Section 3.6.8 of
500 [RFC5322].
502 Perform UNSTRUCTURED downgrading.
504 If the software understands the header field's structure and a
505 downgrading algorithm other than UNSTRUCTURED is applicable, that
506 software SHOULD use that algorithm; UNSTRUCTURED downgrading is used
507 as a last resort.
509 Mailing list header fields (those that start in "List-") are part of
510 this category.
512 6. MIME Body-Part Header Field Downgrading
514 MIME body-part header fields may contain non-ASCII strings [RFC6532].
515 This section defines the conversion method to ASCII-only header
516 fields for each MIME header field that contains non-ASCII strings.
517 Parse the message body's MIME structure at all levels and check each
518 MIME header field to see whether it contains non-ASCII strings. If
519 the header field contains non-ASCII strings in the header field
520 value, the header field is a target of the MIME body-part header
521 field's downgrading. Each MIME header field's downgrading method is
522 described below. COMMENT downgrading, MIME-VALUE downgrading, and
523 UNSTRUCTURED downgrading are described in Section 5.
525 Content-ID:
526 The "Content-ID:" header field does not contain non-ASCII strings
527 except in comments. If the header field contains UTF-8 characters
528 in comments, perform COMMENT downgrading.
530 Content-Type:
532 Content-Disposition:
533 Perform MIME-VALUE downgrading and COMMENT downgrading.
535 Content-Description: Perform UNSTRUCTURED downgrading.
537 7. Security Considerations
539 The purpose of post-delivery message downgrading is to allow POP/IMAP
540 servers to deliver internationalized messages to traditional POP/IMAP
541 clients and permit the clients to display those messages. Users who
542 receive such messages can know that they were internationalized. It
543 does not permit receivers to read the messages in their original form
544 and, in general, will not permit generating replies, at least without
545 significant user intervention.
547 This specification is designed so that MUAs that receive converted
548 messages may be traditional and SMTPUTF8-unaware. The specification
549 assumes that such MUAs have no special provisions for either
550 "Downgraded-" header fields or the new syntax of From and Sender
551 header fields described in Section 3.
553 A downgraded message's header fields contain ASCII characters only.
554 But they still contain MIME-encapsulated header fields that contain
555 non-ASCII strings. Furthermore, the body part may contain UTF-8
556 characters. Implementations parsing Internet messages need to accept
557 UTF-8 body parts and UTF-8 header fields that are MIME-encoded.
558 Thus, this document inherits the security considerations of MIME-
559 encoded header fields ([RFC2047] and [RFC3629]).
561 Rewriting header fields increases the opportunities for undetected
562 spoofing by malicious senders. However, the rewritten header field
563 values are preserved in equivalent MIME form or in newly defined
564 header fields which traditional MUAs do not care.
566 The techniques described here invalidate methods that depend on
567 digital signatures over any part of the message, which includes the
568 top-level header fields and body-part header fields. Depending on
569 the specific message being downgraded, at least the following
570 techniques are likely to break: DomainKeys Identified Mail (DKIM),
571 and possibly S/MIME and Pretty Good Privacy (PGP). Receivers may
572 know they need to update their MUAs, or they don't care.
574 While information in any email header field should usually be treated
575 with some suspicion, current email systems commonly employ various
576 mechanisms and protocols to make the information more trustworthy.
577 Information in the new Downgraded-* header fields is not inspected by
578 MUAs, and may be even less trustworthy than the traditional header
579 fields. Note that the Downgraded-* header fields could have been
580 inserted with malicious intent (and with content unrelated to the
581 traditional header fields), however traditional MUAs do not parse
582 Downgraded-* header fields.
584 In addition, if an Authentication-Results header field [RFC5451] is
585 present, traditional MUAs may treat that the digital signatures are
586 valid.
588 See the "Security Considerations" section in [RFC6530] for more
589 discussion.
591 8. Implementation Notes
593 8.1. RFC 2047 Encoding
595 While [RFC2047] has a specific algorithm to deal with whitespace in
596 adjacent encoded words, there are a number of deployed
597 implementations that fail to implement the algorithm correctly. As a
598 result, whitespace behavior is somewhat unpredictable in practice
599 when multiple encoded words are used. While RFC 5322 states that
600 implementations SHOULD limit lines to not more than 78 characters,
601 implementations MAY choose to allow overly long encoded words in
602 order to work around faulty [RFC2047] implementations.
603 Implementations that choose to do so SHOULD have an optional
604 mechanism to limit line length to 78 characters.
606 9. IANA Considerations
608 [[RFC Editor: Please change "should now be" and "should be" to "have
609 been" when the IANA actions are complete.]]
611 [[ Notes in draft: this section is not finished, to be reviewed with
612 IANA. ]]
614 [RFC5504] registered many "Downgraded-" header fields and requested
615 that 'IANA will refuse registration of all field names that start
616 with "Downgraded-", to avoid possible conflict with the procedure for
617 unknown header fields' preservation described in Section 3.3 of
618 [RFC5504].' However [RFC6530] obsoleted [RFC5504] and this document
619 does not use all "Downgraded-" header fields registered by [RFC5504].
621 The following header fields should be registered in the Permanent
622 Message Header Field registry, in accordance with the procedures set
623 out in [RFC3864].
625 Header field name: Downgraded-Message-Id
626 Applicable protocol: mail
627 Status: standard
628 Author/change controller: IETF
629 Specification document(s): This document (Section 4)
631 Header field name: Downgraded-In-Reply-To
632 Applicable protocol: mail
633 Status: standard
634 Author/change controller: IETF
635 Specification document(s): This document (Section 4)
637 Header field name: Downgraded-References
638 Applicable protocol: mail
639 Status: standard
640 Author/change controller: IETF
641 Specification document(s): This document (Section 4)
643 Header field name: Downgraded-Original-Recipient
644 Applicable protocol: mail
645 Status: standard
646 Author/change controller: IETF
647 Specification document(s): This document (Section 4)
649 Header field name: Downgraded-Final-Recipient
650 Applicable protocol: mail
651 Status: standard
652 Author/change controller: IETF
653 Specification document(s): This document (Section 4)
655 10. Acknowledgements
657 This document draws heavily from the experimental in-transit message
658 downgrading procedure described in RFC 5504 [RFC5504]. The
659 contribution of the co-author of that earlier document, Y. Yoneya,
660 are gratefully acknowledged. Significant comments and suggestions
661 were received from John Klensin, Barry Leiba, Randall Gellens, Pete
662 Resnick, Martin J. Durst, and other WG participants.
664 11. Change History
666 [[RFC Editor: Please remove this section prior to publication.]]
668 This section is used for tracking the update of this document. Will
669 be removed after finalize.
671 11.1. Version 00
673 o Initial version
675 o Imported header field downgrading from RFC 5504
677 11.2. Version 01
679 o same as Version 00
681 11.3. Version 02
683 o Added updating RFC 5322 to allow syntax in From: and
684 Sender
686 o Added GROUP Downgrading
688 11.4. Version 03
690 o Replaced with
692 o Added updating RFC 5322 to allow syntax in From: and
693 Sender
695 o Added one sentence in Security considerations
696 o Updated IANA considerations
698 11.5. Version 04
700 o Removed "Internationalized Address removed" from GROUP and MAILBOX
701 downgrading
703 o Updated "Updating RFC 5322"
705 o Compacted new header field definition
707 o Compacted security considerations
709 o Updated IANA considerations to remove obsoleting header fields
710 that are registered by RFC 5504
712 o Added a discussion of alternate downgrading models for the POP and
713 IMAP cases.
715 o Incorporated a large number of editorial changes to improve
716 clarity.
718 11.6. Version 05
720 o Some text corrections
722 o Terminology change: only to use non-ASCII address, non-ASCII
723 message, non-ASCII string and imported them from RFC 6530 and RFC
724 6532
726 o Replace "non-ASCII character" with "non-ASCII string"
728 o Removed 5.1.1. RECEIVED Downgrading: It's
730 12. References
732 12.1. Normative References
734 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
735 Extensions (MIME) Part One: Format of Internet Message
736 Bodies", RFC 2045, November 1996.
738 [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions)
739 Part Three: Message Header Extensions for Non-ASCII Text",
740 RFC 2047, November 1996.
742 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
743 Requirement Levels", BCP 14, RFC 2119, March 1997.
745 [RFC2183] Troost, R., Dorner, S., and K. Moore, "Communicating
746 Presentation Information in Internet Messages: The
747 Content-Disposition Header Field", RFC 2183, August 1997.
749 [RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and Encoded
750 Word Extensions:
751 Character Sets, Languages, and Continuations", RFC 2231,
752 November 1997.
754 [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
755 10646", STD 63, RFC 3629, November 2003.
757 [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
758 Procedures for Message Header Fields", BCP 90, RFC 3864,
759 September 2004.
761 [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
762 Header Fields", RFC 4021, March 2005.
764 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
765 October 2008.
767 [RFC6530] Klensin, J. and Y. Ko, "Overview and Framework for
768 Internationalized Email", RFC 6530, February 2012.
770 [RFC6532] Yang, A., Steele, S., and N. Freed, "Internationalized
771 Email Headers", RFC 6532, February 2012.
773 [RFC6533] Hansen, T., Newman, C., and A. Melnikov,
774 "Internationalized Delivery Status and Disposition
775 Notifications", RFC 6533, February 2012.
777 12.2. Informative References
779 [RFC5451] Kucherawy, M., "Message Header Field for Indicating
780 Message Authentication Status", RFC 5451, April 2009.
782 [RFC5504] Fujiwara, K. and Y. Yoneya, "Downgrading Mechanism for
783 Email Address Internationalization", RFC 5504, March 2009.
785 Appendix A. Examples
787 A.1. Downgrading Example
789 This appendix shows an message downgrading example. Consider a
790 received mail message where:
792 o The sender address is a non-ASCII address,
793 "NON-ASCII-local@example.com". Its display-name is "DISPLAY-
794 local".
796 o The "To:" header field contains two non-ASCII addresses,
797 "NON-ASCII-remote1@example.net" and
798 "NON-ASCII-remote2@example.com" Its display-names are "DISPLAY-
799 remote1" and "DISPLAY-remote2".
801 o The "Cc:" header field contains a non-ASCII address,
802 "NON-ASCII-remote3@example.org". Its display-name is "DISPLAY-
803 remote3".
805 o Four display names contain non-ASCII characters.
807 o The Subject header field is "NON-ASCII-SUBJECT", which contains
808 non-ASCII strings.
810 o The "Message-Id:" header field contains "NON-ASCII-MESSAGE_ID",
811 which contains non-ASCII strings.
813 o There is an unknown header field "X-Unknown-Header" which contains
814 non-ASCII strings.
816 Return-Path:
817 Received: from ... by ... for
818 Received: from ... by ... for
819 From: DISPLAY-local
820 To: DISPLAY-remote1 ,
821 DISPLAY-remote2
822 Cc: DISPLAY-remote3
823 Subject: NON-ASCII-SUBJECT
824 Date: DATE
825 Message-Id: NON-ASCII-MESSAGE_ID
826 Mime-Version: 1.0
827 Content-Type: text/plain; charset="UTF-8"
828 Content-Transfer-Encoding: 8bit
829 X-Unknown-Header: NON-ASCII-CHARACTERS
831 MAIL_BODY
833 Figure 1: Received message in a mail drop
835 The downgraded message is shown in Figure 2. "Return-Path:",
836 "From:", "To:" and "Cc:" header fields are rewritten. "Subject:" and
837 "X-Unknown-Header:" header fields are encoded using [RFC2047].
838 "Message-Id:" header field is encapsulated as
839 "Downgraded-Message-Id:" header field.
841 Return-Path: =?UTF-8?Q?NON-ASCII-local@example.com?= :;
842 Received: from ... by ...
843 Received: from ... by ...
844 From: =?UTF-8?Q?DISPLAY-local?=
845 =?UTF-8?Q?NON-ASCII-local@example.com?= :;
846 To: =?UTF-8?Q?DISPLAY-remote1?=
847 =?UTF-8?Q?NON-ASCII-remote1@example.net?= :;,
848 =?UTF-8?Q?DISPLAY-remote2?=
849 =?UTF-8?Q?NON-ASCII-remote2@example.com?= :;,
850 Cc: =?UTF-8?Q?DISPLAY-remote3?=
851 =?UTF-8?Q?NON-ASCII-remote3@example.org?= :;
852 Subject: =?UTF-8?Q?NON-ASCII-SUBJECT?=
853 Date: DATE
854 Downgraded-Message-Id: =?UTF-8?Q?MESSAGE_ID?=
855 Mime-Version: 1.0
856 Content-Type: text/plain; charset="UTF-8"
857 Content-Transfer-Encoding: 8bit
858 X-Unknown-Header: =?UTF-8?Q?NON-ASCII-CHARACTERS?=
860 MAIL_BODY
862 Figure 2: Downgraded message
864 Author's Address
866 Kazunori Fujiwara
867 Japan Registry Services Co., Ltd.
868 Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda
869 Chiyoda-ku, Tokyo 101-0065
870 Japan
872 Phone: +81 3 5215 8451
873 EMail: fujiwara@wide.ad.jp, fujiwara@jprs.co.jp