draft-ietf-eai-rfc5337bis-dsn-00.txt   draft-ietf-eai-rfc5337bis-dsn-01.txt 
Network Working Group T. Hansen, Ed. Network Working Group T. Hansen, Ed.
Internet-Draft AT&T Laboratories Internet-Draft AT&T Laboratories
Obsoletes: 5337 (if approved) C. Newman Obsoletes: 5337 (if approved) C. Newman
Updates: 3461, 3462, 3464, 3798 Sun Microsystems Updates: 3461, 3462, 3464, 3798 Sun Microsystems
(if approved) A. Melnikov (if approved) A. Melnikov
Intended status: Standards Track Isode Ltd Intended status: Standards Track Isode Ltd
Expires: April 21, 2011 October 18, 2010 Expires: April 28, 2011 October 25, 2010
Internationalized Delivery Status and Disposition Notifications Internationalized Delivery Status and Disposition Notifications
draft-ietf-eai-rfc5337bis-dsn-00 draft-ietf-eai-rfc5337bis-dsn-01
Abstract Abstract
Delivery status notifications (DSNs) are critical to the correct Delivery status notifications (DSNs) are critical to the correct
operation of an email system. However, the existing Draft Standards operation of an email system. However, the existing Draft Standards
(RFC 3461, RFC 3462, RFC 3464) are presently limited to US-ASCII text (RFC 3461, RFC 3462, RFC 3464) are presently limited to US-ASCII text
in the machine-readable portions of the protocol. This specification in the machine-readable portions of the protocol. This specification
adds a new address type for international email addresses so an adds a new address type for international email addresses so an
original recipient address with non-US-ASCII characters can be original recipient address with non-US-ASCII characters can be
correctly preserved even after downgrading. This also provides correctly preserved even after downgrading. This also provides
skipping to change at page 1, line 45 skipping to change at page 1, line 45
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 April 21, 2011. This Internet-Draft will expire on April 28, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 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
skipping to change at page 2, line 21 skipping to change at page 2, line 21
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
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
3. UTF-8 Address Type . . . . . . . . . . . . . . . . . . . . . . 3 3. UTF-8 Address Type . . . . . . . . . . . . . . . . . . . . . . 3
4. UTF-8 Delivery Status Notifications . . . . . . . . . . . . . 7 4. UTF-8 Delivery Status Notifications . . . . . . . . . . . . . 6
4.1. Additional Requirements on SMTP Servers . . . . . . . . . 9 4.1. Additional Requirements on SMTP Servers . . . . . . . . . 9
5. UTF-8 Message Disposition Notifications . . . . . . . . . . . 9 5. UTF-8 Message Disposition Notifications . . . . . . . . . . . 9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6.1. UTF-8 Mail Address Type Registration . . . . . . . . . . . 10 6.1. UTF-8 Mail Address Type Registration . . . . . . . . . . . 11
6.2. Update to 'smtp' Diagnostic Type Registration . . . . . . 11 6.2. Update to 'smtp' Diagnostic Type Registration . . . . . . 12
6.3. message/global-headers . . . . . . . . . . . . . . . . . . 12 6.3. message/global-headers . . . . . . . . . . . . . . . . . . 12
6.4. message/global-delivery-status . . . . . . . . . . . . . . 13 6.4. message/global-delivery-status . . . . . . . . . . . . . . 13
6.5. message/global-disposition-notification . . . . . . . . . 14 6.5. message/global-disposition-notification . . . . . . . . . 14
7. Security Considerations . . . . . . . . . . . . . . . . . . . 15 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.1. Normative References . . . . . . . . . . . . . . . . . . . 16 8.1. Normative References . . . . . . . . . . . . . . . . . . . 16
8.2. Informative References . . . . . . . . . . . . . . . . . . 17 8.2. Informative References . . . . . . . . . . . . . . . . . . 17
Appendix A. Changes Since RFC 5337 . . . . . . . . . . . . . . . 17 Appendix A. Changes Since ... . . . . . . . . . . . . . . . . . . 18
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 17 A.1. Changes Since -00 . . . . . . . . . . . . . . . . . . . . 18
A.2. Changes Since RFC 5337 . . . . . . . . . . . . . . . . . . 18
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 18
1. Introduction 1. Introduction
When an email message is transmitted using the UTF8SMTP [RFC5336] When an email message is transmitted using the UTF8SMTP
extension and Internationalized Email Headers [RFC5335], it is [I-D.ietf-eai-rfc5336bis] extension and Internationalized Email
sometimes necessary to return that message or generate a Message Headers [I-D.ietf-eai-rfc5335bis], it is sometimes necessary to
Disposition Notification (MDN) [RFC3798]. As a message sent to return that message or generate a Message Disposition Notification
multiple recipients can generate a status and disposition (MDN) [RFC3798]. As a message sent to multiple recipients can
notification for each recipient, it is helpful if a client can generate a status and disposition notification for each recipient, it
correlate these notifications based on the recipient address it is helpful if a client can correlate these notifications based on the
provided; thus, preservation of the original recipient is important. recipient address it provided; thus, preservation of the original
This specification describes how to preserve the original recipient recipient is important. This specification describes how to preserve
and updates the MDN and DSN formats to support the new address types. the original recipient and updates the MDN and DSN formats to support
the new address types.
NOTE: The only issue for which there is (as yet) no consensus yet is NOTE: The only issue for which there is (as yet) no consensus yet is
whether to change the name of the Address Type from "UTF-8" to whether to change the name of the Address Type from "UTF-8" to
something different, such as "UTF8", to reflect the fact that the something different, such as "UTF8", to reflect the fact that the
"<addr <addr>>" address syntax is no longer permitted. "<addr <addr>>" address syntax is no longer permitted.
NOTE: There was discussion of whether to change the media type names NOTE: There was discussion of whether to change the media type names
from message/global, message/global-delivery-status and message/ from message/global, message/global-delivery-status and message/
global-headers to something else. The apparent consensus was to not global-headers to something else. The apparent consensus was to not
change those names. change those names.
skipping to change at page 3, line 42 skipping to change at page 3, line 43
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
The formal syntax use the Augmented Backus-Naur Form (ABNF) [RFC5234] The formal syntax use the Augmented Backus-Naur Form (ABNF) [RFC5234]
notation including the core rules defined in Appendix B of RFC 5234 notation including the core rules defined in Appendix B of RFC 5234
[RFC5234] and the UTF-8 syntax rules in Section 4 of [RFC3629]. [RFC5234] and the UTF-8 syntax rules in Section 4 of [RFC3629].
3. UTF-8 Address Type 3. UTF-8 Address Type
An Extensible Message Format for Delivery Status Notifications An Extensible Message Format for Delivery Status Notifications
[RFC3464] defines the concept of an address type. The address format [RFC3464] defines the concept of an address type. The address format
introduced in Internationalized Email Headers [RFC5335] is a new introduced in Internationalized Email Headers
address type. The syntax for the new address type in the context of [I-D.ietf-eai-rfc5335bis] is a new address type. The syntax for the
status notifications is specified at the end of this section. new address type in the context of status notifications is specified
at the end of this section.
An SMTP [RFC2821] server that advertises both the UTF8SMTP extension An SMTP [RFC5321] server that advertises both the UTF8SMTP extension
[RFC5336] and the DSN extension [RFC3461] MUST accept a UTF-8 address [I-D.ietf-eai-rfc5336bis] and the DSN extension [RFC3461] MUST accept
type in the ORCPT parameter including 8-bit UTF-8 characters. This a UTF-8 address type in the ORCPT parameter including 8-bit UTF-8
address type also includes a 7-bit encoding suitable for use in a characters. This address type also includes a 7-bit encoding
message/delivery-status body part or an ORCPT parameter sent to an suitable for use in a message/delivery-status body part or an ORCPT
SMTP server that does not advertise UTF8SMTP. parameter sent to an SMTP server that does not advertise UTF8SMTP.
This address type has 3 forms: utf-8-addr-xtext, utf-8-addr-unitext, This address type has 3 forms: utf-8-addr-xtext, utf-8-addr-unitext,
and utf-8-address. The first 2 forms are 7-bit safe. and utf-8-address. Only the first form is 7-bit safe.
The utf-8-address form is only suitable for use in newly defined The utf-8-address form is only suitable for use in newly defined
protocols capable of native representation of 8-bit characters. That protocols capable of native representation of 8-bit characters. That
is, the utf-8-address form MUST NOT be used in the ORCPT parameter is, the utf-8-address form MUST NOT be used in the ORCPT parameter
when the SMTP server doesn't advertise support for UTF8SMTP or the when the SMTP server doesn't advertise support for UTF8SMTP, or the
SMTP server supports UTF8SMTP, but the address contains US-ASCII SMTP server supports UTF8SMTP, but the address contains US-ASCII
characters not permitted in the ORCPT parameter (e.g., the ORCPT characters not permitted in the ORCPT parameter (e.g., the ORCPT
parameter forbids unencoded SP and the = character), or in a 7-bit parameter forbids unencoded SP and the = character), or in a 7-bit
transport environment including a message/delivery-status Original- transport environment including a message/delivery-status Original-
Recipient or Final-Recipient field. In the former case, the utf-8- Recipient or Final-Recipient field. In the first and third case, the
addr-xtext form (see below) MUST be used instead; in the latter case, utf-8-addr-xtext form (see below) MUST be used instead; in the second
the utf-8-addr-unitext form MUST be used. The utf-8-address form MAY case, either the utf-8-addr-unitext or the utf-8-addr-xtext form MUST
be used in the ORCPT parameter when the SMTP server also advertises be used. The utf-8-address form MAY be used in the ORCPT parameter
support for UTF8SMTP and the address doesn't contain any US-ASCII when the SMTP server also advertises support for UTF8SMTP and the
characters not permitted in the ORCPT parameter. It SHOULD be used address doesn't contain any US-ASCII characters not permitted in the
in a message/global-delivery-status Original-Recipient or Final- ORCPT parameter. It SHOULD be used in a message/
Recipient DSN field, or in an Original-Recipient header field global-delivery-status Original-Recipient or Final-Recipient DSN
[RFC3798] if the message is a UTF8SMTP message. field, or in an Original-Recipient header field [RFC3798] if the
message is a UTF8SMTP message.
In addition, the utf-8-addr-unitext form can be used anywhere where In addition, the utf-8-addr-unitext form can be used anywhere where
the utf-8-address form is allowed. the utf-8-address form is allowed.
When using in the ORCPT parameter, the UTF-8 address type requires When used in the ORCPT parameter, the UTF-8 address type requires
that US-ASCII CTLs, SP, \, +, and = be encoded using xtext encoding that US-ASCII CTLs, SP, \, +, and = be encoded using 'unitext'
as described in [RFC3461]. This is described by the utf-8-addr-xtext encoding (see below). This is described by the utf-8-addr-xtext and
form in the ABNF below. Unicode characters MAY be included in a utf-8-addr-unitext forms in the ABNF below. The 'unitext' encoding
UTF-8 address type using a "\x{HEXPOINT}" syntax uses "\x{HEXPOINT}" syntax (EmbeddedUnicodeChar in the ABNF below)
(EmbeddedUnicodeChar), where HEXPOINT is 2 to 6 hexadecimal digits. for encoding any Unicode character outside of US-ASCII range, as well
When sending data to a UTF8SMTP-capable server, native UTF-8 as for encoding CTLs, SP, \, +, and =. HEXPOINT is 2 to 6
characters SHOULD be used instead of the EmbeddedUnicodeChar syntax hexadecimal digits. This encoding avoids the need to use the xtext
described in details below. When sending data to an SMTP server that encoding described in [RFC3461], as any US-ASCII characters that
does not advertise UTF8SMTP, then the EmbeddedUnicodeChar syntax MUST needs to be escaped using xtext encoding never appear in any unitext
be used instead of UTF-8. encoded string. When sending data to a UTF8SMTP capable server,
native UTF-8 characters SHOULD be used instead of the
EmbeddedUnicodeChar syntax described in details below. When sending
data to an SMTP server that does not advertise UTF8SMTP, then the
EmbeddedUnicodeChar syntax MUST be used instead of UTF-8.
When the ORCPT parameter is placed in a message/ When the ORCPT parameter is placed in a message/
global-delivery-status Original-Recipient field, the utf-8-addr-xtext global-delivery-status Original-Recipient field, the 'utf-8-addr-
form of the UTF-8 address type SHOULD be converted to the utf-8- xtext' form of the UTF-8 address type SHOULD be converted to the
address form (see the ABNF below) by removing all xtext encoding 'utf-8-address' form (see the ABNF below) by removing the 'unitext'
first (which will result in the utf-8-addr-unitext form), followed by encoding. However, if an address is labeled with the UTF-8 address
removal of the unitext encoding. However, if an address is labeled type but does not conform to utf-8 syntax, then it MUST be copied
with the UTF-8 address type but does not conform to utf-8 syntax, into the message/global-delivery-status field without alteration.
then it MUST be copied into the message/global-delivery-status field
without alteration.
The ability to encode characters with the EmbeddedUnicodeChar The ability to encode characters with the EmbeddedUnicodeChar
encodings should be viewed as a transitional mechanism. It is hoped encodings should be viewed as a transitional mechanism. It is hoped
that as systems lacking support for UTF8SMTP become less common over that as systems lacking support for UTF8SMTP become less common over
time, these encodings can eventually be phased out. time, these encodings can eventually be phased out.
In the ABNF below, all productions not defined in this document are In the ABNF below, all productions not defined in this document are
defined in Appendix B of [RFC5234], in Section 4 of [RFC3629], or in defined in Appendix B of [RFC5234], in Section 4 of [RFC3629], or in
[RFC3464]. [RFC3464].
utf-8-type-addr = "utf-8;" utf-8-enc-addr utf-8-type-addr = "utf-8;" utf-8-enc-addr
utf-8-address = uMailbox [ 1*WSP "<" Mailbox ">" ] utf-8-address = uMailbox [ 1*WSP "<" Mailbox ">" ]
; uMailbox is defined in [RFC5336]. ; uMailbox is defined in [I-D.ietf-eai-rfc5336bis].
; Mailbox is defined in [RFC2821]. ; Mailbox is defined in [RFC5321].
utf-8-enc-addr = utf-8-addr-xtext / utf-8-enc-addr = utf-8-addr-xtext /
utf-8-addr-unitext / utf-8-addr-unitext /
utf-8-address utf-8-address
utf-8-addr-xtext = xtext utf-8-addr-xtext = 1*(QCHAR / EmbeddedUnicodeChar)
; xtext is defined in [RFC3461]. ; 7bit form of utf-8-addr-unitext.
; When xtext encoding is removed, ; Safe for use in the ORCPT [RFC3461]
; the syntax MUST conform to ; parameter even when UTF8SMTP SMTP
; utf-8-addr-unitext. ; extension is not advertised.
utf-8-addr-unitext = 1*(QUCHAR / EmbeddedUnicodeChar) utf-8-addr-unitext = 1*(QUCHAR / EmbeddedUnicodeChar)
; MUST follow utf-8-address ABNF when ; MUST follow utf-8-address ABNF when
; dequoted ; dequoted.
; Safe for using in the ORCPT [RFC3461]
; parameter when UTF8SMTP SMTP extension
; is also advertised.
QUCHAR = %x21-2a / %x2c-3c / %x3e-5b / %x5d-7e / QCHAR = %x21-2a / %x2c-3c / %x3e-5b / %x5d-7e
UTF8-2 / UTF8-3 / UTF8-4 ; US-ASCII printable characters except
; US-ASCII printable characters except ; CTLs, SP, '\', '+', '='.
; CTLs, SP, '\', '+' and '=', plus
; other Unicode characters in UTF-8
EmbeddedUnicodeChar = %x5C.78 "{" HEXPOINT "}" QUCHAR = QCHAR / UTF8-2 / UTF8-3 / UTF8-4
; starts with "\x" ; US-ASCII printable characters except
; CTLs, SP, '\', '+' and '=', plus
; other Unicode characters encoded in UTF-8
HEXPOINT = "5C" / (HEXDIG8 HEXDIG) / ; 2 digit forms EmbeddedUnicodeChar = %x5C.78 "{" HEXPOINT "}"
( NZHEXDIG 2(HEXDIG) ) / ; 3 digit forms ; starts with "\x"
( NZDHEXDIG 3(HEXDIG) ) /
( "D" %x30-37 2(HEXDIG) ) /
; 4 digit forms excluding surrogate
( NZHEXDIG 4(HEXDIG) ) / ; 5 digit forms
( "10" 4*HEXDIG ) ; 6 digit forms
; represents either "\" or a Unicode code point outside the
; US-ASCII repertoire
HEXDIG8 = %x38-39 / "A" / "B" / "C" / "D" / "E" / "F" HEXPOINT = ( ( "0"/"1" ) %x31-39 ) / "10" / "20" /
; HEXDIG excluding 0-7 "2B" / "3D" / "7F" / ; all xtext-specials
NZHEXDIG = %x31-39 / "A" / "B" / "C" / "D" / "E" / "F" "5C" / (HEXDIG8 HEXDIG) / ; 2 digit forms
; HEXDIG excluding "0" ( NZHEXDIG 2(HEXDIG) ) / ; 3 digit forms
NZDHEXDIG = %x31-39 / "A" / "B" / "C" / "E" / "F" ( NZDHEXDIG 3(HEXDIG) ) / ; 4 digit forms excluding
; HEXDIG excluding "0" and "D" ( "D" %x30-37 2(HEXDIG) ) / ; ... surrogate
( NZHEXDIG 4(HEXDIG) ) / ; 5 digit forms
( "10" 4*HEXDIG ) ; 6 digit forms
; represents either "\" or a Unicode code point outside
; the US-ASCII repertoire
HEXDIG8 = %x38-39 / "A" / "B" / "C" / "D" / "E" / "F"
; HEXDIG excluding 0-7
NZHEXDIG = %x31-39 / "A" / "B" / "C" / "D" / "E" / "F"
; HEXDIG excluding "0"
NZDHEXDIG = %x31-39 / "A" / "B" / "C" / "E" / "F"
; HEXDIG excluding "0" and "D"
4. UTF-8 Delivery Status Notifications 4. UTF-8 Delivery Status Notifications
A traditional delivery status notification [RFC3464] comes in a A traditional delivery status notification [RFC3464] comes in a
three-part multipart/report [RFC3462] container, where the first part three-part multipart/report [RFC3462] container, where the first part
is human-readable text describing the error, the second part is a is human-readable text describing the error, the second part is a
7-bit-only message/delivery-status, and the optional third part is 7-bit-only message/delivery-status, and the optional third part is
used for content (message/rfc822) or header (text/rfc822-headers) used for content (message/rfc822) or header (text/rfc822-headers)
return. As the present DSN format does not permit returning of return. As the present DSN format does not permit returning of
undeliverable UTF8SMTP messages, three new media types are needed. undeliverable UTF8SMTP messages, three new media types are needed.
The first type, message/global-delivery-status, has the syntax of The first type, message/global-delivery-status, has the syntax of
message/delivery-status with three modifications. First, the charset message/delivery-status with three modifications. First, the charset
for message/global-delivery-status is UTF-8, and thus any field MAY for message/global-delivery-status is UTF-8, and thus any field MAY
contain UTF-8 characters when appropriate (see the ABNF below). In contain UTF-8 characters when appropriate (see the ABNF below). In
particular, the Diagnostic-Code field MAY contain UTF-8 as described particular, the Diagnostic-Code field MAY contain UTF-8 as described
in UTF8SMTP [RFC5336]; the Diagnostic-Code field SHOULD be in in UTF8SMTP [I-D.ietf-eai-rfc5336bis]; the Diagnostic-Code field
i-default language [DEFAULTLANG]. Second, systems generating a SHOULD be in i-default language [RFC2277]. Second, systems
message/global-delivery-status body part SHOULD use the utf-8-address generating a message/global-delivery-status body part SHOULD use the
form of the UTF-8 address type for all addresses containing utf-8-address form of the UTF-8 address type for all addresses
characters outside the US-ASCII repertoire. These systems SHOULD up- containing characters outside the US-ASCII repertoire. These systems
convert the utf-8-addr-xtext or the utf-8-addr-unitext form of a SHOULD up-convert the utf-8-addr-xtext or the utf-8-addr-unitext form
UTF-8 address type in the ORCPT parameter to the utf-8-address form of a UTF-8 address type in the ORCPT parameter to the utf-8-address
of a UTF-8 address type in the Original-Recipient field. Third, a form of a UTF-8 address type in the Original-Recipient field. Third,
new optional field called Localized-Diagnostic is added. Each a new optional field called Localized-Diagnostic is added. Each
instance includes a language tag [LANGTAGS] and contains text in the instance includes a language tag [RFC5646] and contains text in the
specified language. This is equivalent to the text part of the specified language. This is equivalent to the text part of the
Diagnostic-Code field. All instances of Localized-Diagnostic MUST Diagnostic-Code field. All instances of Localized-Diagnostic MUST
use different language tags. The ABNF for message/ use different language tags. The ABNF for message/
global-delivery-status is specified below. global-delivery-status is specified below.
In the ABNF below, all productions not defined in this document are In the ABNF below, all productions not defined in this document are
defined in Appendix B of [RFC5234], in Section 4 of [RFC3629], or in defined in Appendix B of [RFC5234], in Section 4 of [RFC3629], or in
[RFC3464]. [RFC3464]. Note that <text-fixed> is the same as <text> from
[RFC5322], but without <obs-text>. If or when RFC 5322 is updated to
disallow <obs-text>, this should become just <text> Also, if or when
RFC 5322 is updated to disallow control characters in <text>, this
should become a reference to that update instead.
utf-8-delivery-status-content = per-message-fields utf-8-delivery-status-content = per-message-fields
1*( CRLF utf-8-per-recipient-fields ) 1*( CRLF utf-8-per-recipient-fields )
; "per-message-fields" remains unchanged from the definition ; "per-message-fields" remains unchanged from the definition
; in RFC 3464, except for the "extension-field" ; in RFC 3464, except for the "extension-field"
; which is updated below. ; which is updated below.
utf-8-per-recipient-fields = utf-8-per-recipient-fields =
[ original-recipient-field CRLF ] [ original-recipient-field CRLF ]
final-recipient-field CRLF final-recipient-field CRLF
skipping to change at page 8, line 30 skipping to change at page 8, line 44
"Diagnostic-Code" ":" diagnostic-type ";" *text-fixed "Diagnostic-Code" ":" diagnostic-type ";" *text-fixed
localized-diagnostic-text-field = localized-diagnostic-text-field =
"Localized-Diagnostic" ":" Language-Tag ";" *utf8-text "Localized-Diagnostic" ":" Language-Tag ";" *utf8-text
; "Language-Tag" is a language tag as defined in [LANGTAGS]. ; "Language-Tag" is a language tag as defined in [LANGTAGS].
extension-field =/ extension-field-name ":" *utf8-text extension-field =/ extension-field-name ":" *utf8-text
text-fixed = %d1-9 / ; Any US-ASCII character except for NUL, text-fixed = %d1-9 / ; Any US-ASCII character except for NUL,
%d11 / ; CR and LF %d11 / ; CR and LF
%d12 / %d12 / ; See note above about <text-fixed>
%d14-127 %d14-127
; Same as <text> from [RFC2822], but without <obs-text>.
; If/when RFC 2822 is updated to disallow <obs-text>,
; this should become just <text>
; Also, if/when RFC 2822 is updated to disallow control characters
; this should become a reference to RFC 2822upd instead.
utf8-text = text-fixed / UTF8-non-ascii utf8-text = text-fixed / UTF8-non-ascii
UTF8-non-ascii = UTF8-2 / UTF8-3 / UTF8-4 UTF8-non-ascii = UTF8-2 / UTF8-3 / UTF8-4
The second type, used for returning the content, is message/global The second type, used for returning the content, is message/global
which is similar to message/rfc822, except it contains a message with which is similar to message/rfc822, except it contains a message with
UTF-8 headers. This media type is described in [RFC5335]. UTF-8 headers. This media type is described in
[I-D.ietf-eai-rfc5335bis].
The third type, used for returning the headers, is message/ The third type, used for returning the headers, is message/
global-headers and contains only the UTF-8 header fields of a message global-headers and contains only the UTF-8 header fields of a message
(all lines prior to the first blank line in a UTF8SMTP message). (all lines prior to the first blank line in a UTF8SMTP message).
Unlike message/global, this body part provides no difficulties for Unlike message/global, this body part provides no difficulties for
the present infrastructure. the present infrastructure.
Note that as far as multipart/report [RFC3462] container is Note that as far as multipart/report [RFC3462] container is
concerned, message/global-delivery-status, message/global, and concerned, message/global-delivery-status, message/global, and
message/global-headers MUST be treated as equivalent to message/ message/global-headers MUST be treated as equivalent to message/
skipping to change at page 9, line 19 skipping to change at page 9, line 27
implementations processing multipart/report MUST expect any implementations processing multipart/report MUST expect any
combinations of the 6 media types mentioned above inside a multipart/ combinations of the 6 media types mentioned above inside a multipart/
report media type. report media type.
All three new types will typically use the "8bit" Content-Transfer- All three new types will typically use the "8bit" Content-Transfer-
Encoding. (In the event all content is 7-bit, the equivalent Encoding. (In the event all content is 7-bit, the equivalent
traditional types for delivery status notifications MAY be used. For traditional types for delivery status notifications MAY be used. For
example, if information in message/global-delivery-status part can be example, if information in message/global-delivery-status part can be
represented without any loss of information as message/ represented without any loss of information as message/
delivery-status, then the message/delivery-status body part may be delivery-status, then the message/delivery-status body part may be
used.) Note that [RFC5335] relaxed restriction from MIME [RFC2046] used.) Note that [I-D.ietf-eai-rfc5335bis] relaxed restriction from
regarding use of Content-Transfer-Encoding in new "message" subtypes. MIME [RFC2046] regarding use of Content-Transfer-Encoding in new
This specification explicitly allows use of Content-Transfer-Encoding "message" subtypes. This specification explicitly allows use of
in message/global-headers and message/global-delivery-status. This Content-Transfer-Encoding in message/global-headers and message/
is not believed to be problematic as these new media types are global-delivery-status. This is not believed to be problematic as
intended primarily for use by newer systems with full support for these new media types are intended primarily for use by newer systems
8-bit MIME and UTF-8 headers. with full support for 8-bit MIME and UTF-8 headers.
4.1. Additional Requirements on SMTP Servers 4.1. Additional Requirements on SMTP Servers
If an SMTP server that advertises both UTF8SMTP and DSN needs to If an SMTP server that advertises both UTF8SMTP and DSN needs to
return an undeliverable UTF8SMTP message, then it MUST NOT downgrade return an undeliverable UTF8SMTP message, then it MUST NOT downgrade
[DOWNGRADE] the UTF8SMTP message when generating the corresponding [RFC5504] the UTF8SMTP message when generating the corresponding
multipart/report. If the return path SMTP server does not support multipart/report. If the return path SMTP server does not support
UTF8SMTP, then the undeliverable body part and headers MUST be UTF8SMTP, then the undeliverable body part and headers MUST be
encoded using a 7-bit Content-Transfer-Encoding such as "base64" or encoded using a 7-bit Content-Transfer-Encoding such as "base64" or
"quoted-printable" [RFC2045], as detailed in Section 4. Otherwise, "quoted-printable" [RFC2045], as detailed in Section 4. Otherwise,
"8bit" Content-Transfer-Encoding can be used. "8bit" Content-Transfer-Encoding can be used.
5. UTF-8 Message Disposition Notifications 5. UTF-8 Message Disposition Notifications
Message Disposition Notifications [RFC3798] have a similar design and Message Disposition Notifications [RFC3798] have a similar design and
structure to DSNs. As a result, they use the same basic return structure to DSNs. As a result, they use the same basic return
format. When generating an MDN for a UTF-8 header message, the third format. When generating an MDN for a UTF-8 header message, the third
part of the multipart/report contains the returned content (message/ part of the multipart/report contains the returned content (message/
global) or header (message/global-headers), same as for DSNs. The global) or header (message/global-headers), same as for DSNs. The
second part of the multipart/report uses a new media type, message/ second part of the multipart/report uses a new media type, message/
global-disposition-notification, which has the syntax of message/ global-disposition-notification, which has the syntax of message/
disposition-notification with two modifications. First, the charset disposition-notification with two modifications. First, the charset
for message/global-disposition-notification is UTF-8, and thus any for message/global-disposition-notification is UTF-8, and thus any
field MAY contain UTF-8 characters when appropriate (see the ABNF field MAY contain UTF-8 characters when appropriate (see the ABNF
below). (In particular, the failure-field, the error-field, and the below). (In particular, the failure-field, the error-field, and the
warning-field MAY contain UTF-8. These fields SHOULD be in i-default warning-field MAY contain UTF-8. These fields SHOULD be in i-default
language [DEFAULTLANG].) Second, systems generating a message/ language [RFC2277].) Second, systems generating a message/
global-disposition-notification body part (typically a mail user global-disposition-notification body part (typically a mail user
agent) SHOULD use the UTF-8 address type for all addresses containing agent) SHOULD use the UTF-8 address type for all addresses containing
characters outside the US-ASCII repertoire. characters outside the US-ASCII repertoire.
The MDN specification also defines the Original-Recipient header The MDN specification also defines the Original-Recipient header
field, which is added with a copy of the contents of ORCPT at field, which is added with a copy of the contents of ORCPT at
delivery time. When generating an Original-Recipient header field, a delivery time. When generating an Original-Recipient header field, a
delivery agent writing a UTF-8 header message in native format SHOULD delivery agent writing a UTF-8 header message in native format SHOULD
convert the utf-8-addr-xtext or the utf-8-addr-unitext form of a convert the utf-8-addr-xtext or the utf-8-addr-unitext form of a
UTF-8 address type in the ORCPT parameter to the corresponding utf-8- UTF-8 address type in the ORCPT parameter to the corresponding utf-8-
address form. address form.
The MDN specification also defines the Disposition-Notification-To The MDN specification also defines the Disposition-Notification-To
header field, which is an address header field and thus follows the header field, which is an address header field and thus follows the
same 8-bit rules as other address headers such as "From" and "To" same 8-bit rules as other address header fields such as "From" and
when used in a UTF-8 header message. "To" when used in a UTF-8 header message.
; ABNF for "original-recipient-header", "original-recipient-field", ; ABNF for "original-recipient-header", "original-recipient-field",
; and "final-recipient-field" from RFC 3798 is implicitly updated ; and "final-recipient-field" from RFC 3798 is implicitly updated
; as they use the updated "generic-address" as defined in ; as they use the updated "generic-address" as defined in
; Section 4 of this document. ; Section 4 of this document.
failure-field = "Failure" ":" *utf8-text failure-field = "Failure" ":" *utf8-text
; "utf8-text" is defined in Section 4 of this document. ; "utf8-text" is defined in Section 4 of this document.
error-field = "Error" ":" *utf8-text error-field = "Error" ":" *utf8-text
; "utf8-text" is defined in Section 4 of this document. ; "utf8-text" is defined in Section 4 of this document.
warning-field = "Warning" ":" *utf8-text warning-field = "Warning" ":" *utf8-text
; "utf8-text" is defined in Section 4 of this document. ; "utf8-text" is defined in Section 4 of this document.
6. IANA Considerations 6. IANA Considerations
This specification does not create any new IANA registries. However, This specification does not create any new IANA registries. However,
the following items have been registered as a result of this the following items are registered as a result of this document.
document.
6.1. UTF-8 Mail Address Type Registration 6.1. UTF-8 Mail Address Type Registration
The mail address type registry was created by [RFC3464]. The The mail address type registry was created by [RFC3464]. The
registration template response follows: registration template response follows:
(a) The proposed address-type name. (a) The proposed address-type name.
UTF-8 UTF-8
skipping to change at page 11, line 16 skipping to change at page 11, line 30
BNF, regular expressions, ASN.1, or other non-ambiguous language. BNF, regular expressions, ASN.1, or other non-ambiguous language.
See Section 3. See Section 3.
(c) If addresses of this type are not composed entirely of graphic (c) If addresses of this type are not composed entirely of graphic
characters from the US-ASCII repertoire, a specification for how characters from the US-ASCII repertoire, a specification for how
they are to be encoded as graphic US-ASCII characters in a DSN they are to be encoded as graphic US-ASCII characters in a DSN
Original-Recipient or Final-Recipient DSN field. Original-Recipient or Final-Recipient DSN field.
This address type has 3 forms (as defined in Section 3): utf-8- This address type has 3 forms (as defined in Section 3): utf-8-
addr-xtext, utf-8-addr-unitext, and utf-8-address. The first 2 addr-xtext, utf-8-addr-unitext, and utf-8-address. Only the
forms are 7-bit safe. first form is 7-bit safe.
The utf-8-address form MUST NOT be used The utf-8-address form MUST NOT be used
1. in the ORCPT parameter when the SMTP server doesn't advertise 1. in the ORCPT parameter when the SMTP server doesn't advertise
support for UTF8SMTP; support for UTF8SMTP;
2. or the SMTP server supports UTF8SMTP, but the address contains 2. or the SMTP server supports UTF8SMTP, but the address contains
US-ASCII characters not permitted in the ORCPT parameter (e.g., US-ASCII characters not permitted in the ORCPT parameter (e.g.,
the ORCPT parameter forbids SP and the = characters); the ORCPT parameter forbids SP and the = characters);
3. or in a 7-bit transport environment including a message/ 3. or in a 7-bit transport environment including a message/
delivery-status Original-Recipient or Final-Recipient field. delivery-status Original-Recipient or Final-Recipient field.
The utf-8-addr-xtext form MUST be used instead in the first case; the The utf-8-addr-xtext form MUST be used instead in the first and the
utf-8-addr-unitext form MUST be used in the other two cases. The third case; the utf-8-addr-unitext form MUST be used in the second
utf-8-address form MAY be used in the ORCPT parameter when the SMTP case. The utf-8-address form MAY be used in the ORCPT parameter when
server also advertises support for UTF8SMTP and the address doesn't the SMTP server also advertises support for UTF8SMTP and the address
contain any US-ASCII characters not permitted in the ORCPT parameter; doesn't contain any US-ASCII characters not permitted in the ORCPT
in a message/global-delivery-status Original-Recipient or Final- parameter; in a message/global-delivery-status Original-Recipient or
Recipient DSN field; or in an Original-Recipient header field Final-Recipient DSN field; or in an Original-Recipient header field
[RFC3798] if the message is a UTF8SMTP message. [RFC3798] if the message is a UTF8SMTP message.
In addition, the utf-8-addr-unitext form can be used anywhere where In addition, the utf-8-addr-unitext form can be used anywhere where
the utf-8-address form is allowed. the utf-8-address form is allowed.
6.2. Update to 'smtp' Diagnostic Type Registration 6.2. Update to 'smtp' Diagnostic Type Registration
The mail diagnostic type registry was created by [RFC3464] and The mail diagnostic type registry was created by [RFC3464] and
updated by [RFC5337]. The registration for the 'smtp' diagnostic updated by [RFC5337]. The registration for the 'smtp' diagnostic
type should be updated to reference RFC XXXX in addition to [RFC3464] type should be updated to reference RFC XXXX in addition to [RFC3464]
skipping to change at page 12, line 18 skipping to change at page 12, line 32
Type name: message Type name: message
Subtype name: global-headers Subtype name: global-headers
Required parameters: none Required parameters: none
Optional parameters: none Optional parameters: none
Encoding considerations: This media type contains Internationalized Encoding considerations: This media type contains Internationalized
Email Headers [RFC5335] with no message body. Whenever possible, Email Headers [I-D.ietf-eai-rfc5335bis] with no message body.
the 8-bit content transfer encoding SHOULD be used. When this Whenever possible, the 8-bit content transfer encoding SHOULD be
media type passes through a 7-bit-only SMTP infrastructure it MAY used. When this media type passes through a 7-bit-only SMTP
be encoded with the base64 or quoted-printable content transfer infrastructure it MAY be encoded with the base64 or quoted-
encoding. printable content transfer encoding.
Security considerations: See Section 7. Security considerations: See Section 7.
Interoperability considerations: It is important that this media Interoperability considerations: It is important that this media
type is not converted to a charset other than UTF-8. As a result, type is not converted to a charset other than UTF-8. As a result,
implementations MUST NOT include a charset parameter with this implementations MUST NOT include a charset parameter with this
media type. Although it might be possible to downconvert this media type. Although it might be possible to downconvert this
media type to the text/rfc822-header media type, such conversion media type to the text/rfc822-header media type, such conversion
is discouraged as it loses information. is discouraged as it loses information.
skipping to change at page 16, line 21 skipping to change at page 16, line 36
material that can securely associate the status notification with the material that can securely associate the status notification with the
original message is advisable. original message is advisable.
As this specification permits UTF-8 in additional fields, the As this specification permits UTF-8 in additional fields, the
security considerations of UTF-8 [RFC3629] apply. security considerations of UTF-8 [RFC3629] apply.
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to
Requirement Levels", BCP 14, RFC 2119, March 1997. Indicate Requirement Levels", BCP 14,
RFC 2119, March 1997.
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", [RFC2277] Alvestrand, H., "IETF Policy on Character
RFC 2821, April 2001. Sets and Languages", BCP 18, RFC 2277,
January 1998.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822, [RFC3461] Moore, K., "Simple Mail Transfer Protocol
April 2001. (SMTP) Service Extension for Delivery
Status Notifications (DSNs)", RFC 3461,
January 2003.
[RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) [RFC3462] Vaudreuil, G., "The Multipart/Report
Service Extension for Delivery Status Notifications Content Type for the Reporting of Mail
(DSNs)", RFC 3461, January 2003. System Administrative Messages", RFC 3462,
January 2003.
[RFC3462] Vaudreuil, G., "The Multipart/Report Content Type for [RFC3464] Moore, K. and G. Vaudreuil, "An Extensible
the Reporting of Mail System Administrative Messages", Message Format for Delivery Status
RFC 3462, January 2003. Notifications", RFC 3464, January 2003.
[RFC3464] Moore, K. and G. Vaudreuil, "An Extensible Message [RFC3629] Yergeau, F., "UTF-8, a transformation
Format for Delivery Status Notifications", RFC 3464, format of ISO 10646", STD 63, RFC 3629,
January 2003. November 2003.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO [RFC3798] Hansen, T. and G. Vaudreuil, "Message
10646", STD 63, RFC 3629, November 2003. Disposition Notification", RFC 3798,
May 2004.
[RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition [RFC5646] Phillips, A. and M. Davis, "Tags for
Notification", RFC 3798, May 2004. Identifying Languages", BCP 47, RFC 5646,
September 2009.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5321] Klensin, J., "Simple Mail Transfer
Specifications: ABNF", STD 68, RFC 5234, January 2008. Protocol", RFC 5321, October 2008.
[RFC5335] Yang, A., Ed., "Internationalized Email Headers", [RFC5322] Resnick, P., Ed., "Internet Message
RFC 5335, September 2008. Format", RFC 5322, October 2008.
[RFC5336] Yao, J., Ed. and W. Mao, Ed., "SMTP Extension for [RFC5234] Crocker, D. and P. Overell, "Augmented BNF
Internationalized Email Addresses", RFC 5336, for Syntax Specifications: ABNF", STD 68,
September 2008. RFC 5234, January 2008.
[LANGTAGS] Phillips, A. and M. Davis, "Tags for Identifying [I-D.ietf-eai-rfc5335bis] Yang, A. and S. Steele, "Internationalized
Languages", RFC 4646, September 2006. Email Headers",
draft-ietf-eai-rfc5335bis-03 (work in
progress), October 2010.
[DEFAULTLANG] Alvestrand, H., "IETF Policy on Character Sets and [I-D.ietf-eai-rfc5336bis] Yao, J. and W. MAO, "SMTP Extension for
Languages", RFC 2277, January 1998. Internationalized Email Address",
draft-ietf-eai-rfc5336bis-04 (work in
progress), October 2010.
8.2. Informative References 8.2. Informative References
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet [RFC2045] Freed, N. and N. Borenstein, "Multipurpose
Mail Extensions (MIME) Part One: Format of Internet Internet Mail Extensions (MIME) Part One:
Message Bodies", RFC 2045, November 1996. Format of Internet Message Bodies",
RFC 2045, November 1996.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet [RFC2046] Freed, N. and N. Borenstein, "Multipurpose
Mail Extensions (MIME) Part Two: Media Types", Internet Mail Extensions (MIME) Part Two:
RFC 2046, November 1996. Media Types", RFC 2046, November 1996.
[RFC5337] Newman, C. and A. Melnikov, "Internationalized [RFC5337] Newman, C. and A. Melnikov,
Delivery Status and Disposition Notifications", "Internationalized Delivery Status and
RFC 5337, September 2008. Disposition Notifications", RFC 5337,
September 2008.
[DOWNGRADE] Fujiwara, K. and Y. Yoneya, "Downgrading mechanism for [RFC5504] Fujiwara, K. and Y. Yoneya, "Downgrading
Email Address Internationalization", Work in Progress, Mechanism for Email Address
July 2008. Internationalization", RFC 5504,
March 2009.
Appendix A. Changes Since RFC 5337 Appendix A. Changes Since ...
A.1. Changes Since -00
Incorporated changes from draft-ietf-eai-dsnbis-01.
Fixed description of utf-8-addr-xtext and utf-8-addr-unitext.
Other minor corrections.
A.2. Changes Since RFC 5337
Made minor changes to move from Experimental to Standards Track. Made minor changes to move from Experimental to Standards Track.
Minor ABNF changes. Minor ABNF changes and errata suggested by Alfred Hoenes.
Minor changes to MIME type references. Minor changes to MIME type references.
Other minor corrections. Other minor corrections.
Appendix B. Acknowledgements Appendix B. Acknowledgements
Many thanks for input provided by Pete Resnick, James Galvin, Ned Many thanks for input provided by Pete Resnick, James Galvin, Ned
Freed, John Klensin, Harald Alvestrand, Frank Ellermann, SM, and Freed, John Klensin, Harald Alvestrand, Frank Ellermann, SM, Alfred
members of the EAI WG to help solidify this proposal. Hoenes, Kazunori Fujiwara, and members of the EAI WG to help solidify
this proposal.
Authors' Addresses Authors' Addresses
Tony Hansen (editor) Tony Hansen (editor)
AT&T Laboratories AT&T Laboratories
200 Laurel Ave. 200 Laurel Ave.
Middletown, NJ 07748 Middletown, NJ 07748
USA USA
EMail: tony+eaidsn@maillennium.att.com EMail: tony+eaidsn@maillennium.att.com
 End of changes. 56 change blocks. 
186 lines changed or deleted 224 lines changed or added

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