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