draft-ietf-eai-rfc5335bis-09.txt   draft-ietf-eai-rfc5335bis-10.txt 
Email Address Internationalization Y. Abel Email Address Internationalization Y. Abel
(EAI) TWNIC (EAI) TWNIC
Internet-Draft S. Steele Internet-Draft S. Steele
Obsoletes: 5335 (if approved) Microsoft Obsoletes: 5335 (if approved) Microsoft
Updates: 2045,5321,5322 March 2, 2011 Updates: 2045,5321,5322 March 15, 2011
(if approved) (if approved)
Intended status: Standards Track Intended status: Standards Track
Expires: September 3, 2011 Expires: September 16, 2011
Internationalized Email Headers Internationalized Email Headers
draft-ietf-eai-rfc5335bis-09 draft-ietf-eai-rfc5335bis-09
Abstract Abstract
Full internationalization of electronic mail requires not only the Internet mail was originally limited to 7-bit ASCII. Recent
capabilities to transmit non-ASCII content, to encode selected enhancements support Unicode's UTF-8 encoding in portions of a
information in specific header fields, and to use non-ASCII message. Full internationalization of electronic mail requires
characters in envelope addresses. It also requires being able to additional enhancement, including support for UTF-8 in user-oriented
express those addresses and the information based on them in mail header fields, such as in the To, From, and Subject fields. This
header fields. This document specifies a variant of Internet mail document specifies an enhancement to Internet mail that permits
that permits the use of Unicode encoded in UTF-8, rather than ASCII, native UTF-8 support in the header and body of a message.
as the base form for Internet email header field. This form is
permitted in transmission only if authorized by an SMTP extension, as
specified in an associated specification. This specification updates
Section 6.4 of [RFC2045] to conform with the requirements.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 3, 2011. This Internet-Draft will expire on September 16, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Role of This Specification . . . . . . . . . . . . . . . . 3 1.1. Brief Overview of Changes . . . . . . . . . . . . . . . . 3
1.2. Relation to Other Standards . . . . . . . . . . . . . . . 3 2. Relation to Other Standards . . . . . . . . . . . . . . . . . 3
2. Background and History . . . . . . . . . . . . . . . . . . . . 3 3. Background and History . . . . . . . . . . . . . . . . . . . . 4
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Changes on Message Header Fields . . . . . . . . . . . . . . . 5 5. Changes on Message Header Fields . . . . . . . . . . . . . . . 5
4.1. UTF-8 Syntax and Normalization . . . . . . . . . . . . . . 5 5.1. UTF-8 Syntax and Normalization . . . . . . . . . . . . . . 5
4.2. Changes on MIME Headers . . . . . . . . . . . . . . . . . 5 5.2. Changes on MIME Headers . . . . . . . . . . . . . . . . . 6
4.3. Syntax Extensions to RFC 5322 . . . . . . . . . . . . . . 6 5.3. Syntax Extensions to RFC 5322 . . . . . . . . . . . . . . 6
4.4. Change on addr-spec Syntax . . . . . . . . . . . . . . . . 8 5.4. Change on addr-spec Syntax . . . . . . . . . . . . . . . . 8
4.5. Trace Field Syntax . . . . . . . . . . . . . . . . . . . . 9 5.5. Trace Field Syntax . . . . . . . . . . . . . . . . . . . . 9
4.6. message/global . . . . . . . . . . . . . . . . . . . . . . 9 5.6. message/global . . . . . . . . . . . . . . . . . . . . . . 9
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
8. Edit history . . . . . . . . . . . . . . . . . . . . . . . . . 12 9. Edit history . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1. draft-ietf-eai-rfc5335bis-00 . . . . . . . . . . . . . . . 12 9.1. draft-ietf-eai-rfc5335bis-00 . . . . . . . . . . . . . . . 12
8.2. draft-ietf-eai-rfc5335bis-01 . . . . . . . . . . . . . . . 12 9.2. draft-ietf-eai-rfc5335bis-01 . . . . . . . . . . . . . . . 12
8.3. draft-ietf-eai-rfc5335bis-02 . . . . . . . . . . . . . . . 12 9.3. draft-ietf-eai-rfc5335bis-02 . . . . . . . . . . . . . . . 12
8.4. draft-ietf-eai-rfc5335bis-03 . . . . . . . . . . . . . . . 12 9.4. draft-ietf-eai-rfc5335bis-03 . . . . . . . . . . . . . . . 13
8.5. draft-ietf-eai-rfc5335bis-04 . . . . . . . . . . . . . . . 12 9.5. draft-ietf-eai-rfc5335bis-04 . . . . . . . . . . . . . . . 13
8.6. draft-ietf-eai-rfc5335bis-05 . . . . . . . . . . . . . . . 12 9.6. draft-ietf-eai-rfc5335bis-05 . . . . . . . . . . . . . . . 13
8.7. draft-ietf-eai-rfc5335bis-06 . . . . . . . . . . . . . . . 13 9.7. draft-ietf-eai-rfc5335bis-06 . . . . . . . . . . . . . . . 13
8.8. draft-ietf-eai-rfc5335bis-07 . . . . . . . . . . . . . . . 13 9.8. draft-ietf-eai-rfc5335bis-07 . . . . . . . . . . . . . . . 13
8.9. draft-ietf-eai-rfc5335bis-09 . . . . . . . . . . . . . . . 13 9.9. draft-ietf-eai-rfc5335bis-09 . . . . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9.10. draft-ietf-eai-rfc5335bis-10 . . . . . . . . . . . . . . . 13
9.1. Normative References . . . . . . . . . . . . . . . . . . . 13 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.2. Informative References . . . . . . . . . . . . . . . . . . 14 10.1. Normative References . . . . . . . . . . . . . . . . . . . 13
10.2. Informative References . . . . . . . . . . . . . . . . . . 15
Appendix A. Changes to support UTF-8 . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
1.1. Role of This Specification Internet mail distinguishes a message from its transport and further
divides a message between a header and a body [RFC5598]. Internet
mail header fields contain a variety of strings that are intended to
be user-visible. The range of supported characters for these strings
was originally limited to a subset of [ASCII]; globalization of the
Internet requires support of the much larger set contained in UTF-8
[RFC5198]. Complex encoding alternatives to UTF-8, as an overlay to
the existing ASCII base, would introduce inefficiencies as well as
opportunities for processing errors. Native support for UTF-8
encoding [RFC3629]. is widely available among systems now used over
the Internet. Hence supporting this encoding directly within email
is desired. This document specifies an enhancement to Internet mail
that permits the use of UTF-8 encoding, rather than only ASCII, as
the base form for header fields.
Full internationalization of electronic mail requires several This specification is based on a model of native, end-to-end support
capabilities: for UTF-8, which uses an "8-bit clean" environment . Support for
carriage across legacy, 7-bit infrastructure and for processing by
7-bit receivers requires additional mechanisms that are not provided
by this specification.
o The capability to transmit non-ASCII content, provided for as part 1.1. Brief Overview of Changes
of the basic MIME specification [RFC2045], [RFC2046].
o The capability to use international characters in envelope This document updates email header [RFC5322] and MIME header
addresses, discussed in [I-D.ietf-eai-frmwrk-4952bis] and [RFC2045]. Email header value extends beyond ASCII, allowing UTF-8
specified in [I-D.ietf-eai-rfc5336bis]. encoding. MIME header lifts the prohibition against using content-
transfer-encoding on all subtypes under composite-type "message/".
Appendix A documents the derived ABNF rules that inherit support
UTF-8, due to the update of ABNF introduces from this document.
o The capability to express those addresses, and information related [Editor notes will be removed before Last Call]
to them and based on them, in mail header fields, defined in this
document.
This document specifies a variant of Internet mail that permits the [Editor Note 1: This revision (-08 and up) changed the ABNF approach
use of Unicode encoded in UTF-8 [RFC3629], rather than ASCII, as the compared to previous revision (-07 and before). ]
base form for Internet email header fields. This form is permitted
in transmission, if authorized by the SMTP extension specified in
[I-D.ietf-eai-rfc5336bis] or by other transport mechanisms capable of
processing it.
1.2. Relation to Other Standards [Editor Note 2: pending -- ABF to support IDN]
[Editor Note 3: Discuss with WG whether some fields, like Trace
header, have issues if UTF-8 encoding allowed in values]
2. Relation to Other Standards
This document updates Section 6.4 of [RFC2045]. It removes the This document updates Section 6.4 of [RFC2045]. It removes the
blanket ban on applying a content-transfer-encoding to all subtypes blanket ban on applying a content-transfer-encoding to all subtypes
of message/ and instead specifies that a composite subtype MAY of message/ and instead specifies that a composite subtype MAY
specify whether or not a content-transfer-encoding can be used for specify whether or not a content-transfer-encoding can be used for
that subtype, with "cannot be used" as the default. that subtype, with "cannot be used" as the default.
This document also updates Section 3.4 of [RFC5322]. It Extended This document also updates Section 3.4 of [RFC5322]. It Extended
mailbox address syntax to permit UTF-8 character in Section 4.3. mailbox address syntax to permit UTF-8 character in Section 5.3.
Allowing use of a content-transfer-encoding on subtypes of messages Allowing use of a content-transfer-encoding on subtypes of messages
is not limited to transmissions that are authorized by the SMTP is not limited to transmissions that are authorized by the SMTP
extension specified in [I-D.ietf-eai-rfc5336bis]. message/global (see extension specified in [I-D.ietf-eai-rfc5336bis]. message/global (see
Section 4.6) permits use of a content-transfer-encoding. Section 5.6) of this document permits use of a content-transfer-
encoding.
2. Background and History 3. Background and History
Mailbox names often represent the names of human users. Many of Mailbox names often represent the names of human users. Many of
these users throughout the world have names that are not normally these users throughout the world have names that are not normally
expressed with just the ASCII repertoire of characters, and would expressed with just the ASCII repertoire of characters, and would
like to use more or less their real names in their mailbox names. like to use more or less their real names in their mailbox names.
These users are also likely to use non-ASCII text in their display These users are also likely to use non-ASCII text in their display
names and subjects of email messages, both received and sent. This names and subjects of email messages, both received and sent. This
protocol specifies UTF-8 as the encoding to represent email header protocol specifies UTF-8 as the encoding to represent email header
field bodies. field bodies.
skipping to change at page 4, line 34 skipping to change at page 5, line 4
header fields to systems that cannot handle such messages. header fields to systems that cannot handle such messages.
Use of this SMTP extension helps prevent the introduction of such Use of this SMTP extension helps prevent the introduction of such
messages into message stores that might misinterpret, improperly messages into message stores that might misinterpret, improperly
display, or mangle such messages. It should be noted that using an display, or mangle such messages. It should be noted that using an
ESMTP extension does not prevent transferring email messages with ESMTP extension does not prevent transferring email messages with
UTF-8 header fields to other systems that use the email format for UTF-8 header fields to other systems that use the email format for
messages and that may not be upgraded, such as unextended POP and messages and that may not be upgraded, such as unextended POP and
IMAP servers. Changes to these protocols to handle UTF-8 header IMAP servers. Changes to these protocols to handle UTF-8 header
fields are addressed in [I-D.ietf-eai-rfc5721bis] and fields are addressed in [I-D.ietf-eai-rfc5721bis] and
[I-D.ietf-eai-5378bis]. [I-D.ietf-eai-5378bis].
The objective for this protocol is to allow UTF-8 in email header The objective for this protocol is to allow UTF-8 in email header
fields. fields.
3. Terminology 4. Terminology
A plain ASCII string is full compatible with [RFC5321] and [RFC5322]. A plain ASCII string is fully compatible with [RFC5321] and
In this document, non-ASCII strings are UTF-8 strings if they are in [RFC5322]. In this document, non-ASCII strings are UTF-8 strings if
header which contain at least one <UTF8-non-ascii>. they are in header which contain at least one <UTF8-non-ascii>.
Unless otherwise noted, all terms used here are defined in [RFC5321], Unless otherwise noted, all terms used here are defined in [RFC5321],
[RFC5322], [I-D.ietf-eai-frmwrk-4952bis], or [RFC5322], [I-D.ietf-eai-frmwrk-4952bis], or
[I-D.ietf-eai-rfc5336bis]. [I-D.ietf-eai-rfc5336bis].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
4. Changes on Message Header Fields 5. Changes on Message Header Fields
SMTP clients can send header fields in UTF-8 format, if the UTF8SMTP SMTP clients can send header fields in UTF-8 format, if the UTF8SMTP
extension is advertised by the SMTP server or is permitted by other extension is advertised by the SMTP server or is permitted by other
transport mechanisms. transport mechanisms.
This protocol does NOT change the [RFC5322] rules for defining header This protocol does NOT change the [RFC5322] rules for defining header
field names. The bodies of header fields are allowed to contain field names. The bodies of header fields are allowed to contain
UTF-8 characters, but the header field names themselves must contain UTF-8 characters, but the header field names themselves must contain
only ASCII characters. only ASCII characters.
To permit UTF-8 characters in field values, the header definition in To permit UTF-8 characters in field values, the header definition in
[RFC5322] is extended to support the new format. The following ABNF [RFC5322] is extended to support the new format. The following ABNF
is defined to substitute those definitions in [RFC5322]. is defined to substitute those definitions in [RFC5322].
The syntax rules not covered in this section remain as defined in The syntax rules not covered in this section remain as defined in
[RFC5322]. [RFC5322].
4.1. UTF-8 Syntax and Normalization 5.1. UTF-8 Syntax and Normalization
UTF-8 characters can be defined in terms of octets using the UTF-8 characters can be defined in terms of octets using the
following ABNF [RFC5234], taken from [RFC3629]: following ABNF [RFC5234], taken from [RFC3629]:
UTF8-non-ascii = UTF8-2 / UTF8-3 / UTF8-4 UTF8-non-ascii = UTF8-2 / UTF8-3 / UTF8-4
UTF8-2 = <See Section 4 of RFC3629> UTF8-2 = <Defined in Section 4 of RFC3629>
UTF8-3 = <See Section 4 of RFC3629>
UTF8-4 = <See Section 4 of RFC3629> UTF8-3 = <Defined in Section 4 of RFC3629>
UTF8-4 = <Defined in Section 4 of RFC3629>
See [RFC5198] for a discussion of normalization; the use of See [RFC5198] for a discussion of normalization; the use of
normalization form [NFC] is RECOMMENDED. Actually, if one is going normalization form [NFC] is RECOMMENDED. Actually, if one is going
to do internationalization properly, one of the most often-cited to do internationalization properly, one of the most often-cited
goals is to permit people to spell their names correctly. Since many goals is to permit people to spell their names correctly. Since many
mailbox local parts reflect personal names, that principle applies as mailbox local parts reflect personal names, that principle applies as
well. And NFKC is not recommended because it may lose information well. And NFKC is not recommended because it may lose information
that is needed to correctly spell some names in unusual that is needed to correctly spell some names in unusual
circumstances. circumstances.
4.2. Changes on MIME Headers 5.2. Changes on MIME Headers
This specification updates Section 6.4 of [RFC2045]. [RFC2045] This specification updates Section 6.4 of [RFC2045]. [RFC2045]
prohibits applying a content-transfer-encoding to any subtypes of prohibits applying a content-transfer-encoding to any subtypes of
"message/". This specification relaxes the rule -- it allows newly "message/". This specification relaxes the rule -- it allows newly
defined MIME types to permit content-transfer-encoding, and it allows defined MIME types to permit content-transfer-encoding, and it allows
content-transfer-encoding for message/global (see Section 4.6). content-transfer-encoding for message/global (see Section 5.6).
Background: Normally, transfer of message/global will be done in Background: Normally, transfer of message/global will be done in
8-bit-clean channels, and body parts will have "identity" encodings, 8-bit-clean channels, and body parts will have "identity" encodings,
that is, no decoding is necessary. In the case where a message that is, no decoding is necessary. In the case where a message
containing a message/global is downgraded from 8-bit to 7-bit as containing a message/global is downgraded from 8-bit to 7-bit as
described in [RFC1652], an encoding may be applied to the message; if described in [RFC1652], an encoding may be applied to the message; if
the message travels multiple times between a 7-bit environment and an the message travels multiple times between a 7-bit environment and an
environment implementing UTF8SMTP, multiple levels of encoding may environment implementing UTF8SMTP, multiple levels of encoding may
occur. This is expected to be rarely seen in practice, and the occur. This is expected to be rarely seen in practice, and the
potential complexity of other ways of dealing with the issue are potential complexity of other ways of dealing with the issue are
thought to be larger than the complexity of allowing nested encodings thought to be larger than the complexity of allowing nested encodings
where necessary. where necessary.
4.3. Syntax Extensions to RFC 5322 5.3. Syntax Extensions to RFC 5322
The following rules are intended to extend the corresponding rules in The following rules are intended to extend the corresponding rules in
[RFC5322] in order to allow UTF-8 characters. [RFC5322] in order to allow UTF-8 characters.
FWS = <see Section 3.2.2 of RFC 5322> FWS = <Defined in Section 3.2.2 of RFC 5322>
CFWS = <see Section 3.2.2 of RFC 5322> CFWS = <Defined in Section 3.2.2 of RFC 5322>
ctext =/ UTF8-non-ascii ctext =/ UTF8-non-ascii
; Extending ctext in RFC 5322, Section 3.2.2 ; Extending ctext in RFC 5322, Section 3.2.2
comment = "(" *([FWS] uCcontent) [FWS] ")" comment = "(" *([FWS] uCcontent) [FWS] ")"
word = uAtom / uQuoted-String word = uAtom / uQuoted-String
This means that all the [RFC5322] constructs that build upon these This means that all the [RFC5322] constructs that build upon these
will permit UTF-8 characters, including comments and quoted strings. will permit UTF-8 characters, including comments and quoted strings.
We do not change the syntax of <atext> in order to allow UTF-8 We do not change the syntax of <atext> in order to allow UTF-8
characters in <addr-spec>. This would also allow UTF-8 characters in characters in <addr-spec>. This would also allow UTF-8 characters in
<message-id>, which is not allowed due to the limitation described in <message-id>, which is not allowed due to the limitation described in
Section 4.5. Instead, <uAtext> is added to meet this requirement. Section 5.5. Instead, <uAtext> is added to meet this requirement.
uText = %d1-9 / ; all UTF-8 characters except uText = %d1-9 / ; all UTF-8 characters except
%d11-12 / ; US-ASCII NUL, CR, and LF %d11-12 / ; US-ASCII NUL, CR, and LF
%d14-127 / %d14-127 /
UTF8-non-ascii UTF8-non-ascii
uQuoted-Pair = ("\" (VCHAR / WSP / UTF8-non-ascii )) / obs-qp uQuoted-Pair = ("\" (VCHAR / WSP / UTF8-non-ascii )) / obs-qp
VCHAR = <See appendix B.1 of RFC 5234> VCHAR = <Defined in appendix B.1 of RFC 5234>
WSP = <See appendix B.1 of RFC 5234> WSP = <Defined in appendix B.1 of RFC 5234>
obs-qp = <See Section 4.1 of RFC 5322> obs-qp = <Defined in Section 4.1 of RFC 5322>
uQcontent = uQtext / uQuoted-Pair uQcontent = uQtext / uQuoted-Pair
DQUOTE = <See appendix B.1 of RFC 5234> DQUOTE = <Defined in appendix B.1 of RFC 5234>
uCcontent = ctext / uQuoted-Pair / comment uCcontent = ctext / uQuoted-Pair / comment
uQtext = qtext / UTF8-non-ascii uQtext = qtext / UTF8-non-ascii
uAtext = ALPHA / DIGIT / uAtext = ALPHA / DIGIT /
"!" / "#" / ; Any character except "!" / "#" / ; Any character except
"$" / "%" / ; controls, SP, and specials. "$" / "%" / ; controls, SP, and specials.
"&" / "'" / ; Used for atoms. "&" / "'" / ; Used for atoms.
"*" / "+" / "*" / "+" /
skipping to change at page 8, line 14 skipping to change at page 8, line 19
The <uText> syntax is extended above to allow UTF-8 in all The <uText> syntax is extended above to allow UTF-8 in all
<description> header fields. <description> header fields.
Note, however, this does not remove any constraint on the character Note, however, this does not remove any constraint on the character
set of protocol elements; for instance, all the allowed values for set of protocol elements; for instance, all the allowed values for
timezone in the "Date:" header fields are still expressed in ASCII. timezone in the "Date:" header fields are still expressed in ASCII.
And also, none of this revised syntax changes what is allowed in a And also, none of this revised syntax changes what is allowed in a
<msg-id>, which will still remain in pure ASCII. <msg-id>, which will still remain in pure ASCII.
4.4. Change on addr-spec Syntax 5.4. Change on addr-spec Syntax
Internationalized email addresses are represented in UTF-8. Thus, Internationalized email addresses are represented in UTF-8. Thus,
all header fields containing <mailbox>es are updated from [RFC5321] all header fields containing <mailbox>es are updated from [RFC5321]
Section 4.1.2 to permit UTF-8 addresses. Section 4.1.2 to permit UTF-8 addresses.
mailbox = name-addr / addr-spec / uAddr-Spec mailbox = name-addr / addr-spec / uAddr-Spec
; Replace mailbox in RFC 5322, Section 3.4 ; Replace mailbox in RFC 5322, Section 3.4
angle-addr =/ [CFWS] "<" uAddr-Spec ">" [CFWS] angle-addr =/ [CFWS] "<" uAddr-Spec ">" [CFWS]
; Extending angle-addr in RFC 5322, Section 3.4 ; Extending angle-addr in RFC 5322, Section 3.4
uAddr-Spec = uLocal-Part "@" uDomain uAddr-Spec = uLocal-Part "@" uDomain
uLocal-Part = uDot-Atom / uQuoted-String / obs-local-part uLocal-Part = uDot-Atom / uQuoted-String / obs-local-part
; Replace Local-Part in RFC 5322, Section 3.4.1 ; Replace Local-Part in RFC 5322, Section 3.4.1
uQuoted-String = [CFWS] DQUOTE *([FWS] uQcontent) [FWS] DQUOTE [CFWS] uQuoted-String = [CFWS] DQUOTE *([FWS] uQcontent) [FWS] DQUOTE [CFWS]
obs-local-part = <See Section 4.4 of RFC 5322> obs-local-part = <Defined in Section 4.4 of RFC 5322>
uDomain = uDot-Atom / domain-literal / obs-domain uDomain = uDot-Atom / domain-literal / obs-domain
domain-literal = <See Section 3.4.1 of RFC 5322> domain-literal = <Defined in Section 3.4.1 of RFC 5322>
Below are a few examples of possible <mailbox> representations. Below are a few examples of possible <mailbox> representations.
"DISPLAY_NAME" <ASCII@ASCII> "DISPLAY_NAME" <ASCII@ASCII>
; traditional mailbox format ; traditional mailbox format
"DISPLAY_NAME" <non-ASCII@non-ASCII> "DISPLAY_NAME" <non-ASCII@non-ASCII>
; message will be rejected if UTF8SMTP extension is not supported ; message will be rejected if UTF8SMTP extension is not supported
<non-ASCII@non-ASCII> <non-ASCII@non-ASCII>
; without DISPLAY_NAME and quoted string ; without DISPLAY_NAME and quoted string
; message will be rejected if UTF8SMTP extension is not supported ; message will be rejected if UTF8SMTP extension is not supported
4.5. Trace Field Syntax 5.5. Trace Field Syntax
The 'uFor' clause in "Received:" fields has been allowed the use of The 'uFor' clause in "Received:" fields has been allowed the use of
internationalized addresses in "For" fields. It described in internationalized addresses in "For" fields. It is described in
[I-D.ietf-eai-rfc5336bis], Section 3.6.3. [I-D.ietf-eai-rfc5336bis], Section 3.6.3.
The "Return-path" designates the address to which messages indicating The "Return-path" designates the address to which messages indicating
non-delivery or other mail system failures are to be sent. Thus, the non-delivery or other mail system failures are to be sent. Thus, the
header is augmented to carry UTF-8 addresses (see the revised syntax header is augmented to carry UTF-8 addresses (see the revised syntax
of <angle-addr> in Section 4.4 of this document). This will not of <angle-addr> in Section 5.4 of this document). This will not
break the rule of trace field integrity, because the header field is break the rule of trace field integrity, because the header field is
added at the last MTA and described in [RFC5321]. added at the last MTA and described in [RFC5321].
The <received-token> on "Received:" field ( described in Section The <received-token> on "Received:" field ( described in Section
3.6.7 of [RFC5322]) syntax is augmented to allow UTF-8 email address 3.6.7 of [RFC5322]) syntax is augmented to allow UTF-8 email address
in the "For" field. <angle-addr> is augmented to include UTF-8 email in the "For" field. <angle-addr> is augmented to include UTF-8 email
address. In order to allow UTF-8 email addresses in an <addr-spec>, address. In order to allow UTF-8 email addresses in an <addr-spec>,
<uAddr-Spec> is added to <received-token>. <uAddr-Spec> is added to <received-token>.
received-token =/ uAddr-Spec received-token =/ uAddr-Spec
4.6. message/global 5.6. message/global
Internationalized messages MUST only be transmitted as authorized by Internationalized messages MUST only be transmitted as authorized by
[I-D.ietf-eai-rfc5336bis] or within a non-SMTP environment which [I-D.ietf-eai-rfc5336bis] or within a non-SMTP environment that
supports these messages. A message is a "message/global message", if supports these messages. A message is a "message/global message", if
o it contains UTF-8 header values as specified in this document, or o it contains UTF-8 header values as specified in this document, or
o it contains UTF-8 values in the headers fields of body parts. o it contains UTF-8 values in the headers fields of body parts.
The type message/global is similar to message/rfc822, except that it The type message/global is similar to message/rfc822, except that it
specifies that a message can contain UTF-8 characters in the headers specifies that a message can contain UTF-8 characters in the headers
of the message or body parts. If this type is sent to a 7-bit-only of the message or body parts. If this type is sent to a 7-bit-only
system, it has to be encoded in MIME [RFC2045]. (Note that a system system, it has to be encoded in MIME [RFC2045]. (Note that a system
skipping to change at page 10, line 4 skipping to change at page 10, line 12
system, it has to be encoded in MIME [RFC2045]. (Note that a system system, it has to be encoded in MIME [RFC2045]. (Note that a system
compliant with MIME that doesn't recognize message/global SHOULD compliant with MIME that doesn't recognize message/global SHOULD
treat it as "application/octet-stream" as described in Section 5.2.4 treat it as "application/octet-stream" as described in Section 5.2.4
of [RFC2046].) of [RFC2046].)
Type name: message Type name: message
Subtype name: global Subtype name: global
Required parameters: none Required parameters: none
Optional parameters: none Optional parameters: none
Encoding considerations: Any content-transfer-encoding is permitted. Encoding considerations: Any content-transfer-encoding is permitted.
The 8-bit or binary content-transfer-encodings are recommended The 8-bit or binary content-transfer-encodings are recommended
where permitted. where permitted.
Security considerations: See Section 5. Security considerations: See Section 6.
Interoperability considerations: The media type provides Interoperability considerations: The media type provides
functionality similar to the message/rfc822 content type for email functionality similar to the message/rfc822 content type for email
messages with international email headers. When there is a need messages with international email headers. When there is a need
to embed or return such content in another message, there is to embed or return such content in another message, there is
generally an option to use this media type and leave the content generally an option to use this media type and leave the content
unchanged or down-convert the content to message/rfc822. Both of unchanged or down-convert the content to message/rfc822. Both of
these choices will interoperate with the installed base, but with these choices will interoperate with the installed base, but with
different properties. Systems unaware of internationalized different properties. Systems unaware of internationalized
headers will typically treat a message/global body part as an headers will typically treat a message/global body part as an
unknown attachment, while they will understand the structure of a unknown attachment, while they will understand the structure of a
message/rfc822. However, systems that understand message/global message/rfc822. However, systems that understand message/global
will provide functionality superior to the result of a down- will provide functionality superior to the result of a down-
conversion to message/rfc822. The most interoperable choice conversion to message/rfc822. The most interoperable choice
depends on the deployed software. depends on the deployed software.
Published specification: RFC XXXX Published specification: RFC XXXX
Applications that use this media type: SMTP servers and email Applications that use this media type: SMTP servers and email
clients that support multipart/report generation or parsing. clients that support multipart/report generation or parsing.
Email clients which forward messages with international headers as Email clients that forward messages with international headers as
attachments. attachments.
Additional information: Additional information:
Magic number(s): none Magic number(s): none
File extension(s): The extension ".u8msg" is suggested. File extension(s): The extension ".u8msg" is suggested.
Macintosh file type code(s): A uniform type identifier (UTI) of Macintosh file type code(s): A uniform type identifier (UTI) of
"public.utf8-email-message" is suggested. This conforms to "public.utf8-email-message" is suggested. This conforms to
"public.message" and "public.composite-content", but does not "public.message" and "public.composite-content", but does not
necessarily conform to "public.utf8-plain-text". necessarily conform to "public.utf8-plain-text".
Person & email address to contact for further information: See the Person & email address to contact for further information: See the
Author's Address section of this document. Author's Address section of this document.
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: This is a structured media type which embeds
Restrictions on usage: This is a structured media type that embeds
other MIME media types. The 8-bit or binary content-transfer- other MIME media types. The 8-bit or binary content-transfer-
encoding SHOULD be used unless this media type is sent over a encoding SHOULD be used unless this media type is sent over a
7-bit-only transport. 7-bit-only transport.
Author: See the Author's Address section of this document. Author: See the Author's Address section of this document.
Change controller: IETF Standards Process Change controller: IETF Standards Process
5. Security Considerations 6. Security Considerations
If a user has a non-ASCII mailbox address and an ASCII mailbox If a user has a non-ASCII mailbox address and an ASCII mailbox
address, a digital certificate that identifies that user may have address, a digital certificate that identifies that user may have
both addresses in the identity. Having multiple email addresses as both addresses in the identity. Having multiple email addresses as
identities in a single certificate is already supported in PKIX identities in a single certificate is already supported in PKIX
(Public Key Infrastructure for X.509 Certificates) [RFC5280] and (Public Key Infrastructure for X.509 Certificates) [RFC5280] and
OpenPGP [RFC3156]. OpenPGP [RFC3156].
Because UTF-8 often requires several octets to encode a single Because UTF-8 often requires several octets to encode a single
character, internationalized local parts and header value may cause character, internationalized local parts and header value may cause
mail addresses to become longer. As specified in [RFC5322], each mail addresses to become longer. As specified in [RFC5322], each
line of characters MUST be no more 998 octets, excluding the CRLF. line of characters MUST be no more than 998 octets, excluding the
On the other hand, MDA (Mail Delivery Agent) processes that parse, CRLF. On the other hand, MDA (Mail Delivery Agent) processes that
store, or handle email addresses or local parts must take extra care parse, store, or handle email addresses or local parts must take
not to overflow buffers, truncate addresses, or exceed storage extra care not to overflow buffers, truncate addresses, or exceed
allotments. Also, they must take care, when comparing, to use the storage allotments. Also, they must take care, when comparing, to
entire lengths of the addresses. use the entire lengths of the addresses.
There are lots of ways of using UTF-8 to represent something
equivalent or similar to a particular displayed character or group of
characters, then filtering systems can be bypassed by using one of
the variants to avoid detection while still reaching the end user
with largely the same original effect. This normalization is
described in Section 5.1.
The security impact of UTF-8 headers on email signature systems such The security impact of UTF-8 headers on email signature systems such
as Domain Keys Identified Mail (DKIM), S/MIME, and OpenPGP is as Domain Keys Identified Mail (DKIM), S/MIME, and OpenPGP is
discussed in [I-D.ietf-eai-frmwrk-4952bis], Section 14. discussed in [I-D.ietf-eai-frmwrk-4952bis], Section 14.
6. IANA Considerations 7. IANA Considerations
IANA is requested to update the registration of the message/global IANA is requested to update the registration of the message/global
MIME type using the registration form contained in Section 4.6. MIME type using the registration form contained in Section 5.6.
7. Acknowledgements 8. Acknowledgements
This document incorporates many ideas first described in Internet- This document incorporates many ideas first described in Internet-
Draft form by Paul Hoffman, although many details have changed from Draft form by Paul Hoffman, although many details have changed from
that earlier work. that earlier work.
The author especially thanks Jeff Yeh for his efforts and The author especially thanks Jeff Yeh for his efforts and
contributions on editing previous versions. contributions on editing previous versions.
Most of the content of this document is provided by John C Klensin. Most of the content of this document is provided by John C Klensin.
Also, some significant comments and suggestions were received from Also, some significant comments and suggestions were received from
Charles H. Lindsey, Kari Hurtta, Pete Resnick, Alexey Melnikov, Chris Charles H. Lindsey, Kari Hurtta, Pete Resnick, Alexey Melnikov, Chris
Newman, Yangwoo Ko, Yoshiro Yoneya, and other members of the JET team Newman, Yangwoo Ko, Yoshiro Yoneya, and other members of the JET team
(Joint Engineering Team) and were incorporated into the document. (Joint Engineering Team) and were incorporated into the document.
The editor sincerely thanks them for their contributions. The editor sincerely thanks them for their contributions.
8. Edit history 9. Edit history
[[RFC Editor: please remove this section before publishing.]] [[RFC Editor: please remove this section before publishing.]]
8.1. draft-ietf-eai-rfc5335bis-00 9.1. draft-ietf-eai-rfc5335bis-00
1. Applied Errata suggested by Alfred Hoenes. 1. Applied Errata suggested by Alfred Hoenes.
2. Adjust [RFC2821] and [RFC2822] to [RFC5321] and [RFC5322]. 2. Adjust [RFC2821] and [RFC2822] to [RFC5321] and [RFC5322].
3. Abrogate <alt-address> in ABNF of <angle-addr>. 3. Abrogate <alt-address> in ABNF of <angle-addr>.
4. Revoke [RFC5504] from this document. 4. Revoke [RFC5504] from this document.
5. Upgrade some references from I-Ds to RFC. 5. Upgrade some references from I-Ds to RFC.
8.2. draft-ietf-eai-rfc5335bis-01 9.2. draft-ietf-eai-rfc5335bis-01
1. Author name revised. 1. Author name revised.
8.3. draft-ietf-eai-rfc5335bis-02 9.3. draft-ietf-eai-rfc5335bis-02
1. ABNF revised. 1. ABNF revised.
8.4. draft-ietf-eai-rfc5335bis-03 9.4. draft-ietf-eai-rfc5335bis-03
1. Fix typos 1. Fix typos
2. ABNF revised 2. ABNF revised
3. Improve sentence 3. Improve sentence
8.5. draft-ietf-eai-rfc5335bis-04 9.5. draft-ietf-eai-rfc5335bis-04
1. improve sentences and ABNF revised based on AD and Co-chairs 1. improve sentences and ABNF revised based on AD and Co-chairs
8.6. draft-ietf-eai-rfc5335bis-05 9.6. draft-ietf-eai-rfc5335bis-05
1. ABNF revised in Section 4.4 based on AD comments 1. ABNF revised in Section 5.4 based on AD comments
8.7. draft-ietf-eai-rfc5335bis-06 9.7. draft-ietf-eai-rfc5335bis-06
1. ABNF revised 1. ABNF revised
2. improve Section 6 2. improve Section 7
8.8. draft-ietf-eai-rfc5335bis-07 9.8. draft-ietf-eai-rfc5335bis-07
1. Minor ABNF revised in Section 4.3 1. Minor ABNF revised in Section 5.3
2. improve Section 6 2. improve Section 7
8.9. draft-ietf-eai-rfc5335bis-09 9.9. draft-ietf-eai-rfc5335bis-09
Version -08 was posted in error and withdrawn. Version 09 is is Version -08 was posted in error and withdrawn. Version 09 is is
identical to version 07 except for a date change, addition of this identical to version 07 except for a date change, addition of this
note, and some vertical spacing compression on this page. note, and some vertical spacing compression on this page.
9. References 9.10. draft-ietf-eai-rfc5335bis-10
9.1. Normative References 1. Add Appendix A and Section 1.1
2. Replace polls result in Abstract and Section 1
3. Minor Sentence modification
10. References
10.1. Normative References
[ASCII] "Coded Character Set -- 7-bit American
Standard Code for Information
Interchange", ANSI X3.4, 1986.
[I-D.ietf-eai-5378bis] Resnick, P., Newman, C., and S. Shen, [I-D.ietf-eai-5378bis] Resnick, P., Newman, C., and S. Shen,
"IMAP Support for UTF-8", "IMAP Support for UTF-8",
draft-ietf-eai-5378bis-00 (work in draft-ietf-eai-5378bis-00 (work in
progress), November 2010. progress), November 2010.
[I-D.ietf-eai-frmwrk-4952bis] Klensin, J. and Y. Ko, "Overview and [I-D.ietf-eai-frmwrk-4952bis] Klensin, J. and Y. Ko, "Overview and
Framework for Internationalized Framework for Internationalized
Email", Email",
draft-ietf-eai-frmwrk-4952bis-10 (work draft-ietf-eai-frmwrk-4952bis-10 (work
skipping to change at page 14, line 27 skipping to change at page 15, line 8
[RFC5234] Crocker, D. and P. Overell, "Augmented [RFC5234] Crocker, D. and P. Overell, "Augmented
BNF for Syntax Specifications: ABNF", BNF for Syntax Specifications: ABNF",
STD 68, RFC 5234, January 2008. STD 68, RFC 5234, January 2008.
[RFC5321] Klensin, J., "Simple Mail Transfer [RFC5321] Klensin, J., "Simple Mail Transfer
Protocol", RFC 5321, October 2008. Protocol", RFC 5321, October 2008.
[RFC5322] Resnick, P., Ed., "Internet Message [RFC5322] Resnick, P., Ed., "Internet Message
Format", RFC 5322, October 2008. Format", RFC 5322, October 2008.
9.2. Informative References [RFC5598] Crocker, D., "Internet Mail
Architecture", RFC 5598, July 2009.
10.2. Informative References
[RFC1652] Klensin, J., Freed, N., Rose, M., [RFC1652] Klensin, J., Freed, N., Rose, M.,
Stefferud, E., and D. Crocker, "SMTP Stefferud, E., and D. Crocker, "SMTP
Service Extension for 8bit- Service Extension for 8bit-
MIMEtransport", RFC 1652, July 1994. MIMEtransport", RFC 1652, July 1994.
[RFC2045] Freed, N. and N. Borenstein, [RFC2045] Freed, N. and N. Borenstein,
"Multipurpose Internet Mail Extensions "Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet (MIME) Part One: Format of Internet
Message Bodies", RFC 2045, Message Bodies", RFC 2045,
skipping to change at page 15, line 12 skipping to change at page 15, line 45
and T. Roessler, "MIME Security with and T. Roessler, "MIME Security with
OpenPGP", RFC 3156, August 2001. OpenPGP", RFC 3156, August 2001.
[RFC5280] Cooper, D., Santesson, S., Farrell, [RFC5280] Cooper, D., Santesson, S., Farrell,
S., Boeyen, S., Housley, R., and W. S., Boeyen, S., Housley, R., and W.
Polk, "Internet X.509 Public Key Polk, "Internet X.509 Public Key
Infrastructure Certificate and Infrastructure Certificate and
Certificate Revocation List (CRL) Certificate Revocation List (CRL)
Profile", RFC 5280, May 2008. Profile", RFC 5280, May 2008.
Appendix A. Changes to support UTF-8
This section provides a basic audit of the places in a message that
now can permit UTF-8 rather than being restricted to ASCII, based on
the changes to underlying ABNF. The audit ignores rule for
"obsolete" constructs in [RFC5322]. (This is a first cut and the
list is likely incomplete):
VCHAR: quoted-pair, unstructured
> ccontent, qcontent
> comment, quoted-string
> word, local-part
> phrase
> display-name, keywords
ctext: ccontent > comment
atext: atom, dot-atom-text
qtext: qcontent > quoted-string
Authors' Addresses Authors' Addresses
Abel Yang Abel Yang
TWNIC TWNIC
4F-2, No. 9, Sec 2, Roosevelt Rd. 4F-2, No. 9, Sec 2, Roosevelt Rd.
Taipei, 100 Taipei, 100
Taiwan Taiwan
Phone: +886 2 23411313 ext 505 Phone: +886 2 23411313 ext 505
EMail: abelyang@twnic.net.tw EMail: abelyang@twnic.net.tw
 End of changes. 67 change blocks. 
120 lines changed or deleted 186 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/