One document matched: draft-ietf-eai-rfc5337bis-dsn-05.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" obsoletes="5337" updates="3461, 3462, 3464, 3798" category="std">
  <front>
    <title abbrev="Internationalized DSN and MDNs">
      Internationalized Delivery Status and Disposition Notifications
    </title>
    <author initials='T.' surname='Hansen' fullname='Tony Hansen' role="editor">
      <organization>AT&T Laboratories</organization>
      <address>
        <postal>
          <street>200 Laurel Ave.</street>
          <city>Middletown</city>
          <region>NJ</region>
          <code>07748</code>
          <country>USA</country>
        </postal>
        <email>tony+eaidsn@maillennium.att.com</email>
      </address>
    </author>
    <author initials="C." surname="Newman" fullname="Chris Newman">
      <organization>Oracle</organization>
      <address>
	<postal>
	  <street>800 Royal Oaks</street>
	  <city>Monrovia</city>
	  <region>CA</region>
	  <code>91016-6347</code>
	  <country>US</country>
	</postal>
	<email>chris.newman@oracle.com</email>
      </address>
    </author>
    <author initials="A." surname="Melnikov" fullname="Alexey Melnikov">
      <organization>Isode Ltd</organization>
      <address>
	<postal>
	  <street>5 Castle Business Village</street>
	  <street>36 Station Road</street>
	  <city>Hampton</city>
	  <region>Middlesex</region>
	  <code>TW12 2BX</code>
	  <country>UK</country>
	</postal>
	<email>Alexey.Melnikov@isode.com</email>
      </address>
    </author>
    
    <date year="2011" />
    
    <keyword>EAI</keyword>
    <keyword>DSN</keyword>
    <keyword>SMTP</keyword>
    
    <abstract>
      <t>
	Delivery status notifications (DSNs) are critical to the correct
	operation of an email system.  However, the existing Draft Standards
	(RFC 3461, RFC 3462, RFC 3464) are presently limited to US-ASCII text
	in the machine-readable portions of the protocol.  This specification
	adds a new address type for international email addresses so an
	original recipient address with non-US-ASCII characters can be
	correctly preserved even after downgrading.  This also provides
	updated content return media types for delivery status notifications
	and message disposition notifications to support use of the new
	address type.
      </t>
      
      <t>
	This document extends RFC 3461, RFC 3462, RFC 3464, and RFC 3798.
	It replaces the experimental RFC 5337.
      </t>
    </abstract>
    
  </front>
  <middle>
    <section title="Introduction">
      <t>
	When an email message is transmitted using
	the <xref target='I-D.ietf-eai-rfc5336bis'>UTF8SMTP</xref> extension
	and <xref target='I-D.ietf-eai-rfc5335bis'>Internationalized Email Headers</xref>,
	it is sometimes necessary to return that message or generate
	a <xref target="RFC3798">Message Disposition Notification (MDN)</xref>.
	As a message sent to multiple recipients can generate a status and
	disposition notification for each recipient, it is helpful if a client
	can correlate these notifications based on the recipient address it
	provided; thus, preservation of the original recipient is important.
	This specification describes how to preserve the original recipient
	and updates the MDN and DSN formats to support the new address types.
      </t>
      <t>
	NOTE: While this specification updates the experimental versions of
	this protocol by removing certain constructs (e.g., the
	"<addr <addr>>" address syntax is no longer permitted), the name of the
	Address Type "UTF-8" and the media type names message/global,
	message/global-delivery-status and message/global-headers have not
	been changed.
      </t>
      <t>
	This specification is a revision of and replacement for <xref target='RFC5337'/>.
	Section 6 of <xref target='I-D.ietf-eai-frmwrk-4952bis'/> describes the change in
	approach between this specification and the previous version.
      </t>
    </section>
    
    <section title="Conventions Used in This Document">
      <t>
	The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
	"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
	this document are to be interpreted as described in
	<xref target="RFC2119"/>.
      </t>
      <t>
	The formal syntax uses the
	<xref target="RFC5234">Augmented Backus-Naur Form (ABNF)</xref>
	notation including the core rules
	defined in Appendix B of <xref target="RFC5234">RFC 5234</xref>
	and the UTF-8 syntax rules in Section 4 of <xref target="RFC3629"/>.
      </t>
    </section>
    
    <section title="UTF-8 Address Type" anchor="utf8addr">
      <t>
	<xref target="RFC3464">An Extensible Message Format for Delivery Status Notifications</xref>
	defines the concept of an address type.
	The address format introduced in <xref target="I-D.ietf-eai-rfc5335bis">Internationalized Email Headers</xref>
	is a new address type.
	The syntax for the new address type in the context of status notifications
	is specified at the end of this section.
      </t>

      <t>
	An <xref target='RFC5321'>SMTP</xref> server that advertises both the
	<xref target='I-D.ietf-eai-rfc5336bis'>UTF8SMTP extension</xref> and the
	<xref target='RFC3461'>DSN extension</xref> MUST accept a UTF-8 address
	type in the ORCPT parameter including 8-bit UTF-8 characters.
	This address type also includes a 7-bit encoding suitable for use in a
	message/delivery-status body part or an ORCPT parameter sent to an SMTP
	server that does not advertise UTF8SMTP.
      </t>
      
      <t>
	This address type has 3 forms:
	utf-8-addr-xtext, utf-8-addr-unitext, and utf-8-address.
	Only the first form is 7-bit safe (only uses 7-bit characters).
      </t>
      
      <t>
	The utf-8-address form is only suitable for use in newly defined protocols
	capable of native representation of 8-bit characters.
	That 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 SMTP server supports
	UTF8SMTP, but the address contains US-ASCII characters not permitted in
	the ORCPT parameter (e.g., the ORCPT parameter forbids unencoded SP and the = character), or in a
	7-bit transport environment including a message/delivery-status
	Original-Recipient or Final-Recipient field.
	In the first and third case, the utf-8-addr-xtext form (see below) MUST be used instead;
	in the second case, either the utf-8-addr-unitext or the utf-8-addr-xtext form MUST be used.
	
	The utf-8-address form MAY be used in the ORCPT parameter when the SMTP
	server also advertises support for UTF8SMTP and the address doesn't contain
	any US-ASCII characters not permitted in the ORCPT parameter. It SHOULD be used
	in a message/global-delivery-status Original-Recipient or Final-Recipient
	DSN field, or in an <xref target="RFC3798">Original-Recipient header field</xref>
	if the message is a UTF8SMTP message.
      </t>
      
      <t>
	In addition, the utf-8-addr-unitext form can be used anywhere where
	the utf-8-address form is allowed.
      </t>
      
      <t>
	When used in the ORCPT parameter, the UTF-8 address type requires
	that US-ASCII CTLs, SP, \, +, and = be encoded using 'unitext'
	encoding (see below).  This is described by the utf-8-addr-xtext and
	utf-8-addr-unitext forms in the ABNF below.  The 'unitext' encoding
	uses "\x{HEXPOINT}" syntax (EmbeddedUnicodeChar in the ABNF below)
	for encoding any Unicode character outside of US-ASCII range, as well
	as for encoding CTLs, SP, \, +, and =.  HEXPOINT is 2 to 6
	hexadecimal digits.  This encoding avoids the need to use the xtext
	encoding described in <xref target="RFC3461"/>, as any US-ASCII characters that
	needs to be escaped using xtext encoding never appear in any unitext
	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.
      </t>
      
      <t>
	When the ORCPT parameter is placed in a message/global-delivery-status
	Original-Recipient field, the 'utf-8-addr-xtext' form of the UTF-8 address type SHOULD be
	converted to the 'utf-8-address' form (see the ABNF below) by removing
	the 'unitext' encoding.
	However, if an address is labeled with the UTF-8 address
	type but does not conform to utf-8 syntax, then it MUST be copied
	into the message/global-delivery-status field without alteration.
      </t>
      
      <t>
	The ability to encode characters with the EmbeddedUnicodeChar
	encodings should be viewed as a transitional mechanism and avoided
	when possible.  It is hoped
	that as systems lacking support for UTF8SMTP become less common over
	time, these encodings can eventually be phased out.
      </t>
      
      <t>
	In the ABNF below, all productions not defined in this document
	are defined in Appendix B of <xref target="RFC5234"/>, in Section 4
	of <xref target="RFC3629"/>, or in <xref target="RFC3464"/>.
      </t>
      
      <figure><artwork type="ABNF">
utf-8-type-addr     = "utf-8;" utf-8-enc-addr

utf-8-address       = Mailbox
  ; Mailbox as defined in [I-D.ietf-eai-rfc5336bis].

utf-8-enc-addr      = utf-8-addr-xtext /
                      utf-8-addr-unitext /
                      utf-8-address

utf-8-addr-xtext    = 1*(QCHAR / EmbeddedUnicodeChar)
                      ; 7bit form of utf-8-addr-unitext.
                      ; Safe for use in the ORCPT [RFC3461]
                      ; parameter even when UTF8SMTP SMTP
                      ; extension is not advertised.

utf-8-addr-unitext  = 1*(QUCHAR / EmbeddedUnicodeChar)
                    ; MUST follow utf-8-address ABNF when
                    ; dequoted.
                    ; Safe for using in the ORCPT [RFC3461]
                    ; parameter when UTF8SMTP SMTP extension
                    ; is also advertised.

QCHAR              = %x21-2a / %x2c-3c / %x3e-5b / %x5d-7e
                    ; US-ASCII printable characters except
                    ; CTLs, SP, '\', '+', '='.

QUCHAR              = QCHAR / UTF8-2 / UTF8-3 / UTF8-4
                    ; US-ASCII printable characters except
                    ; CTLs, SP, '\', '+' and '=', plus
                    ; other Unicode characters encoded in UTF-8

EmbeddedUnicodeChar =   %x5C.78 "{" HEXPOINT "}"
                    ; starts with "\x"

HEXPOINT = ( ( "0"/"1" ) %x31-39 ) / "10" / "20" /
           "2B" / "3D" / "7F" /         ; all xtext-specials
           "5C" / (HEXDIG8 HEXDIG) /    ; 2 digit forms
           ( NZHEXDIG 2(HEXDIG) ) /     ; 3 digit forms		   
           ( NZDHEXDIG 3(HEXDIG) ) /    ; 4 digit forms excluding
           ( "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"
</artwork></figure>

    </section>
    
    <section title="UTF-8 Delivery Status Notifications" anchor="eai-dsn-format">
      <t>
	A traditional <xref target="RFC3464">delivery status notification</xref> comes
	in a three-part <xref target="RFC3462">multipart/report</xref> container,
	where the first part is human-readable text describing the error,
	the second part is a 7-bit-only message/delivery-status, and the optional third part
	is used for content (message/rfc822) or header (text/rfc822-headers) return.
	As the present standard DSN format does not permit the return of undeliverable
	UTF8SMTP messages, three new media types are needed.
	(<xref target='RFC5337'/> introduced experimental versions of these media types.)
      </t>

      <section title='The message/global-delivery-status Media Type'>
      <t>
	The first type, message/global-delivery-status, has the syntax of
	message/delivery-status with three modifications.

	First, the charset
	for message/global-delivery-status is UTF-8, and thus any field MAY
	contain UTF-8 characters when appropriate (see the ABNF below).
	In particular, the Diagnostic-Code field MAY contain UTF-8 as described in
	<xref target='I-D.ietf-eai-rfc5336bis'>UTF8SMTP</xref>;
	the Diagnostic-Code field SHOULD be in i-default language <xref target='RFC2277'/>.
	
	Second, systems generating a message/global-delivery-status
	body part SHOULD use the utf-8-address form of the UTF-8 address type for
	all addresses containing characters outside the US-ASCII repertoire.
	These systems SHOULD up-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 utf-8-address form
	of a UTF-8 address type in the Original-Recipient field.
	
	Third, an optional field called Localized-Diagnostic is added.
	Each instance includes a language tag <xref target='RFC5646'/> and contains text in the
	specified language. This is equivalent to the text part of the Diagnostic-Code
	field. All instances of Localized-Diagnostic MUST use different language tags.
	The ABNF for message/global-delivery-status is specified below.
      </t>
      
      <t>
	In the ABNF below, all productions not defined in this document
	are defined in Appendix B of <xref target="RFC5234"/>, in Section 4
	of <xref target="RFC3629"/>, or in <xref target="RFC3464"/>.
	Note that <text-fixed> is the same as <text> from <xref target='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.
      </t>
      
      <figure><artwork type="ABNF">
utf-8-delivery-status-content = per-message-fields
                      1*( CRLF utf-8-per-recipient-fields )
     ; "per-message-fields" remains unchanged from the definition
     ; in RFC 3464, except for the "extension-field"
     ; which is updated below.
	  
utf-8-per-recipient-fields =
      [ original-recipient-field CRLF ]
      final-recipient-field CRLF
      action-field CRLF
      status-field CRLF
      [ remote-mta-field CRLF ]
      [ diagnostic-code-field CRLF
        *(localized-diagnostic-text-field CRLF) ]
      [ last-attempt-date-field CRLF ]
          [ final-log-id-field CRLF ]
      [ will-retry-until-field CRLF ]
      *( extension-field CRLF )
  ; All fields except for "original-recipient-field",
  ; "final-recipient-field", "diagnostic-code-field"
  ; and "extension-field" remain unchanged from
  ; the definition in RFC 3464.

generic-address =/ utf-8-enc-addr
  ; Only allowed with the "utf-8" address-type.
  ; Updates Section 3.2.3 of RFC3798
  ; 
  ; This indirectly updates "original-recipient-field"
  ; and "final-recipient-field"

diagnostic-code-field =
     "Diagnostic-Code" ":" diagnostic-type ";" *text-fixed
	  
localized-diagnostic-text-field =
     "Localized-Diagnostic" ":" Language-Tag ";" *utf8-text
  ; "Language-Tag" is a language tag as defined in [RFC5646].

extension-field =/ extension-field-name ":" *utf8-text
  ; Updates Section 7 of RFC3798

text-fixed = %d1-9 /      ; Any US-ASCII character except for NUL,
             %d11 /       ; CR and LF
             %d12 /       ; See note above about <text-fixed>
             %d14-127

utf8-text = text-fixed / UTF8-non-ascii

UTF8-non-ascii   = UTF8-2 / UTF8-3 / UTF8-4
</artwork></figure>

      </section>
      <section title='The message/global Media Type'>
      <t>
	The second type, used for returning the content, is message/global which is similar to message/rfc822,
	except it contains a message with UTF-8 headers.  This media type is described in <xref target="I-D.ietf-eai-rfc5335bis"/>.
      </t>
      </section>
      <section title='The message/global-headers Media Type'>
      <t>
	The third type, used for returning the headers, is
	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).  Unlike message/global, this body part provides no
	difficulties for the present infrastructure.
      </t>
      </section>
      <section title='Using These Media Types with multipart/report'>      
      <t>
	Note that as far as a <xref target="RFC3462">multipart/report</xref> container is concerned,
	message/global-delivery-status, message/global, and message/global-headers MUST be treated as equivalent
	to message/delivery-status, message/rfc822, and
	text/rfc822-headers.
	That is, implementations processing
	multipart/report MUST expect any combinations of the 6 media types mentioned above inside a
	multipart/report media type.
      </t>
      
      <t>
	All three new types will typically use the "8bit" Content-Transfer-Encoding.
	(In the event all content is 7-bit, the equivalent traditional types for
	delivery status notifications MAY be used.
	For example, if information in message/global-delivery-status
	part can be represented
	without any loss of information as message/delivery-status, then the message/delivery-status
	body part may be used.)
	Note that <xref target='I-D.ietf-eai-rfc5335bis'/> relaxed a restriction from <xref target="RFC2046">MIME</xref>
	regarding the use of Content-Transfer-Encoding in new "message" subtypes.
	This specification explicitly allows the use of Content-Transfer-Encoding in
	message/global-headers and message/global-delivery-status.
	This is not believed to be problematic as these new media types are intended primarily for use by newer systems with
	full support for 8-bit MIME and UTF-8 headers.
      </t>
      </section>
      
      <section title="Additional Requirements on SMTP Servers" anchor="eai-servers">
	<t>
	  If an SMTP server that advertises both UTF8SMTP and DSN needs to return an undeliverable
	  UTF8SMTP message, then it has two choices for
	  encapsulating the UTF8SMTP message when generating the corresponding
	  multipart/report:
	  <list>
	  <t>
	  If the return path SMTP server does not support UTF8SMTP, then the undeliverable
	  body part and headers MUST be encoded using a 7-bit Content-Transfer-Encoding such as
	  "base64" or "quoted-printable" <xref target="RFC2045"/>, as detailed in <xref target="eai-dsn-format"/>.
	  </t><t>
	  Otherwise, "8bit" Content-Transfer-Encoding can be used.
	  </t>
	  </list>
	</t>
      </section>
    </section>
    
    <section title="UTF-8 Message Disposition Notifications">
      <t>
	<xref target="RFC3798">Message Disposition Notifications</xref> have a similar design
	and 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 part of the
	multipart/report contains the returned content (message/global) or header
	(message/global-headers), same as for DSNs.
	The second part of the multipart/report uses a new media type,
	message/global-disposition-notification, which has the syntax of
	message/disposition-notification with two modifications.  First, the charset
	for message/global-disposition-notification is UTF-8, and thus any field MAY
	contain UTF-8 characters when appropriate (see the ABNF below).
	(In particular, the failure-field, the error-field, and the warning-field
	MAY contain UTF-8. These fields SHOULD be in i-default language <xref target='RFC2277'/>.)
	Second, systems generating a message/global-disposition-notification
	body part (typically a mail user agent) SHOULD use the UTF-8 address type
	for all addresses containing characters outside the US-ASCII repertoire.
      </t>
      
      <t>
	The MDN specification also defines the Original-Recipient header field,
	which is added with a copy of the contents of ORCPT at delivery time.
	When generating an Original-Recipient header field, a 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 UTF-8 address type
	in the ORCPT parameter to the corresponding utf-8-address form.
      </t>
      
      <t>
	The MDN specification also defines the Disposition-Notification-To header
	field, which is an address header field and thus follows the same 8-bit
	rules as other address header fields such as "From" and "To" when used in a
	UTF-8 header message.
      </t>
      
      <figure><artwork type="ABNF">
  ; ABNF for "original-recipient-header", "original-recipient-field",
  ; and "final-recipient-field" from RFC 3798 is implicitly updated
  ; as they use the updated "generic-address" as defined in
  ; Section 4 of this document.

failure-field = "Failure" ":" *utf8-text
  ; "utf8-text" is defined in Section 4 of this document.

error-field = "Error" ":" *utf8-text
  ; "utf8-text" is defined in Section 4 of this document.

warning-field = "Warning" ":" *utf8-text
  ; "utf8-text" is defined in Section 4 of this document.
</artwork></figure>
      
    </section>
    
    <?rfc needLines="10"?>
    <section title="IANA Considerations">
      <t>
	This specification does not create any new IANA registries.
	However, the following items are registered as a result of this document.
      </t>
      <section title="UTF-8 Mail Address Type Registration">
	<t>
	  The mail address type registry was created by <xref target="RFC3464"/>.
	  The registration template response follows:
	  
	  <list style="hanging" hangIndent="4">
	    <t hangText="(a)">The proposed address-type name.
	      <vspace blankLines="1"/>
	      UTF-8</t>
	    
	    <t hangText="(b)">The syntax for mailbox addresses of this type, specified using BNF, regular expressions, ASN.1, or other non-ambiguous language.
	      <vspace blankLines="1"/>
	      See <xref target="utf8addr" />.
	    </t>
	    
	    <t hangText="(c)">If addresses of this type are not composed entirely of graphic characters from the US-ASCII repertoire, a specification for how they are to be encoded as graphic US-ASCII characters in a DSN Original-Recipient or Final-Recipient DSN field.
	      <vspace blankLines="1"/>
	      This address type has 3 forms (as defined in <xref target="utf8addr"/>):
	      utf-8-addr-xtext, utf-8-addr-unitext, and utf-8-address.
	      Only the first form is 7-bit safe.
	    </t>
	  </list>
	</t>

	<t>
	  The utf-8-address form MUST NOT be used:
	  
	  <list style="numbers">
	    <t>
	      in the ORCPT parameter when the SMTP server doesn't advertise support for UTF8SMTP;</t>
	    
	    <t>
	      or the SMTP server supports UTF8SMTP, but the address contains US-ASCII characters not permitted in
	      the ORCPT parameter (e.g., the ORCPT parameter forbids SP and the = characters);</t>
	    
	    <t>
	      or in a 7-bit transport environment including a message/delivery-status
	      Original-Recipient or Final-Recipient field.
	    </t>
	  </list>
	  The utf-8-addr-xtext form MUST be used instead in the first and the third case;
	  the utf-8-addr-unitext form MUST be used in the second case.
	  <vspace/>
	  
	  The utf-8-address form MAY be used in the ORCPT parameter when the SMTP
	  server also advertises support for UTF8SMTP and the address doesn't contain
	  any US-ASCII characters not permitted in the ORCPT parameter; in a
	  message/global-delivery-status Original-Recipient or Final-Recipient
	  DSN field; or in an <xref target="RFC3798">Original-Recipient header field</xref>
	  if the message is a UTF8SMTP message.
	</t>

	<t>
	  In addition, the utf-8-addr-unitext form can be used anywhere where
	  the utf-8-address form is allowed.
	</t>

      </section>
      <section title="Update to 'smtp' Diagnostic Type Registration">
	<t>
	  The mail diagnostic type registry was created by <xref target="RFC3464"/> and updated by
	  <xref target="RFC5337"/> and this specification.
	  The registration for the 'smtp' diagnostic type should be updated to reference
	  RFC &rfc.number; in addition to <xref target="RFC3464"/> and <xref target="RFC5337"/>.
	</t>
	<t>
	  When the 'smtp' diagnostic type is used in the context of a message/delivery-status
	  body part, it remains as presently defined.  When the 'smtp' diagnostic type is used
	  in the context of a message/global-delivery-status body part, the codes remain the same,
	  but the text portion MAY contain UTF-8 characters.
	</t>
      </section>
      <section title="message/global-headers">
	<t>
	  <list style="hanging">
	    <t hangText="Type name:">message</t>
	    <t hangText="Subtype name:">global-headers</t>
	    <t hangText="Required parameters:">none</t>
	    <t hangText="Optional parameters:">none</t>
	    <t hangText="Encoding considerations:">This media type contains <xref target="I-D.ietf-eai-rfc5335bis">Internationalized Email Headers</xref> with no message body.  Whenever possible, the 8-bit content transfer encoding SHOULD be used.  When this media type passes through a 7-bit-only SMTP infrastructure it MAY be encoded with the base64 or quoted-printable content transfer encoding.
	    </t>
	    <t hangText="Security considerations:">See <xref target="seccons" />.
	    </t>
	    <t hangText="Interoperability considerations:">It is important that this media type is not converted to a charset other than UTF-8.  As a result, implementations MUST NOT include a charset parameter with this media type.  Although it might be possible to downconvert this media type to the text/rfc822-header media type, such conversion is discouraged as it loses information.</t>
	    <t hangText="Published specification:">RFC &rfc.number;</t>
	    <t hangText="Applications that use this media type:">UTF8SMTP servers and email clients that support multipart/report generation or parsing.</t>
	    <t hangText="Additional information:"></t>
	    <t hangText="Magic number(s):">none</t>
	    <t hangText="File extension(s):">In the event this is saved to a file, the extension ".u8hdr" is suggested.</t>
	    <t hangText="Macintosh file type code(s):">The 'TEXT' type code is suggested as files of this type are typically used for diagnostic purposes and suitable for analysis in a UTF-8 aware text editor.  A uniform type identifier (UTI) of "public.utf8-email-message-header" is suggested.  This type conforms to "public.utf8-plain-text" and "public.plain-text".</t>
	    <t hangText="Person & email address to contact for further information:">See the Authors' Addresses section of this document.</t>
	    <t hangText="Intended usage:">COMMON</t>
	    <t hangText="Restrictions on usage:">This media type contains textual data in the UTF-8 charset.  It typically contains octets with the 8th bit set.  As a result, a transfer encoding is required when a 7-bit transport is used.</t>
	    <t hangText="Author:">See the Authors' Addresses section of this document.</t>
	    <t hangText="Change controller:">IETF Standards Process</t>
	</list></t>
      </section>
      <section title="message/global-delivery-status">
	<t>
	  <list style="hanging">
	    <t hangText="Type name:">message</t>
	    <t hangText="Subtype name:">global-delivery-status</t>
	    <t hangText="Required parameters:">none</t>
	    <t hangText="Optional parameters:">none</t>
	    <t hangText="Encoding considerations:">This media type contains delivery status notification attributes in the UTF-8 charset.  The 8-bit content transfer encoding MUST be used with this content-type, unless it is sent over a 7-bit transport environment in which case quoted-printable or base64 may be necessary.</t>
	    <t hangText="Security considerations:">See <xref target="seccons" /></t>
	    <t hangText="Interoperability considerations:">This media type provides functionality similar to the message/delivery-status content-type for email message return information.  Clients of the previous format will need to be upgraded to interpret the new format; however, the new media type makes it simple to identify the difference.</t>
	    <t hangText="Published specification:">RFC &rfc.number;</t>
	    <t hangText="Applications that use this media type:">SMTP servers and email clients that support delivery status notification generation or parsing.</t>
	    <t hangText="Additional information:"></t>
	    <t hangText="Magic number(s):">none</t>
	    <t hangText="File extension(s):">The extension ".u8dsn" is suggested.</t>
	    <t hangText="Macintosh file type code(s):">A uniform type identifier (UTI) of "public.utf8-email-message-delivery-status" is suggested.  This type conforms to "public.utf8-plain-text".</t>
	    <t hangText="Person & email address to contact for further information:">See the Authors' Addresses section of this document.</t>
	    <t hangText="Intended usage:">COMMON</t>
	    <t hangText="Restrictions on usage:">This is expected to be the second part of a multipart/report.</t>
	    <t hangText="Author:">See the Authors' Addresses section of this document.</t>
	    <t hangText="Change controller:">IETF Standards Process</t>
	</list></t>
      </section>
      <section title="message/global-disposition-notification">
	<t>
	  <list style="hanging">
	    <t hangText="Type name:">message</t>
	    <t hangText="Subtype name:">global-disposition-notification</t>
	    <t hangText="Required parameters:">none</t>
	    <t hangText="Optional parameters:">none</t>
	    <t hangText="Encoding considerations:">This media type contains disposition notification attributes in the UTF-8 charset.  The 8-bit content transfer encoding MUST be used with this content-type, unless it is sent over a 7-bit transport environment in which case quoted-printable or base64 may be necessary.</t>
	    <t hangText="Security considerations:">See <xref target="seccons" />.</t>
	    <t hangText="Interoperability considerations:">This media type provides functionality similar to the message/disposition-notification content-type for email message disposition information.  Clients of the previous format will need to be upgraded to interpret the new format; however, the new media type makes it simple to identify the difference.</t>
	    <t hangText="Published specification:">RFC &rfc.number;</t>
	    <t hangText="Applications that use this media type:">Email clients or servers that support message disposition notification generation or parsing.</t>
	    <t hangText="Additional information:"></t>
	    <t hangText="Magic number(s):">none</t>
	    <t hangText="File extension(s):">The extension ".u8mdn" is suggested.</t>
	    <t hangText="Macintosh file type code(s):">A uniform type identifier (UTI) of "public.utf8-email-message-disposition-notification" is suggested.  This type conforms to "public.utf8-plain-text".</t>
	    <t hangText="Person & email address to contact for further information:">See the Authors' Addresses section of this document.</t>
	    <t hangText="Intended usage:">COMMON</t>
	    <t hangText="Restrictions on usage:">This is expected to be the second part of a multipart/report.</t>
	    <t hangText="Author:">See the Authors' Addresses section of this document.</t>
	    <t hangText="Change controller:">IETF Standards Process</t>
	</list></t>
      </section>
    </section>
    
    <section title="Security Considerations" anchor="seccons">
      <t>
	Automated use of report types without authentication presents several security issues.  Forging negative reports presents the opportunity for denial-of-service attacks when the reports are used for automated maintenance of directories or mailing lists.  Forging positive reports may cause the sender to incorrectly believe a message was delivered when it was not.
      </t>
      <t>
	Malicious users can generate report structures designed to trigger coding flaws in report parsers.  Report parsers need to use secure coding techniques to avoid the risk of buffer overflow or denial-of-service attacks against parser coding mistakes.  Code reviews of such parsers are also recommended.
      </t> 
      <t>
	Malicious users of the email system regularly send messages with forged envelope return paths, and these messages trigger delivery status reports that result in a large amount of unwanted traffic on the Internet.  Many users choose to ignore delivery status notifications because they are usually the result of "blowback" from forged messages and thus never notice when messages they sent go undelivered.  As a result, support for correlation of delivery status and message disposition notification messages with sent-messages has become a critical feature of mail clients and possibly mail stores if the email infrastructure is to remain reliable.  In the short term, simply correlating message-IDs may be sufficient to distinguish true status notifications from those resulting from forged originator addresses.  But in the longer term, including cryptographic signature material that can securely associate the status notification with the original message is advisable.
      </t>
      <t>
	As this specification permits UTF-8 in additional fields, the security considerations of <xref target="RFC3629">UTF-8</xref> apply.
      </t>
    </section>
    
  </middle>
  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?> <!-- Keywords -->
      <?rfc include="reference.RFC.2277"?> <!-- DEFAULTLANG -->
      <?rfc include="reference.RFC.3461"?> <!-- SMTP DSN -->
      <?rfc include="reference.RFC.3462"?> <!-- multipart/report -->
      <?rfc include="reference.RFC.3464"?> <!-- DSN format -->
      <?rfc include="reference.RFC.3629"?> <!-- UTF-8 -->
      <?rfc include="reference.RFC.3798"?> <!-- MDN format -->
      <?rfc include="reference.RFC.5646"?> <!-- LANGTAGS -->
      <?rfc include="reference.RFC.5321"?> <!-- SMTP -->
      <?rfc include="reference.RFC.5322"?> <!-- SMTP -->
      <?rfc include="reference.RFC.5234"?> <!-- ABNF -->
      <?rfc include="reference.I-D.ietf-eai-rfc5335bis"?><!-- email headers -->
      <?rfc include="reference.I-D.ietf-eai-rfc5336bis"?><!-- utf8 smtp -->
      <?rfc include="reference.I-D.ietf-eai-frmwrk-4952bis"?><!-- overview and framework -->
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.2045"?> <!-- MIME bodies -->
      <?rfc include="reference.RFC.2046"?> <!-- MIME media types -->
      <?rfc include="reference.RFC.5337"?> <!-- MIME media types -->
    </references>

    <section title="Changes Since ...">
      <section title="Changes Since -00">
	<t>
	  NOTE TO RFC EDITOR: Remove this section for publication.
	</t>
	<t>
	  Incorporated changes from draft-ietf-eai-dsnbis-01.
	</t>
	<t>
	  Fixed description of utf-8-addr-xtext and utf-8-addr-unitext.      
	</t>
	<t>
	  Other minor corrections.
	</t>
	<t>
	  Incorporated comments by Apps Area reviewers.
	</t>
	<t>
	  References to Downgrade and uMailbox removed/fixed.
	</t>
      </section>
      <section title="Changes Since RFC 5337">
      <t>
	Made changes to move from Experimental to Standards Track.  The most
	significant was the removal of an embedded alternative ASCII address
	within a utf-8-address, and reflections of the ABNF changes in
	<xref target="I-D.ietf-eai-rfc5336bis"/>.
      </t>
      <t>
	ABNF changes and errata suggested by Alfred Hoenes.
      </t>
      <t>
	Minor changes to MIME type references.
      </t>
      <t>
	Other minor corrections.
      </t>
      </section>
    </section>
    <section title="Acknowledgements">
      <t>
	Many thanks for input provided by Pete Resnick, James Galvin, Ned Freed,
	John Klensin, Harald Alvestrand, Frank Ellermann, SM,
	Alfred Hoenes, Kazunori Fujiwara,
	and members of the EAI WG to help solidify this proposal.
      </t>
    </section>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 04:23:17