idnits 2.17.1 draft-ietf-eai-smtpext-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 15. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 771. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 782. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 789. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 795. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: An SMTP Client that receives the UTF8SMTP extension keyword in response to the "EHLO" command MAY transmit a mailbox name as an internationalized string in UTF-8 form and MAY send an internationalized mail header [EAI-utf8header]. It MAY transmit the domain part of that string in either punycode (derived from the IDNA process) or UTF-8 form. If it sends the domain in UTF-8 form, the original SMTP client SHOULD first verify that the string is valid for a domain name according to IDNA rules. As required by RFC 2821, it MUST not attempt to parse, evaluate, or transform the local part in any way if the UTF8SMTP SMTP extension is offered by the server. If the UTF8SMTP SMTP extension is not offered by the Server, the SMTP Client MUST NOT transmit an internationalized address and MUST NOT transmit a mail body which contains internationalized mail headers [EAI-utf8header]. Instead, it MUST either return the message to the user as undeliverable or replace it with the alternate ASCII address. If it is replaced, the replacement MUST be the ASCII-only address specified with the ALT-ADDRESS parameter.[EAI-downgrading]. -- 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 (February 12, 2007) is 6283 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) == Missing Reference: 'RFCxxxx' is mentioned on line 577, but not defined == Unused Reference: 'ASCII' is defined on line 634, but no explicit reference was found in the text == Unused Reference: 'RFC3454' is defined on line 698, but no explicit reference was found in the text == Unused Reference: 'RFC3492' is defined on line 713, but no explicit reference was found in the text == Unused Reference: 'RFC2045' is defined on line 736, but no explicit reference was found in the text == Outdated reference: A later version (-12) exists of draft-ietf-eai-downgrade-02 ** Downref: Normative reference to an Experimental draft: draft-ietf-eai-downgrade (ref. 'EAI-downgrading') == Outdated reference: A later version (-06) exists of draft-ietf-eai-dsn-00 ** Downref: Normative reference to an Experimental draft: draft-ietf-eai-dsn (ref. 'EAI-dsn') == Outdated reference: A later version (-09) exists of draft-ietf-eai-imap-utf8-00 ** Downref: Normative reference to an Experimental draft: draft-ietf-eai-imap-utf8 (ref. 'EAI-imap') == Outdated reference: A later version (-05) exists of draft-ietf-eai-framework-04 ** Downref: Normative reference to an Informational draft: draft-ietf-eai-framework (ref. 'EAI-overview') == Outdated reference: A later version (-09) exists of draft-ietf-eai-pop-01 ** Downref: Normative reference to an Experimental draft: draft-ietf-eai-pop (ref. 'EAI-pop') == Outdated reference: A later version (-12) exists of draft-ietf-eai-utf8headers-01 ** Downref: Normative reference to an Experimental draft: draft-ietf-eai-utf8headers (ref. 'EAI-utf8header') ** Obsolete normative reference: RFC 1652 (Obsoleted by RFC 6152) ** Obsolete normative reference: RFC 1869 (Obsoleted by RFC 2821) ** Obsolete normative reference: RFC 2476 (Obsoleted by RFC 4409) ** Obsolete normative reference: RFC 2821 (Obsoleted by RFC 5321) ** Obsolete normative reference: RFC 2822 (Obsoleted by RFC 5322) ** Obsolete normative reference: RFC 3454 (Obsoleted by RFC 7564) ** Obsolete normative reference: RFC 3490 (Obsoleted by RFC 5890, RFC 5891) ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) ** Obsolete normative reference: RFC 4234 (Obsoleted by RFC 5234) Summary: 16 errors (**), 0 flaws (~~), 15 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Yao, Ed. 3 Internet-Draft W. Mao, Ed. 4 Expires: August 16, 2007 CNNIC 5 February 12, 2007 7 SMTP extension for internationalized email address 8 draft-ietf-eai-smtpext-03.txt 10 Status of this Memo 12 By submitting this Internet-Draft, each author represents that any 13 applicable patent or other IPR claims of which he or she is aware 14 have been or will be disclosed, and any of which he or she becomes 15 aware will be disclosed, in accordance with Section 6 of BCP 79. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt. 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 This Internet-Draft will expire on August 16, 2007. 35 Copyright Notice 37 Copyright (C) The IETF Trust (2007). 39 Abstract 41 Internationalized email address includes two parts, the local part 42 and the domain part. The ways email addresses are used by protocols 43 are different from the ways domain names are used. The most critical 44 difference is that emails are delivered through a chain of peering 45 clients and servers while domain names are resolved by name servers 46 by looking up their own tables. In addition to this, email transport 47 protocols SMTP and ESMTP provide a negotiation mechanism through 48 which clients can make decisions for further processing. This 49 document specifies the use of SMTP extension for internationalized 50 email address delivery. It also mentions the backward compatible 51 mechanism for downgrade procedure, as specified in an associated 52 specification. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 1.1. Role of this specification . . . . . . . . . . . . . . . . 3 58 1.2. Proposal Context . . . . . . . . . . . . . . . . . . . . . 3 59 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 60 2. Mail Transport-level Protocol . . . . . . . . . . . . . . . . 4 61 2.1. Framework for the Internationalization Extension . . . . . 4 62 2.2. The Address Internationalization Service Extension . . . . 5 63 2.3. Extended Mailbox Address Syntax . . . . . . . . . . . . . 5 64 2.4. The ALT-ADDRESS parameter . . . . . . . . . . . . . . . . 8 65 2.5. The Suggestion of the Value of the ALT-ADDRESS 66 parameter . . . . . . . . . . . . . . . . . . . . . . . . 9 67 2.6. Body Parts and SMTP Extensions . . . . . . . . . . . . . . 9 68 2.7. Additional ESMTP Changes and Clarifications . . . . . . . 10 69 2.7.1. The Initial SMTP Exchange . . . . . . . . . . . . . . 10 70 2.7.2. Message Retry . . . . . . . . . . . . . . . . . . . . 10 71 2.7.3. Trace Information . . . . . . . . . . . . . . . . . . 11 72 2.7.4. Mailing List Question . . . . . . . . . . . . . . . . 12 73 2.7.5. Message Header Label . . . . . . . . . . . . . . . . . 12 74 2.7.6. POP and IMAP . . . . . . . . . . . . . . . . . . . . . 12 75 2.7.7. SMTP Service Extension for DSNs . . . . . . . . . . . 13 76 3. Potential problems . . . . . . . . . . . . . . . . . . . . . . 13 77 3.1. Impact to IRI . . . . . . . . . . . . . . . . . . . . . . 13 78 3.2. Impact to RFC 2476 and many email related RFC . . . . . . 13 79 4. Implementation Advice . . . . . . . . . . . . . . . . . . . . 13 80 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 81 6. Security considerations . . . . . . . . . . . . . . . . . . . 14 82 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14 83 8. Change History . . . . . . . . . . . . . . . . . . . . . . . . 14 84 8.1. draft-ietf-eai-smtpext: Version 00 . . . . . . . . . . . . 14 85 8.2. draft-ietf-eai-smtpext: Version 01 . . . . . . . . . . . . 14 86 8.3. draft-ietf-eai-smtpext: Version 02 . . . . . . . . . . . . 15 87 8.4. draft-ietf-eai-smtpext: Version 03 . . . . . . . . . . . . 15 88 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 89 9.1. Normative References . . . . . . . . . . . . . . . . . . . 15 90 9.2. Informative References . . . . . . . . . . . . . . . . . . 17 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 92 Intellectual Property and Copyright Statements . . . . . . . . . . 19 94 1. Introduction 96 Internationalized email address is different from the 97 internationalized domain name (IDN). It can be solved by exploiting 98 the negotiation mechanism while IDN can not use the negotiation 99 mechanism. So internationalized email address SHOULD be solved in 100 the mail transport-level using the negotiation mechanism, which is an 101 architecturally desirable approach. This document specifies a 102 protocol to solve the problem of internationalized email address 103 based on ESMTP. The protocol proposed here is MTA-level solution 104 which is feasible, architecturally elegant, and not as difficult to 105 be deployed in relevant communities. 107 1.1. Role of this specification 109 An overview document [EAI-overview] specifies the requirements for, 110 and components of, full internationalization of electronic mail. 111 This document specifies an element of that work, specifically the 112 definition of an SMTP extension [RFC1869] for the internationalized 113 email address transport delivery. 115 1.2. Proposal Context 117 In order to use internationalized email addresses, we need to 118 internationalize both the domain part and the local part of the email 119 address. The domain part of the email address has been 120 internationalized through IDNA RFC 3490 [RFC3490]. But the local 121 part of the email address still remains as non-internationalized. 123 The syntax of Internet email addresses is restricted to a subset of 124 7-bit ASCII for the domain-part, with a less-restricted subset for 125 the local-part. These restrictions are specified in RFC 2821 126 [RFC2821]. To be able to deliver internationalized email through 127 SMTP servers, we need to upgrade SMTP server to be able to carry the 128 internationalized email address. Since the older SMTP servers, the 129 mail-reading clients and other systems that are downstream from them 130 might not be prepared to handle these extended addresses, an SMTP 131 extension is specified to identify and protect the addressing 132 mechanism. 134 This specification describes a change to the email transport 135 mechanism that permits non-ASCII address in both the envelope and 136 header fields of messages. The context for the change is described 137 in [EAI-overview] and the details of the header changes are described 138 in [EAI-utf8header]. 140 1.3. Terminology 142 The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED", 143 and "MAY" in this document are to be interpreted as described in RFC 144 2119 [RFC2119]. 146 All specialized terms used in this specification are defined in the 147 EAI overview [EAI-overview] or in [RFC2821] and [RFC2822]. The terms 148 "ASCII address", "internationalized email address", "non-ASCII 149 address", "i18mail address", "UTF8SMTP", "message" and "mailing list" 150 are used with the definitions from the EAI overview document. 152 This document defines only those syntax rules that are different from 153 those of the base email specifications [RFC2821][RFC2822] and, where 154 the earlier rules are upgraded or extended, gives them new names. 155 When the new rule is a small upgrade to the older one, it is 156 typically given a name starting with "u". Rules that are undefined 157 here may be found in the base email documents under the same names. 159 This document is being discussed on the EAI mailing list. See 160 https://www1.ietf.org/mailman/listinfo/ima for information about 161 subscribing. The list's archive is at 162 http://www1.ietf.org/mail-archive/web/ima/index.html. 164 2. Mail Transport-level Protocol 166 2.1. Framework for the Internationalization Extension 168 The following service extension is defined: 170 1. The name of the SMTP service extension is "Email Address 171 Internationalization"; 172 2. The EHLO keyword value associated with this extension is 173 "UTF8SMTP"; 174 3. No parameter values are defined for this EHLO keyword value. In 175 order to permit future (although unanticipated) extensions, the 176 EHLO response MUST NOT contain any parameters for that keyword. 177 If a parameter appears, the SMTP client that is conformant to 178 this version of this specification MUST treat the ESMTP response 179 as if the "UTF8SMTP" keyword did not appear. 180 4. An optional parameter is added to the SMTP MAIL and RCPT 181 commands. The parameter is named as ALT-ADDRESS. The "ALT- 182 ADDRESS" requires an all-ASCII address as a substitute for the 183 i18mail addresses that we call the primary address; you can learn 184 more in [EAI-overview] or [EAI-downgrading]. The value of "ALT- 185 ADDRESS" is set by the sender when MUA and the Submission server 186 have a communication. 188 5. No additional SMTP verbs are defined by this extension. 189 6. Servers offering this extension MUST provide support for, and 190 announce, the 8BITMIME extension [RFC1652]. 192 2.2. The Address Internationalization Service Extension 194 An SMTP Server that announces this extension MUST be prepared to 195 accept a UTF-8 string [RFC3629] in any position in which RFC 2821 196 specifies that a "mailbox" MAY appear. That string MUST be parsed 197 only as specified in RFC 2821, i.e., by separating the mailbox into 198 source route, local part and domain part, using only the characters 199 colon (U+003A), comma (U+002C), and at-sign (U+0040) as specified 200 there. Once isolated by this parsing process, the local part MUST be 201 treated as opaque unless the SMTP Server is the final delivery MTA. 202 Any domain names that are to be looked up in the DNS MUST first be 203 processed into the form as specified in IDNA [RFC3490] by means of 204 the ToASCII() operation unless they are already in that form. Any 205 domain names that are to be compared to local strings SHOULD be 206 checked for validity and then MUST be compared as specified in 207 section 3.4 of IDNA. 209 An SMTP Client that receives the UTF8SMTP extension keyword in 210 response to the "EHLO" command MAY transmit a mailbox name as an 211 internationalized string in UTF-8 form and MAY send an 212 internationalized mail header [EAI-utf8header]. It MAY transmit the 213 domain part of that string in either punycode (derived from the IDNA 214 process) or UTF-8 form. If it sends the domain in UTF-8 form, the 215 original SMTP client SHOULD first verify that the string is valid for 216 a domain name according to IDNA rules. As required by RFC 2821, it 217 MUST not attempt to parse, evaluate, or transform the local part in 218 any way if the UTF8SMTP SMTP extension is offered by the server. If 219 the UTF8SMTP SMTP extension is not offered by the Server, the SMTP 220 Client MUST NOT transmit an internationalized address and MUST NOT 221 transmit a mail body which contains internationalized mail headers 222 [EAI-utf8header]. Instead, it MUST either return the message to the 223 user as undeliverable or replace it with the alternate ASCII address. 224 If it is replaced, the replacement MUST be the ASCII-only address 225 specified with the ALT-ADDRESS parameter.[EAI-downgrading]. 227 2.3. Extended Mailbox Address Syntax 229 RFC 2821, section 4.1.2, defines the syntax of a mailbox entirely in 230 terms of ASCII characters, using the production for "Mailbox" and 231 those on which it depends. 233 The key changes made by this specification are, informally, to 234 o Change the definition of "sub-domain" to permit either the 235 definition above or a UTF-8 string representing a DNS label that 236 is conformant with IDNA [RFC3490]. That label MUST NOT contain 237 the characters "@" or ".", even though those characters can 238 normally be inserted into a DNS label. 239 o Change the definition of "Atom" to permit either the definition 240 above or a UTF-8 string. That string MUST NOT contain any of the 241 ASCII characters (either graphics or controls) that are not 242 permitted in "atext"; it is otherwise unrestricted. 244 According to the description above, define the syntax of an 245 internationalized email mailbox with ABNF [RFC4234] as 246 uMailbox = uLocal-part "@" uDomain 247 ; Replace Mailbox in RFC 2821, section 4.1.2 249 uLocal-part = uDot-string / uQuoted-string 250 ; MAY be case-sensitive 251 ; Replace Local-part in RFC 2821, section 4.1.2 253 uDot-string = uAtom *("." uAtom) 254 ; Replace Dot-string in RFC 2821, section 4.1.2 256 uAtom = 1*ucharacter 257 ; Replace Atom in RFC 2821, section 4.1.2 259 ucharacter = atext / Non-ASCII 260 ; Replace character in RFC 2821, section 4.1.2 261 ; atext is defined in RFC 2822 262 ; UTF8-2, UTF8-3 and UTF8-4 are defined in RFC 3629 264 uQuoted-string = DQUOTE *uqcontent DQUOTE 265 ; Replace Quoted-string in RFC 2821, section 4.1.2 266 ; DQUOTE is Double Quote defined in RFC 4234 268 uqcontent = qcontent / Non-ASCII 269 ; qcontent is defined in RFC 2822, section 3.2.5 271 uDomain = (sub-udomain 1*("." sub-udomain)) / address-literal 272 ; Replace Domain in RFC 2821, section 4.1.2 273 ; address-literal is defined in RFC2821 section 4.1.2 275 sub-udomain = uLet-dig [uLdh-str] 276 ; Replace sub-domain in RFC 2821, section 4.1.2 278 uLet-dig = Let-dig / Non-ASCII 279 ; Let-dig in the right of '=' is defined in RFC 2822 281 uLdh-str = *( ALPHA / DIGIT / "-" / Non-ASCII) uLet-dig 282 ; Replace Ldh-str in RFC 2821, section 4.1.2 284 Non-ASCII = UTF8-2 / UTF8-3 / UTF8-4 286 The value of "udomain" SHOULD be verified with [RFC3490]; If failed, 287 the email address with that udomain can not be regarded as the valid 288 email address. 290 2.4. The ALT-ADDRESS parameter 292 If the UTF8SMTP extension is offered, the syntax of the SMTP MAIL and 293 RCPT commands is extended to support the optional esmtp-keyword "ALT- 294 ADDRESS", to specify the conditions under which the SMTP server may 295 use ALT-ADDRESS for the possible downgrading. If the ALT-ADDRESS 296 esmtp-keyword is used, it MUST have an associated esmtp-value (ALT- 297 ADDRESS-esmtp-value which is defined below) which requires an all- 298 ASCII email address. 300 Based on the definition of mail-parameters in [RFC2821], the ALT- 301 ADDRESS parameter usage in the commands of "mail from" and "rcpt to" 302 is defined below. 304 "MAIL FROM:" SP [ SP ] 305 ; Update mail command in RFC 2821, section 3.3 307 "RCPT TO:" SP [ SP ] 308 ; Update rcpt command in RFC 2821, section 3.3 310 uReverse-path = uPath 311 ; Replace Reverse-path in RFC 2821, section 4.1.2 313 uForward-path = uPath 314 ; Replace Forward-path in RFC 2821, section 4.1.2 316 uPath = "<" [ uA-d-l ":" ] uMailbox ">" 317 ; Replace Path in RFC 2821, section 4.1.2 319 uA-d-l = uAt-domain *( "," uA-d-l ) 320 ; Replace A-d-l in RFC 2821, section 4.1.2 322 uAt-domain = "@" udomain 323 ; Replace At-domain in RFC 2821, section 4.1.2 324 ; udomain is defined in section 2.3 of this document 326 ALT-ADDRESS-esmtp-value=Mailbox 327 ; Mailbox is defined in RFC 2821, section 4.1.2 329 The use of the ALT-ADDRESS is specified below: If some involved SMTP 330 servers can not support UTF8SMTP capability and if the sender has 331 already set the ALT-ADDRESS value, the client SMTP server will use 332 this address as the email address when the SMTP server does the 333 subsequent operations. If the ALT-ADDRESS value is not set by the 334 sender, the email must be bounced to the original sender. If the 335 email is bounced due to the incapability of supporting UTF8SMTP, the 336 relative server should issue the response error code "5.3.3" defined 337 in [RFC3463] which means that System is not capable of selected 338 features, permanent failure. 340 2.5. The Suggestion of the Value of the ALT-ADDRESS parameter 342 The "ALT-ADDRESS" requires an all-ASCII address. There are two 343 alternative ways to set ALT-ADDRESS value: one is set by the sender 344 using the all-ASCII address, the other is set using the transformed 345 email address. 347 Some may prefer transforming the non-ASCII address to the ASCII 348 Compatible Encoding(ACE) address as the value of the ALT-ADDRESS. A 349 significant obstacle with applying an ACE to all local-parts is that 350 the sending or converting system doesn't know if there are some 351 specific data or instructions embedded in the address that the ACE 352 process would hide. Some SMTP servers may depend on these specific 353 data or instructions to do some operations while the local parts 354 applied with ACE will lose or hide these data or instructions. SMTP 355 [RFC2821] prohibits SMTP relays from converting local parts because 356 the level of SMTP relays' knowledge on the structure of local parts 357 is assumed to be zero. However, we can raise the knowledge level by 358 supplying additional information. Many human users' email addresses 359 do not have any embedded structure processed by the final delivery 360 MTA. In that case, the sender can specify that these email addresses 361 are safe to be converted in the predefined way. The final delivery 362 SMTP server can revert the addresses even though they are as in all 363 ASCII form. Unless the MUA or the submission server clearly knows 364 that the non-ASCII address can be safely transformed into the all- 365 ASCII address, the non-ASCII address should not be transformed 366 because transformed email address may cause some potential problems. 368 This document suggests that the ALT-ADDRESS is set directly by the 369 sender; In default, the all-ASCII address should not be gotten from 370 the transformation of the non-ASCII address. 372 2.6. Body Parts and SMTP Extensions 374 While this specification requires that servers support the 8BITMIME 375 extension [RFC1652] to ensure that servers have adequate handling 376 capability for 8-bit data and to avoid a number of complex encoding 377 problems, the use of internationalized addresses obviously does not 378 require non-ASCII body parts in the MIME message. The UTF8SMTP 379 extension MAY be used with the BODY=8BITMIME parameter if that is 380 appropriate given the body content or, if the server advertises it 381 and it is appropriate, with the BODY=BINARYMIME parameter specified 382 in [RFC3030]. 384 Assuming that the server advertises UTF8SMTP and 8BITMIME, and at 385 least one non-ASCII address, with or without ALT-ADDRESS, the precise 386 interpretation of these parameters on the MAIL command is: 387 1. Headers are in UTF-8, body parts are in ASCII. 388 2. Headers are in UTF-8, some or all body parts contain 8-bit line- 389 oriented data. 390 3. Headers are in UTF-8, some or all body parts contain binary data 391 without restriction as to line lengths or delimiters. 393 2.7. Additional ESMTP Changes and Clarifications 395 The mail transport process involves addresses ("mailboxes") and 396 domain names in contexts in addition to the MAIL and RCPT commands 397 and extended alternatives to them. In general, the rule is that, 398 when RFC 2821 specifies a mailbox, this document expects UTF-8 to be 399 used for the entire string; when RFC 2821 specifies a domain name, 400 the name SHOULD be in punycode form if its raw form is non-ASCII. 402 The following subsections list and discuss all of the relevant cases. 404 Support and use of this extension requires support for 8BITMIME. It 405 means that 8BITMIME MUST be advertised by the UTF8SMTP capability 406 SMTP server. 408 2.7.1. The Initial SMTP Exchange 410 When an SMTP or ESMTP connection is opened, the server sends a 411 "banner" response consisting of the 220 reply code and some 412 information. The client then sends the EHLO command. Since the 413 client cannot know whether the server supports UTF8SMTP until after 414 it receives the response from EHLO, any domain names that appear in 415 this dialogue, or in responses to EHLO, MUST be in hostname form, 416 i.e., internationalized ones MUST be in punycode form. 418 2.7.2. Message Retry 420 When an MSA or MTA encounters a server that doesn't support UTF8SMTP 421 while relaying a message that requires such support, it is 422 RECOMMENDED that an alternate MX be tried, and/or the message is 423 requeued for a later attempt, rather than immediately downgrading or 424 bouncing. If the message is requeued, the total elapsed time before 425 bouncing or downgrading SHOULD be smaller than the value used for 426 other SMTP error conditions such as host unreachable or persistent 427 4xx response codes. 429 This alternate-MX-or-retry-later technique SHOULD NOT be used when 430 the message's return path is a non-ASCII address and the specific 431 forward path being attempted is an ASCII address (because the 432 implication that the delivery path normally supports UTF8SMTP does 433 not hold in this case). 435 The selection of submission servers is presumably under the control 436 of the sender's client, while the selection of potential intermediate 437 relays is under the control of the administration of the final 438 delivery server. Hence, there is a presumption, at least when the 439 recipient address is non-ASCII, that the delivery path servers 440 normally support UTF8SMTP (if the sender's client or MSA didn't 441 support UTF8SMTP, the message would not have been accepted for 442 delivery in the first place). Thus, a lack of UTF8SMTP support is 443 likely to be a temporary situation, such as a normal inbound server 444 being down and a cooperating site acting as a backup MX. If the lack 445 of UTF8SMTP in the delivery path of a message is a temporary 446 situation, and the message is sent successfully after retrying, then 447 it was a good thing to do. Of course, if there is always an ASCII- 448 only SMTP server in the path, then retrying only adds delay to the 449 failure (bounce or downgrade). 451 2.7.3. Trace Information 453 When an SMTP server receives a message for delivery or further 454 processing, it MUST insert trace ("time stamp" or "Received") 455 information at the beginning of the message content. The most 456 important use of Received: lines is for debugging mail faults. For 457 the trace information, we update the time stamp line and the return 458 path line [RFC2821] formally defined as follows: 460 uReturn-path-line = "Return-Path:" FWS uReverse-path 461 ; Replaces Return-path-line in the section 4.4 of [RFC2821] 462 ; uReverse-path is defined in Section 2.3 464 uTime-stamp-line = "Received:" FWS uStamp 465 ; Replaces Time-stamp-line in the section 4.4 of [RFC2821] 467 uStamp = From-domain By-domain uOpt-info ";" FWS date-time 468 ; Replaces Stamp in the section 4.4 of [RFC2821] 470 uOpt-info = [Via] [With] [ID] [uFor] 471 ; Replaces Opt-info in the section 4.4 of [RFC2821] 472 ; [With]'s protocl value will allow UTF8SMTP value 474 uFor = "FOR" FWS 1*( Path / uMailbox ) CFWS 475 ; Replaces For in the section 4.4 of [RFC2821] 476 ; uReverse-path is defined in Section 2.4 478 Except in the 'uFor' and 'uReverse-path' line where non-ASCII domain 479 name may be used, internationalized domain names in Received fields 480 MUST be transmitted in the punycode form. The [With]'s protocl value 481 will have the value of 'UTF8SMTP' for UTF8SMTP extension. We will 482 give more informaiton about this in "IANA consideration" section of 483 this document. If a "for" clause containing non-ASCII is encountered 484 when downgrading a message, it is better to just drop the "for" 485 clause rather than figure out some creative way to encode it. When 486 only the domain portion of a "for" clause address contains non-ASCII, 487 this document suggests using the punycode form of the domain portion. 488 For more detailed information, you may see it in [EAI-utf8header]. 490 2.7.4. Mailing List Question 492 How a mixture of traditional and internationalized addresses on a 493 mailing list will impact message flows, error reports, and delivery 494 notifications in all plausible combinations of UTF8SMTP capability 495 and un-capability servers is discussed and specified in the 496 [EAI-mailing list]. 498 2.7.5. Message Header Label 500 Today it is routine that many MTAs scan every message for spam, virus 501 or other reasons. It seems that few MTAs depend on "Header-Type" 502 fields or marker to decide the message's type. The better choice is 503 to rely on scanning the message to decide the message's type: 504 UTF8SMTP or ASCII, instead of the header label "Header-Type" fields 505 or marker. The message header label "Header-Type" SHOULD NOT be used 506 to identify and distinguish the i18mail message from the normal 507 message when SMTP messages are transmitted on wire. This issue is 508 discussed and specified in [EAI-utf8header]. 510 2.7.6. POP and IMAP 512 While SMTP mainly takes care of the transportation of messages and 513 the header fields on wire, POP essentially handles the retrieval of 514 mail objects from the server by a client. In order to use 515 internationalized user names based on i18mail for the retrieval of 516 messages from a mail server using the POP protocol, a new capability 517 SHOULD be introduced following the POP3 extension mechanism 518 [RFC2449]. This is discussed and specified in the [EAI-pop]. 520 IMAP [RFC3501] uses the traditional user name which is based on 521 ASCII. IMAP SHOULD be updated to support the internationalized user 522 names based on i18mail for the retrieval of messages from a mail 523 server. This is discussed and specified in the [EAI-imap]. 525 2.7.7. SMTP Service Extension for DSNs 527 The existing draft standard Delivery status notifications 528 (DSNs)[RFC3461] is presently limited to US-ASCII text in the machine 529 readable portions of the protocol. "International Delivery and 530 Disposition Notifications" [EAI-dsn] adds a new address type for 531 international email addresses so an original recipient address with 532 non-US-ASCII characters can be correctly preserved even after 533 downgrading. If an SMTP server advertises both the UTF8SMTP and the 534 DSN extension, that server MUST implement EAI-dsn [EAI-dsn] including 535 support for the ORCPT parameter. 537 3. Potential problems 539 3.1. Impact to IRI 541 The mailto: schema in IRI [RFC3987] MAY need to be modified when EAI 542 is standardized. 544 3.2. Impact to RFC 2476 and many email related RFC 546 The EAI protocols will impact on many email related RFC documents 547 such as Message Submission [RFC2476]. These protocols SHOULD be 548 considered when implementing the EAI protocol. 550 4. Implementation Advice 552 In the absence of this extension, SMTP clients and servers are 553 constrained to using only those addresses permitted by RFC 2821. The 554 local parts of those addresses MAY be made up of any ASCII 555 characters, although some of them MUST be quoted as specified there. 556 It is notable in an internationalization context that there is a long 557 history on some systems of using overstruck ASCII characters (a 558 character, a backspace, and another character) within a quoted string 559 to approximate non-ASCII characters. This form of 560 internationalization SHOULD be phased out as this extension becomes 561 widely deployed but backward-compatibility considerations require 562 that it continue to be supported. 564 5. IANA Considerations 566 IANA is requested to add "UTF8SMTP" to the SMTP extensions registry 567 with the entry pointing to this specification for its definition. 569 The "Mail Transmission Types" registry is requested to be updated to 570 include the following new entries: 572 WITH protocol types Description Reference 573 ------------------- ---------------------------- --------- 574 UTF8SMTP UTF8SMTP with Service Extensions [RFCxxxx] 575 UTF8SMTPA UTF8SMTP with SMTP AUTH [RFCxxxx] 576 UTF8SMTPS UTF8SMTP with STARTTLS [RFCxxxx] 577 UTF8SMTPSA UTF8SMTP with both STARTTLS and [RFCxxxx] 578 SMTP AUTH 580 6. Security considerations 582 See the extended security considerations discussion in [EAI-overview] 584 7. Acknowledgements 586 Much of the text in the initial version of this document was derived 587 or copied from [Klensin-emailaddr] with the permission of the author. 588 Significant comments and suggestions were received from Xiaodong LEE, 589 Nai-Wen Hsu, Yangwoo KO, Yoshiro YONEYA, and other members of the JET 590 team and were incorporated into the document. Special thanks to 591 those contributors for this version of document, those includes (but 592 not limited to) John C Klensin, Charles Lindsey, Dave Crocker, Harald 593 Tveit Alvestrand, Marcos Sanz, Chris Newman, Martin Duerst, Edmon 594 Chung, Tony Finch, Kari Hurtta, Randall Gellens. 596 8. Change History 598 [[anchor21: REMOVE THIS: This section is used for tracking the update 599 of this document. It may be useful to retain parts of it to 600 facilitate establishing dates and documents for the history of this 601 work.]] 603 8.1. draft-ietf-eai-smtpext: Version 00 605 This version supercedes draft-yao-ima-smtpext-03.txt. It refines the 606 ABNF definiton of the internationalized email address. It represents 607 as the EAI working group document. 609 8.2. draft-ietf-eai-smtpext: Version 01 610 o Upgraded to reflect discussions during IETF 66. 611 o Remove the atomic parameter. 612 o Add the new section of "the Suggestion of the value of the ALT- 613 ADDRESS parameter". 615 8.3. draft-ietf-eai-smtpext: Version 02 617 o Upgraded to reflect the recent discussion of the ima@ietf.org 618 mailing list. 619 o Add the section of "Body Parts and SMTP Extensions". 620 o Add the new section of "Change History". 621 o Add the subsection about SMTP extensions for DSN. 623 8.4. draft-ietf-eai-smtpext: Version 03 625 o Update the syntax related to mailbox. 626 o Update the trace field section. 627 o Add the new section about message retry. 628 o Update the subsection about SMTP extensions for DSN. 630 9. References 632 9.1. Normative References 634 [ASCII] Cerf, V., "ASCII format for network interchange", RFC 20, 635 October 1969. 637 [EAI-downgrading] 638 YONEYA, Y., Ed. and K. Fujiwara, Ed., "Downgrading 639 mechanism for Internationalized eMail Address (IMA)", 640 draft-ietf-eai-downgrade-02 (work in progress), 641 August 2006. 643 [EAI-dsn] Newman, C., "SMTP extensions for DSNs", 644 draft-ietf-eai-dsn-00.txt (work in progress), 1 2007. 646 [EAI-imap] 647 Resnick, P. and C. Newman, "Considerations for IMAP in 648 Conjunction with Email Address Internationalization", 649 draft-ietf-eai-imap-utf8-00 (work in progress), May 2006. 651 [EAI-mailing list] 652 Gellens, R. and E. Chung, "Mailing Lists and 653 Internationalized Email Addresses", 654 draft-ietf-eai-mailinglist-01.txt (work in progress), 655 January 2007. 657 [EAI-overview] 658 Klensin, J. and Y. Ko, "Overview and Framework for 659 Internationalized Email", draft-ietf-eai-framework-04.txt 660 (work in progress), 12 2006. 662 [EAI-pop] Newman, C., "POP3 Support for UTF-8", 663 draft-ietf-eai-pop-01.txt (work in progress), 664 January 2007. 666 [EAI-utf8header] 667 Yeh, J., "Transmission of Email Headers in UTF-8 668 Encoding", draft-ietf-eai-utf8headers-01.txt (work in 669 progress), August 2006. 671 [RFC1652] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D. 672 Crocker, "SMTP Service Extension for 8bit-MIMEtransport", 673 RFC 1652, July 1994. 675 [RFC1869] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D. 676 Crocker, "SMTP Service Extensions", STD 10, RFC 1869, 677 November 1995. 679 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 680 Requirement Levels", BCP 14, RFC 2119, March 1997. 682 [RFC2449] Gellens, R., Newman, C., and L. Lundblade, "POP3 Extension 683 Mechanism", RFC 2449, November 1998. 685 [RFC2476] Gellens, R. and J. Klensin, "Message Submission", 686 RFC 2476, December 1998. 688 [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, 689 April 2001. 691 [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, 692 April 2001. 694 [RFC3030] Vaudreuil, G., "SMTP Service Extensions for Transmission 695 of Large and Binary MIME Messages", RFC 3030, 696 December 2000. 698 [RFC3454] Hoffman, P. and M. Blanchet, "Preparation of 699 Internationalized Strings ("stringprep")", RFC 3454, 700 December 2002. 702 [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service 703 Extension for Delivery Status Notifications (DSNs)", 704 RFC 3461, January 2003. 706 [RFC3463] Vaudreuil, G., "Enhanced Mail System Status Codes", 707 RFC 3463, January 2003. 709 [RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, 710 "Internationalizing Domain Names in Applications (IDNA)", 711 RFC 3490, March 2003. 713 [RFC3492] Costello, A., "Punycode: A Bootstring encoding of Unicode 714 for Internationalized Domain Names in Applications 715 (IDNA)", RFC 3492, March 2003. 717 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 718 4rev1", RFC 3501, March 2003. 720 [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 721 10646", RFC 3629, November 2003. 723 [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource 724 Identifiers (IRIs)", RFC 3987, January 2005. 726 [RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 727 Specifications: ABNF", RFC 4234, October 2005. 729 9.2. Informative References 731 [Klensin-emailaddr] 732 Klensin, J., "Internationalization of Email Addresses", 733 draft-klensin-emailaddr-i18n-03 (work in progress), 734 July 2005. 736 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 737 Extensions (MIME) Part One: Format of Internet Message 738 Bodies", RFC 2045, November 1996. 740 Authors' Addresses 742 Jiankang YAO (editor) 743 CNNIC 744 No.4 South 4th Street, Zhongguancun 745 Beijing 747 Phone: +86 10 58813007 748 Email: yaojk@cnnic.cn 749 Wei MAO (editor) 750 CNNIC 751 No.4 South 4th Street, Zhongguancun 752 Beijing 754 Phone: +86 10 58813055 755 Email: mao@cnnic.cn 757 Full Copyright Statement 759 Copyright (C) The IETF Trust (2007). 761 This document is subject to the rights, licenses and restrictions 762 contained in BCP 78, and except as set forth therein, the authors 763 retain all their rights. 765 This document and the information contained herein are provided on an 766 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 767 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 768 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 769 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 770 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 771 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 773 Intellectual Property 775 The IETF takes no position regarding the validity or scope of any 776 Intellectual Property Rights or other rights that might be claimed to 777 pertain to the implementation or use of the technology described in 778 this document or the extent to which any license under such rights 779 might or might not be available; nor does it represent that it has 780 made any independent effort to identify any such rights. Information 781 on the procedures with respect to rights in RFC documents can be 782 found in BCP 78 and BCP 79. 784 Copies of IPR disclosures made to the IETF Secretariat and any 785 assurances of licenses to be made available, or the result of an 786 attempt made to obtain a general license or permission for the use of 787 such proprietary rights by implementers or users of this 788 specification can be obtained from the IETF on-line IPR repository at 789 http://www.ietf.org/ipr. 791 The IETF invites any interested party to bring to its attention any 792 copyrights, patents or patent applications, or other proprietary 793 rights that may cover technology that may be required to implement 794 this standard. Please address the information to the IETF at 795 ietf-ipr@ietf.org. 797 Acknowledgment 799 Funding for the RFC Editor function is provided by the IETF 800 Administrative Support Activity (IASA).