draft-ietf-eai-popimap-downgrade-08.txt   rfc6857.txt 
Email Address Internationalization K. Fujiwara Internet Engineering Task Force (IETF) K. Fujiwara
(EAI) JPRS Request for Comments: 6857 JPRS
Internet-Draft Oct 22, 2012 Category: Standards Track March 2013
Intended status: Standards Track ISSN: 2070-1721
Expires: April 25, 2013
Post-delivery Message Downgrading for Internationalized Email Messages Post-Delivery Message Downgrading for Internationalized Email Messages
draft-ietf-eai-popimap-downgrade-08.txt
Abstract Abstract
The Email Address Internationalization (SMTPUTF8) extension to SMTP The Email Address Internationalization (SMTPUTF8) extension to SMTP
allows UTF-8 characters in mail header fields. Upgraded POP and IMAP allows Unicode characters encoded in UTF-8 and outside the ASCII
servers support internationalized Email messages. If a POP/IMAP repertoire in mail header fields. Upgraded POP and IMAP servers
client does not support Email Address Internationalization, POP/IMAP support internationalized messages. If a POP or IMAP client does not
servers cannot deliver Internationalized Email Headers to the client support Email Address Internationalization, a POP or IMAP server
and cannot remove the message. To avoid the situation, this document cannot deliver internationalized messages to the client and cannot
describes a conversion mechanism for internationalized Email messages remove the message. To avoid that situation, this document describes
to be in traditional message format. In the process, message a mechanism for converting internationalized messages into the
elements requiring internationalized treatment are recoded or removed traditional message format. As part of the conversion process,
and receivers are able to know that they received messages containing message elements that require internationalized treatment are recoded
such elements even if they cannot process the internationalized or removed, and receivers are able to recognize that they received
elements. messages containing such elements, even if they cannot process the
internationalized elements.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on April 25, 2013. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6857.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2013 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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Problem statement . . . . . . . . . . . . . . . . . . . . 4 1.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 4
1.2. Possible solutions . . . . . . . . . . . . . . . . . . . . 4 1.2. Possible Solutions . . . . . . . . . . . . . . . . . . . . 4
1.3. Approach taken in this specification . . . . . . . . . . . 4 1.3. Approach Taken in This Specification . . . . . . . . . . . 5
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Email Header Fields Downgrading . . . . . . . . . . . . . . . 6 3. Email Message Header Field Downgrading . . . . . . . . . . . . 7
3.1. Downgrading Method for Each ABNF Element . . . . . . . . . 6 3.1. Downgrading Method for Each ABNF Element . . . . . . . . . 7
3.1.1. UNSTRUCTURED Downgrading . . . . . . . . . . . . . . . 6 3.1.1. Unstructured Downgrading . . . . . . . . . . . . . . . 7
3.1.2. WORD Downgrading . . . . . . . . . . . . . . . . . . . 6 3.1.2. Word Downgrading . . . . . . . . . . . . . . . . . . . 7
3.1.3. COMMENT Downgrading . . . . . . . . . . . . . . . . . 6 3.1.3. Comment Downgrading . . . . . . . . . . . . . . . . . 7
3.1.4. MIME-VALUE Downgrading . . . . . . . . . . . . . . . . 7 3.1.4. MIME-Value Downgrading . . . . . . . . . . . . . . . . 7
3.1.5. DISPLAY-NAME Downgrading . . . . . . . . . . . . . . . 7 3.1.5. Display-Name Downgrading . . . . . . . . . . . . . . . 7
3.1.6. DOMAIN Downgrading . . . . . . . . . . . . . . . . . . 7 3.1.6. Domain Downgrading . . . . . . . . . . . . . . . . . . 8
3.1.7. GROUP Downgrading . . . . . . . . . . . . . . . . . . 7 3.1.7. Group Downgrading . . . . . . . . . . . . . . . . . . 8
3.1.8. MAILBOX Downgrading . . . . . . . . . . . . . . . . . 8 3.1.8. Mailbox Downgrading . . . . . . . . . . . . . . . . . 8
3.1.9. TYPED-ADDRESS Downgrading . . . . . . . . . . . . . . 8 3.1.9. Type-Addr Downgrading . . . . . . . . . . . . . . . . 9
3.1.10. ENCAPSULATION: A Last Resort . . . . . . . . . . . . . 8 3.1.10. Encapsulation: A Last Resort . . . . . . . . . . . . . 9
3.2. Downgrading Method for Each Header Field . . . . . . . . . 10 3.2. Downgrading Method for Each Header Field . . . . . . . . . 10
3.2.1. Address Header Fields That Contain <address>s . . . . 10 3.2.1. Address Header Fields That Contain <address>
3.2.2. Downgrading Non-ASCII in Comments . . . . . . . . . . 11 Elements . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2. Non-ASCII Strings in <comment> Elements . . . . . . . 11
3.2.3. Message-ID Header Fields . . . . . . . . . . . . . . . 11 3.2.3. Message-ID Header Fields . . . . . . . . . . . . . . . 11
3.2.4. Received Header Field . . . . . . . . . . . . . . . . 11 3.2.4. Received Header Field . . . . . . . . . . . . . . . . 11
3.2.5. MIME Content Header Fields . . . . . . . . . . . . . . 12 3.2.5. MIME Content Header Fields . . . . . . . . . . . . . . 12
3.2.6. Non-ASCII in <unstructured> . . . . . . . . . . . . . 12 3.2.6. Non-ASCII Characters in <unstructured> Elements . . . 12
3.2.7. Non-ASCII in <phrase> . . . . . . . . . . . . . . . . 12 3.2.7. Non-ASCII Characters in <phrase> Elements . . . . . . 12
3.2.8. Other Header Fields . . . . . . . . . . . . . . . . . 12 3.2.8. Other Header Fields . . . . . . . . . . . . . . . . . 12
4. MIME Downgrading . . . . . . . . . . . . . . . . . . . . . . . 12 4. MIME Body Parts and Delivery Status Notifications . . . . . . 12
4.1. MIME Body-Part Header Field Downgrading . . . . . . . . . 13 4.1. MIME Body Part Header Field Downgrading . . . . . . . . . 13
4.2. Delivery Status Notification downgrading . . . . . . . . . 13 4.2. Delivery Status Notification Downgrading . . . . . . . . . 13
5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13
6. Implementation Notes . . . . . . . . . . . . . . . . . . . . . 14 6. Implementation Note: Encoded-Word Encoding . . . . . . . . . . 14
6.1. RFC 2047 Encoding . . . . . . . . . . . . . . . . . . . . 14
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
7.1. Obsolescence of Existing Downgraded-* Header Fields . . . 15 7.1. Obsolescence of Existing Downgraded-* Header Fields . . . 15
7.2. Registration of New Downgraded-* Header Fields . . . . . . 15 7.2. Registration of New Downgraded-* Header Fields . . . . . . 15
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.1. Normative References . . . . . . . . . . . . . . . . . . . 16 9.1. Normative References . . . . . . . . . . . . . . . . . . . 16
9.2. Informative References . . . . . . . . . . . . . . . . . . 18 9.2. Informative References . . . . . . . . . . . . . . . . . . 18
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 18 Appendix A. Downgrading Example . . . . . . . . . . . . . . . . . 19
A.1. Downgrading Example . . . . . . . . . . . . . . . . . . . 18
Appendix B. Change History . . . . . . . . . . . . . . . . . . . 20
B.1. Version 00 . . . . . . . . . . . . . . . . . . . . . . . . 20
B.2. Version 01 . . . . . . . . . . . . . . . . . . . . . . . . 20
B.3. Version 02 . . . . . . . . . . . . . . . . . . . . . . . . 20
B.4. Version 03 . . . . . . . . . . . . . . . . . . . . . . . . 21
B.5. Version 04 . . . . . . . . . . . . . . . . . . . . . . . . 21
B.6. Version 05 . . . . . . . . . . . . . . . . . . . . . . . . 21
B.7. Version 06 . . . . . . . . . . . . . . . . . . . . . . . . 21
B.8. Version 07 . . . . . . . . . . . . . . . . . . . . . . . . 22
B.9. Version 08 . . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
1.1. Problem statement 1.1. Problem Statement
Traditional (legacy) mail systems, which are defined by [RFC5322] and Traditional (legacy) mail systems, which are defined by the Internet
other specifications, allow only ASCII characters in mail header Message Format [RFC5322] and other specifications, allow only ASCII
field values. The SMTPUTF8 extension ([RFC6530], [RFC6531] and characters in mail header field values. The SMTPUTF8 extension
[RFC6532]) allow raw UTF-8 in those mail header fields. [RFC6530] [RFC6531] [RFC6532] allows Unicode characters encoded in
UTF-8 [RFC3629] in these mail header fields. "Raw non-ASCII strings"
refers to strings of those characters in which at least one of them
is not part of the ASCII repertoire.
If a header field contains non-ASCII strings, POP/IMAP servers cannot If a header field contains non-ASCII strings, a POP or IMAP server
deliver Internationalized Email Headers to legacy clients which does cannot deliver internationalized messages to legacy clients that do
not send UTF8 command or UTF8 capability, and because they have no not send UTF8 commands or have UTF8 capability. Also, because they
obvious or standardized way to explain what is going on to those have no obvious or standardized way to explain what is going on to
clients, cannot even safely discard the message. clients, a POP or IMAP server cannot even safely discard the message.
1.2. Possible solutions 1.2. Possible Solutions
There are four plausible approaches to the problem, with the There are four plausible approaches to the problem. The preferred
preferred one depending on the particular circumstances and approach depends on the particular circumstances and relationship
relationship among the delivery SMTP server, the mail store, the POP among the delivery SMTP server, the mail store, the POP or IMAP
or IMAP server, and the users and their MUA clients: server, and the users and their Mail User Agent (MUA) clients. The
four approaches are as follows:
1. If the delivery MTA has sufficient knowledge about the POP and/or 1. If the delivery Mail Transport Agent (MTA) has sufficient
IMAP servers and clients being used, the message may be rejected knowledge about the POP or IMAP server and the clients being
as undeliverable. used, the message may be rejected as undeliverable.
2. The message may be downgraded by the POP or IMAP server, in a way 2. A new, surrogate, message may be created by downgrading the
that preserves maximum information at the expense of some original one in the POP or IMAP server in a way that preserves
complexity, and does not create security or operational problems maximum information at the expense of some complexity and that
in the mail system. does not create security or operational problems in the mail
system. These surrogate messages are referred to as "downgraded"
in this specification and as "surrogate messages" elsewhere.
3. Some intermediate downgrading may be applied that balances more 3. Some intermediate downgrading may be applied that balances
information loss against lower complexity and greater ease of additional information loss against lower complexity and greater
implementation. ease of implementation.
4. The POP or IMAP server may fabricate a message whose intent is to 4. The POP or IMAP server may fabricate a message that is intended
notify the client that an internationalized message is waiting to notify the client that an internationalized message is waiting
but cannot be delivered until an upgraded client is available. but cannot be delivered until an upgraded client is available.
1.3. Approach taken in this specification 1.3. Approach Taken in This Specification
This specification describes the second of those options. It is This specification describes the second of these options. It is
worth noticing that, at least in the general case, none of these worth noting that, at least in the general case, none of these
options preserve sufficient information to guarantee that it is options preserves sufficient information to guarantee that it is
possible to reply to an incoming message without loss of information, possible to reply to an incoming message without loss of information,
so the choice may be considered to be among "least bad" options. so the choice may be considered one of the available "least bad"
While this document specifies a well designed mechanism, it is only options. While this document specifies a well-designed mechanism, it
an interim solution while clients are being upgraded is only an interim solution while clients are being upgraded
[RFC6855] [RFC6856].
[I-D.ietf-eai-rfc5721bis] [I-D.ietf-eai-5738bis].
This message downgrading mechanism converts mail header fields to an This message downgrading mechanism converts mail header fields to an
all-ASCII representation. The POP/IMAP servers can use the all-ASCII representation. The POP or IMAP server can use the
downgrading mechanism and deliver the Internationalized Email message downgrading mechanism and then deliver the internationalized message
as a traditional form. Receivers can know they received some in a traditional form, which allows receivers to know whether a
internationalized messages or some unknown or broken messages. message is internationalized or unknown or broken.
[RFC6532] allows UTF-8 characters to be used in mail header fields The Internationalized Mail Header specification [RFC6532] allows
and MIME header fields. [RFC6531] allows UTF-8 characters to be used UTF-8 characters (see Section 2) to be used in mail header fields and
in some trace header fields. The message downgrading mechanism MIME header fields. The Internationalized Mail Transport
specified here describes the conversion method from the specification [RFC6531] allows UTF-8 characters to be used in some
internationalized messages that are defined in [RFC6530], and trace header fields. The message downgrading mechanism specified
[RFC6532] to the traditional email messages defined in [RFC5322]. here describes the method by which internationalized messages
[RFC6530] [RFC6532] are converted to traditional email messages
[RFC5322].
This document provides a precise definition of the minimum- This document provides a precise definition of the minimum-
information-loss message downgrading process. information-loss message downgrading process.
Downgrading consists of the following three parts: Downgrading consists of the following two parts:
o New header field definitions
o Email header field downgrading o Email header field downgrading
o MIME header field downgrading o MIME header field downgrading
Email header field downgrading is described in Section 3. It Email header field downgrading is described in Section 3. It
generates ASCII-only header fields. generates ASCII-only header fields.
In Section 3.1.10 of this document, header fields starting with Header fields starting with Downgraded- are introduced in
"Downgraded-" are introduced. They preserve the information that Section 3.1.10. They preserve the information that appeared in the
appeared in the original header fields. original header fields.
The definition of MIME header fields in Internationalized Email The definition of MIME header fields in internationalized messages is
Messages is described in [RFC6532]. MIME header field downgrading is described in RFC 6532. A delivery status notification may contain
described in Section 4.1. It generates ASCII-only MIME header non-ASCII addresses. MIME header field downgrading is described in
fields. Section 4.1. Delivery status notification downgrading is described
in Section 4.2. It generates ASCII-only MIME header fields.
Displaying downgraded messages that originally contained Displaying downgraded messages that originally contained
internationalized header fields is out of scope of this document. A internationalized header fields is out of scope of this document. A
POP/IMAP client which does not support UTF8 extensions as defined for POP or IMAP client that does not support UTF8 extensions as defined
POP3 [UTF8 command] and IMAP ["ENABLE UTF8=ACCEPT" command] does not for POP3 "UTF8 command" and IMAP "ENABLE UTF8=ACCEPT command" does
know internationalized message format described in [RFC6532]. not recognize the internationalized message format [RFC6532].
2. Terminology 2. Terminology
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 RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
All specialized terms used in this specification are defined in the Many of the specialized terms used in this specification are defined
Overview and Framework for Internationalized Email [RFC6530], in the in other documents. They include "Overview and Framework for
mail message specifications [RFC5322], or in the MIME documents Internationalized Email" [RFC6530], the Internet Message Format
[RFC2045] [RFC2047] [RFC2183] [RFC2231]. The terms "U-label", specification [RFC5322], and some of the basic MIME documents
"A-label" and "IDNA" are used with the definitions from [RFC5890]. [RFC2045] [RFC2183]. This specification makes extensive use of the
The terms "ASCII address", "non-ASCII address", "SMTPUTF8", MIME Message Header Extensions [RFC2047] and extended MIME parameter
"message", "internationalized message" are used with the definitions encodings [RFC2231]. For convenience, both are described as
from [RFC6530]. The term "non-ASCII string" is used with the "encoded-words" or "encoded-word encoding". All of the encoded-words
definitions from [RFC6532]. generated according to this specification use UTF-8 as their charset.
3. Email Header Fields Downgrading The terms "U-label", "A-label", and "IDNA" are used as defined in the
IDNA Definitions document [RFC5890]. The terms "ASCII address",
"non-ASCII address", "SMTPUTF8", "message", and "internationalized
message" are used as defined RFC 6530. The term "non-ASCII string"
is used with the definition provided in the Internationalized Email
Headers document [RFC6532]. The term "UTF-8 character" is used
informally in this document to denote a Unicode character, encoded in
UTF-8, outside the ASCII repertoire. Such characters are more
formally described using the ABNF element <UTF8-non-ascii>, defined
in RFC 6532.
This section defines the conversion method to ASCII for each header This document refers to the Augmented Backus-Naur Form (ABNF)
field that may contain non-ASCII strings. Section 3.1 describes [RFC5234] elements that appear in RFC 5322 and RFC 2045. RFC 5322
rewriting methods for each ABNF element. Section 3.2 describes describes the ABNF elements <CFWS>, <comment>, <display-name>,
rewriting methods for each header field. <group>, <id-left>, <id-right>, <mailbox>, <quoted-string>,
<unstructured>, and <word>. RFC 2045 describes the ABNF element
<value>. Section 3.3 of the Internationalized Mail Transport
specification [RFC6531] and Section 3.2 of the Internationalized
Email Headers document [RFC6532] updated <domain> to allow non-ASCII
characters.
Some additional terms are defined locally in-line below.
3. Email Message Header Field Downgrading
This section defines the method for converting each header field that
may contain non-ASCII strings into ASCII. Section 3.1 describes the
methods for rewriting each ABNF element. Section 3.2 describes the
methods for rewriting each header field.
3.1. Downgrading Method for Each ABNF Element 3.1. Downgrading Method for Each ABNF Element
Header field downgrading is defined below for each ABNF element. Header field downgrading is defined below for each ABNF element.
Converting the header field terminates when no non-ASCII strings Conversion of the header field terminates when no characters other
remain in the header field. than those in the ASCII repertoire remain in the header field.
[RFC5322] describes ABNF elements <group>, <mailbox>, <unstructured>,
<word>, <comment>, <display-name>. [RFC2045] describes ABNF element
<value>. <domain> is updated to allow non-ASCII characters in Section
3.3 of [RFC6531] and Section 3.2 of [RFC6532].
3.1.1. UNSTRUCTURED Downgrading 3.1.1. Unstructured Downgrading
If the header field has an <unstructured> field that contains non- If the header field has an <unstructured> field that contains
ASCII strings, apply [RFC2047] encoding with charset UTF-8. non-ASCII strings, apply encoded-word encoding.
3.1.2. WORD Downgrading 3.1.2. Word Downgrading
If the header field has any <word> fields that contain non-ASCII If the header field has any <word> fields that contain non-ASCII
strings, apply [RFC2047] encoding with charset UTF-8. strings, apply encoded-word encoding.
3.1.3. COMMENT Downgrading 3.1.3. Comment Downgrading
If the header field has any <comment> fields that contain non-ASCII If the header field has any <comment> fields that contain non-ASCII
strings, apply [RFC2047] encoding with charset UTF-8. strings, apply encoded-word encoding.
3.1.4. MIME-VALUE Downgrading 3.1.4. MIME-Value Downgrading
If the header field has any <value> elements defined by [RFC2045] and If the header field has any <value> elements [RFC2045] that contain
the elements contain non-ASCII strings, encode the <value> elements non-ASCII strings, remove any <CFWS> that appear outside DQUOTE
according to [RFC2231] with charset UTF-8 and leave the language [RFC5234] that appear in those elements, then encode the <value>
information empty. If the <value> element is <quoted-string> and it elements as extended MIME parameter encodings [RFC2231] and leave the
contains <CFWS> outside the DQUOTE, remove the <CFWS> before this language information empty.
conversion.
3.1.5. DISPLAY-NAME Downgrading 3.1.5. Display-Name Downgrading
If the header field has any <address> (<mailbox> or <group>) elements If the header field has any <address> (<mailbox> or <group>)
and they have <display-name> elements that contain non-ASCII strings, elements, and they have <display-name> elements that contain
encode the <display-name> elements according to [RFC2047] with non-ASCII strings, encode the <display-name> elements as encoded-
charset UTF-8. DISPLAY-NAME downgrading is the same algorithm as words. Display-Name downgrading uses the same algorithm as Word
WORD downgrading. downgrading.
3.1.6. DOMAIN Downgrading 3.1.6. Domain Downgrading
If the header field has any <domain> elements that contain U-labels, If the header field has any <domain> elements that contain U-labels,
rewrite the non-ASCII domain name into ASCII domain name using rewrite the non-ASCII domain name into an ASCII domain name using
A-labels as specified in IDNA [RFC5891]. A-labels [RFC5891].
3.1.7. GROUP Downgrading 3.1.7. Group Downgrading
<group> is defined in Section 3.4 of [RFC5322]. The <group> elements <group> is defined in Section 3.4 of the Internet Message Format
may contain <mailbox>es which contain non-ASCII addresses. specification [RFC5322]. The <group> element may contain <mailbox>
elements that contain non-ASCII addresses.
If a <group> element contains <mailbox> elements and one of If a <group> element contains <mailbox> elements and one of those
<mailbox>es contains a non-ASCII <local-part>, rewrite the <group> <mailbox> elements contains a non-ASCII <local-part>, rewrite the
element as <group> element as
display-name " " ENCODED_WORD " :;" display-name " " ENCODED_WORD " :;"
where the <ENCODED_WORD> is the original <group-list> encoded where the <ENCODED_WORD> is the original <group-list> encoded as
according to [RFC2047]. encoded-words.
Otherwise, the <group> element does not contain non-ASCII <local- Otherwise, the <group> element contains an ASCII-only <local-part>.
part>. If the <group> element contain non-ASCII <mailbox>es, they If the <group> element contains non-ASCII <mailbox> elements, they
contains non-ASCII domain names. Rewrite the non-ASCII domain names contain non-ASCII domain names. Rewrite the non-ASCII domain names
into ASCII domain names using A-labels as specified in IDNA into ASCII domain names using A-labels [RFC5891]. Generated
[RFC5891]. Generated <mailbox>es contain ASCII addresses only. <mailbox> elements contain ASCII addresses only.
3.1.8. MAILBOX Downgrading 3.1.8. Mailbox Downgrading
If the <local-part> of the <mailbox> element does not contain non- If the <local-part> of the <mailbox> element contains no characters
ASCII characters, the <domain> element contains non-ASCII characters. other than those in the ASCII repertoire, the <domain> element may
Rewrite the non-ASCII domain name into ASCII domain name using contain non-ASCII characters. Rewrite the non-ASCII domain names
A-labels as specified in IDNA [RFC5891]. into ASCII domain names using A-labels [RFC5891].
Otherwise, the <local-part> contains non-ASCII characters. The non- Otherwise, the <local-part> may contain non-ASCII characters. The
ASCII <local-part> has no equivalent format for ASCII addresses. The <local-part> that contains characters outside the ASCII repertoire
<addr-spec> element that contains non-ASCII strings may appear in two has no equivalent format for ASCII addresses. The <addr-spec>
forms as: element that contains non-ASCII strings may appear in two forms as:
"<" addr-spec ">" "<" addr-spec ">"
or
addr-spec addr-spec
Rewrite both as: Rewrite both as:
ENCODED-WORD " :;" ENCODED-WORD " :;"
where the <ENCODED-WORD> is the original <addr-spec> encoded as
encoded-words.
where the <ENCODED-WORD> is the original <addr-spec> encoded 3.1.9. Type-Addr Downgrading
according to [RFC2047].
3.1.9. TYPED-ADDRESS Downgrading
If the header field contains <utf-8-type-addr> and the <utf-8-type- If the header field contains <utf-8-type-addr> and the
addr> contains raw non-ASCII strings, it is in utf-8-address form. <utf-8-type-addr> contains raw non-ASCII strings (<UTF8-non-ascii>),
Convert it to utf-8-addr-xtext form. Those forms are described in it is in utf-8-address form [RFC6533]. Convert it to
[RFC6533]. COMMENT downgrading is also performed in this case. If utf-8-addr-xtext form [RFC6533]. Comment downgrading is also
the address type is unrecognized and the header field contains non- performed in this case. If the address type is unrecognized and the
ASCII strings, then fall back to using ENCAPSULATION on the entire header field contains non-ASCII strings, then fall back to using
header field specified in Section 3.1.10. Encapsulation on the entire header field as specified in
Section 3.1.10.
3.1.10. ENCAPSULATION: A Last Resort 3.1.10. Encapsulation: A Last Resort
As a last resort when header fields cannot be converted as discussed As a last resort, when header fields cannot be converted as discussed
in the previous section, the fields are deleted and replaced by in the previous subsection, the fields are deleted and replaced by
specialized new header fields. Those fields are defined to preserve, specialized new header fields. Those fields are defined to preserve,
in encoded form, as much information as possible from the header in encoded form, as much information as possible from the header
field values of the incoming message. The syntax of these new header field values of the incoming message. This mechanism is known as
fields is: Encapsulation downgrading in this specification because it preserves
the original information in a different form. The syntax of these
new header fields is:
fields =/ downgraded fields =/ downgraded
downgraded = "Downgraded-Message-Id:" unstructured CRLF / downgraded = "Downgraded-Message-Id:" unstructured CRLF /
"Downgraded-Resent-Message-Id:" unstructured CRLF / "Downgraded-Resent-Message-Id:" unstructured CRLF /
"Downgraded-In-Reply-To:" unstructured CRLF / "Downgraded-In-Reply-To:" unstructured CRLF /
"Downgraded-References:" unstructured CRLF / "Downgraded-References:" unstructured CRLF /
"Downgraded-Original-Recipient:" unstructured CRLF / "Downgraded-Original-Recipient:" unstructured CRLF /
"Downgraded-Final-Recipient:" unstructured CRLF "Downgraded-Final-Recipient:" unstructured CRLF
Applying this procedure to "Received:" header field is prohibited. Applying this procedure to the "Received:" header field is
ENCAPSULATION Downgrading is allowed for "Message-ID", prohibited. Encapsulation downgrading is allowed for "Message-ID:",
"In-Reply-To:", "References:", "Original-Recipient" and "Final- "In-Reply-To:", "References:", "Original-Recipient:", and
Recipient" header fields. "Final-Recipient:" header fields.
To preserve a header field in a "Downgraded-" header field: To preserve a header field in a Downgraded- header field:
1. Generate a new header field. 1. Generate a new header field.
* The field name is a concatenation of "Downgraded-" and the * The field name is a concatenation of Downgraded- and the
original field name. original field name.
* The initial new field value is the original header field * The initial new field value is the original header field
value. value.
2. Treat the initial new header field value as if it were 2. Treat the initial new header field value as if it were
unstructured, and then apply [RFC2047] encoding with charset unstructured, and then apply the encoded-word encoding as
UTF-8 as necessary so that the resulting new header field value necessary so that the resulting new header field value is
is completely in ASCII. completely in ASCII.
3. Remove the original header field. 3. Remove the original header field.
3.2. Downgrading Method for Each Header Field 3.2. Downgrading Method for Each Header Field
[RFC4021] establishes a registry of header fields. This section The Mail and MIME Header Fields document [RFC4021] establishes a
describes the downgrading method for each header field. registry of header fields. This section describes the downgrading
method for each header field listed in that registry as of the date
of publication of this specification.
If the whole mail header field does not contain non-ASCII strings, If the entire mail header field contains no characters other than
email header field downgrading is not required. Each header field's those in the ASCII repertoire, email header field downgrading is not
downgrading method is described below. required. Each header field's downgrading method is described below.
3.2.1. Address Header Fields That Contain <address>s 3.2.1. Address Header Fields That Contain <address> Elements
From: From:
Sender: Sender:
To: To:
Cc: Cc:
Bcc: Bcc:
Reply-To: Reply-To:
Resent-From: Resent-From:
Resent-Sender: Resent-Sender:
Resent-To: Resent-To:
Resent-Cc: Resent-Cc:
Resent-Bcc: Resent-Bcc:
Resent-Reply-To: Resent-Reply-To:
Return-Path: Return-Path:
Disposition-Notification-To: Disposition-Notification-To:
If the header field contains non-ASCII characters, first perform If the header field contains non-ASCII characters, first perform
COMMENT downgrading and DISPLAY-NAME downgrading as described in the Comment downgrading and Display-Name downgrading as described in the
corresponding subsections of Section 3.1. If the header field still corresponding subsections of Section 3.1. If the header field still
contains non-ASCII characters after that, do the following two steps: contains non-ASCII characters, complete the following two steps:
1. If the header field contains <group> elements that contain non- 1. If the header field contains <group> elements that contain
ASCII addresses, perform GROUP downgrading on those elements. non-ASCII addresses, perform Group downgrading on those elements.
2. If the header field contains <mailbox> elements that contain non- 2. If the header field contains <mailbox> elements that contain
ASCII addresses, perform MAILBOX downgrading on those elements. non-ASCII addresses, perform Mailbox downgrading on those
elements.
This procedure may generate empty <group> elements in "From:", This procedure may generate empty <group> elements in the "From:" and
"Sender:" and "Reply-To:" header fields. "Sender:" header fields. The Group Syntax document [RFC6854] updates
[I-D.leiba-5322upd-from-group] updates [RFC5322] to allow (empty) the Internet Message Format specification [RFC5322] to allow (empty)
<group> elements in "From:", "Sender:" and "Reply-To:" header fields. <group> elements in the "From:" and "Sender:" header fields.
3.2.2. Downgrading Non-ASCII in Comments 3.2.2. Non-ASCII Strings in <comment> Elements
Date: Date:
Resent-Date: Resent-Date:
MIME-Version: MIME-Version:
Content-ID: Content-ID:
Content-Transfer-Encoding: Content-Transfer-Encoding:
Content-Language: Content-Language:
Accept-Language: Accept-Language:
Auto-Submitted: Auto-Submitted:
These header fields do not contain non-ASCII strings except in Except in comments, these header fields do not contain characters
comments. If the header field contains UTF-8 characters in comments, other than those in the ASCII repertoire. If the header field
perform COMMENT downgrading. contains UTF-8 characters in comments, perform Comment downgrading.
3.2.3. Message-ID Header Fields 3.2.3. Message-ID Header Fields
Message-ID: Message-ID:
Resent-Message-ID: Resent-Message-ID:
In-Reply-To: In-Reply-To:
References: References:
Perform ENCAPSULATION as specified in Section 3.1.10. If there are non-ASCII strings in <id-left> or <id-right> elements,
perform Encapsulation. Otherwise, the header field contains UTF-8
characters in comments and Comment downgrading should be performed.
3.2.4. Received Header Field 3.2.4. Received Header Field
Received: Received:
If <domain> elements or <mailbox> elements contains U-labels, perform If <domain> elements or <mailbox> elements contain U-labels, perform
DOMAIN downgrading specified in Section 3.1.6. Comments may contain Domain downgrading as specified in Section 3.1.6. Comments may
non-ASCII strings, perform COMMENT downgrading. contain non-ASCII strings; if so, perform Comment downgrading.
After the DOMAIN downgrading and the COMMENT downgrading, if the FOR After the Domain downgrading and the Comment downgrading, if the
clause contains a non-ASCII <local-part>, remove the "FOR" clause. "FOR" clause contains a non-ASCII <local-part>, remove the FOR
If the ID clause contains a non-ASCII values, remove the "ID" clause. clause. If the "ID" clause contains a non-ASCII value, remove the ID
clause.
3.2.5. MIME Content Header Fields 3.2.5. MIME Content Header Fields
Content-Type: Content-Type:
Content-Disposition: Content-Disposition:
Perform MIME-VALUE downgrading and COMMENT downgrading. If there are non-ASCII strings in <value> or <CFWS> elements, perform
MIME-Value and Comment downgrading.
3.2.6. Non-ASCII in <unstructured> 3.2.6. Non-ASCII Characters in <unstructured> Elements
Subject: Subject:
Comments: Comments:
Content-Description: Content-Description:
Perform UNSTRUCTURED downgrading. If non-ASCII strings are present in <unstructured> elements, perform
Unstructured downgrading.
3.2.7. Non-ASCII in <phrase> 3.2.7. Non-ASCII Characters in <phrase> Elements
Keywords: Keywords:
Perform WORD downgrading. If non-ASCII strings are present in <phrase> elements, perform Word
downgrading.
3.2.8. Other Header Fields 3.2.8. Other Header Fields
There are other header fields that contain non-ASCII strings. They Other header fields that are not covered in this document (such as
are user-defined and missing from this document, or future defined implementation-specific or user-defined fields) might also contain
header fields. They are treated as "Optional Fields" and their field non-ASCII strings. Any header field that does not have a conversion
values are treated as unstructured described in Section 3.6.8 of method defined above will be in this category and treated as follows.
[RFC5322].
Perform UNSTRUCTURED downgrading. If there are non-ASCII strings present in the header fields, perform
Unstructured downgrading.
If the software understands the header field's structure and a If the software understands the header field's structure and a
downgrading algorithm other than UNSTRUCTURED is applicable, that downgrading algorithm other than Unstructured is applicable, that
software SHOULD use that algorithm; UNSTRUCTURED downgrading is used software SHOULD use that algorithm; Unstructured downgrading is used
as a last resort. when there is no other option.
Mailing list header fields (those that start in "List-") are part of Mailing list header fields (those that start in "List-") are part of
this category. this category.
4. MIME Downgrading 4. MIME Body Parts and Delivery Status Notifications
Both MIME Body-Part header fields and contents of a delivery status Both the MIME body part header fields [RFC2045] [RFC6532] and the
notification may contain non-ASCII characters. contents of a delivery status notification [RFC6533] may contain
non-ASCII characters.
4.1. MIME Body-Part Header Field Downgrading 4.1. MIME Body Part Header Field Downgrading
MIME body-part header fields may contain non-ASCII strings [RFC6532]. RFC 6532 specifies an extension that permits MIME header fields,
including body part header fields, to contain non-ASCII strings.
This section defines the conversion method to ASCII-only header This section defines the conversion method to ASCII-only header
fields for each MIME header field that contains non-ASCII strings. fields for each MIME header field that contains non-ASCII strings.
Parse the message body's MIME structure at all levels and check each Parse the message body's MIME structure at all levels and check each
MIME header field to see whether it contains non-ASCII strings. If MIME header field to see whether it contains non-ASCII strings. If
the header field contains non-ASCII strings in the header field the header field contains non-ASCII strings in the header field
value, the header field is a target of the MIME body-part header value, the header field is a target of the MIME body part header
field's downgrading. Each MIME header field's downgrading method is field's downgrading. The downgrading methods used for the MIME body
described below. COMMENT downgrading, MIME-VALUE downgrading, and part header fields Content-ID, Content-Type, Content-Disposition, and
UNSTRUCTURED downgrading are described in Section 3. Content-Description are the same as those used for the header fields
of the same name described in Section 3.2
Content-ID:
The "Content-ID:" header field does not contain non-ASCII strings
except in comments. If the header field contains UTF-8 characters
in comments, perform COMMENT downgrading.
Content-Type:
Content-Disposition:
Perform MIME-VALUE downgrading and COMMENT downgrading.
Content-Description:
Perform UNSTRUCTURED downgrading.
4.2. Delivery Status Notification downgrading 4.2. Delivery Status Notification Downgrading
If the message contains a delivery status notification defined at If the message contains a delivery status notification (see Section 6
Section 6 of [RFC3461], perform the following tests and conversions. of the SMTP DSN Extension [RFC3461]), perform the following tests and
conversions.
If there are "Original-Recipient:" and "Final-Recipient:" header If there are "Original-Recipient:" and "Final-Recipient:" header
fields, and the header fields contain non-ASCII strings, perform fields, and the header fields contain non-ASCII strings, perform
TYPED-ADDRESS downgrading. Type-Addr downgrading.
5. Security Considerations 5. Security Considerations
The purpose of post-delivery message downgrading is to allow POP/IMAP The purpose of post-delivery message downgrading is to allow POP and
servers to deliver internationalized messages to traditional POP/IMAP IMAP servers to deliver internationalized messages to traditional POP
clients and permit the clients to display those messages. Users who and IMAP clients and to permit the clients to display those messages.
receive such messages can know that they were internationalized. It Users that receive such messages can know that they were
does not permit receivers to read the messages in their original form internationalized. It does not permit receivers to read the messages
and, in general, will not permit generating replies, at least without in their original form and, in general, will not permit generating
significant user intervention. replies, at least without significant user intervention.
A downgraded message's header fields contain ASCII characters only. After downgrading as specified in this document, the header fields of
But they still contain MIME-encapsulated header fields that contain a message will contain ASCII characters only, some of them in
non-ASCII strings. Furthermore, the body part may contain UTF-8 encoded-word form. Nothing in this document or other SMTPUTF8
characters. Implementations parsing Internet messages need to accept specifications [RFC6530] [RFC6531] alters the basic properties of
UTF-8 body parts and UTF-8 header fields that are MIME-encoded. MIME that allow characters outside the ASCII repertoire in encodings
Thus, this document inherits the security considerations of MIME- as specified for them. Thus, this document inherits the security
encoded header fields ([RFC2047] and [RFC3629]). considerations associated with MIME-encoded header fields as
specified in RFC 2047 [RFC2047] and with UTF-8 itself as specified in
RFC 3629 [RFC3629].
Rewriting header fields increases the opportunities for undetected Rewriting header fields increases the opportunities for undetected
spoofing by malicious senders. However, the rewritten header field spoofing by malicious senders. However, the rewritten header field
values are preserved in equivalent MIME form or in newly defined values are preserved in equivalent MIME form or in newly defined
header fields for which traditional MUAs have no special processing header fields for which traditional MUAs have no special processing
procedures. procedures.
The techniques described here invalidate methods that depend on The techniques described here may invalidate methods that depend on
digital signatures over any part of the message, which includes the digital signatures over any part of the message, which includes the
top-level header fields and body-part header fields. Depending on top-level header fields and body part header fields. Depending on
the specific message being downgraded, at least the following the specific message being downgraded, at least the following
techniques are likely to break: DomainKeys Identified Mail (DKIM), techniques are likely to break: DomainKeys Identified Mail (DKIM) and
and possibly S/MIME and Pretty Good Privacy (PGP). The downgrade possibly S/MIME and Pretty Good Privacy (PGP). The downgrade
mechanism SHOULD NOT remove signatures even if the signatures will mechanism SHOULD NOT remove signatures even if the signatures will
fail validation after downgrading. As much of the information as fail validation after downgrading. As much of the information as
possible from the original message SHOULD be preserved. possible from the original message SHOULD be preserved. In addition,
MUAs may be able to use the presence of an Authentication-Results
header field [RFC5451] to assess whether the digital signatures were
valid before the header fields were downgraded.
While information in any email header field should usually be treated While information in any email header field should usually be treated
with some suspicion, current email systems commonly employ various with some suspicion, current email systems commonly employ various
mechanisms and protocols to make the information more trustworthy. mechanisms and protocols to make the information more trustworthy.
Information in the new Downgraded-* header fields is not inspected by Information in the new Downgraded-* header fields is not inspected by
traditional MUAs, and may be even less trustworthy than the traditional MUAs and may be even less trustworthy than the
traditional header fields. Note that the Downgraded-* header fields traditional header fields. Note that the Downgraded-* header fields
could have been inserted with malicious intent (and with content could have been inserted with malicious intent (and with content
unrelated to the traditional header fields), however traditional MUAs unrelated to the traditional header fields); however, traditional
do not parse Downgraded-* header fields. MUAs do not evaluate Downgraded-* header fields.
In addition, if an Authentication-Results header field [RFC5451] is
present, traditional MUAs may treat that the digital signatures are
valid.
See the "Security Considerations" section in See the Security Considerations sections in the Group Syntax document
[I-D.leiba-5322upd-from-group] and [RFC6530] for more discussion. [RFC6854] and the Internationalized Email Framework [RFC6530] for
more discussion.
6. Implementation Notes 6. Implementation Note: Encoded-Word Encoding
6.1. RFC 2047 Encoding While the specification of encoded-words includes specific rules for
dealing with whitespace in adjacent encoded words [RFC2047], there
are a number of deployed implementations that fail to implement the
algorithm correctly. As a result, whitespace behavior is somewhat
unpredictable, in practice, when multiple encoded words are used.
While [RFC2047] has a specific algorithm to deal with whitespace in While RFC 5322 states that implementations SHOULD limit lines to 78
adjacent encoded words, there are a number of deployed characters or less, implementations MAY choose to allow overly long
implementations that fail to implement the algorithm correctly. As a encoded words to work around faulty implementations of encoded-words.
result, whitespace behavior is somewhat unpredictable in practice
when multiple encoded words are used. While RFC 5322 states that
implementations SHOULD limit lines to not more than 78 characters,
implementations MAY choose to allow overly long encoded words in
order to work around faulty [RFC2047] implementations.
Implementations that choose to do so SHOULD have an optional Implementations that choose to do so SHOULD have an optional
mechanism to limit line length to 78 characters. mechanism to limit line length to 78 characters.
7. IANA Considerations 7. IANA Considerations
[[RFC Editor: Please change "is asked to" to "has" (and change the The experimental specification from which this document was partially
verb correspondingly) when the IESG approval and IANA actions are derived [RFC5504] specifies that no new header fields beginning with
complete.]] Downgraded- are to be registered. That restriction is now lifted,
and this document makes a new set of registrations, replacing the
[RFC5504] specified that no new header fields be registered that experimental fields with standard ones.
begin with "Downgraded-". That restriction is now lifted, and this
document makes a new set of registrations, replacing the experimental
fields with standard ones.
7.1. Obsolescence of Existing Downgraded-* Header Fields 7.1. Obsolescence of Existing Downgraded-* Header Fields
The "Downgraded-*" header fields that were registered as experimental The Downgraded-* header fields that were registered as experimental
fields in [RFC5504] are no longer in use. IANA is asked to change fields in RFC 5504 are no longer in use. IANA has changed the status
the status from "experimental" to "obsoleted" for every name in the from "experimental" to "obsoleted" for every name in the "Permanent
Permanent Message Header Field registry that begins with Message Header Field Names" registry that began with Downgraded-.
"Downgraded-".
7.2. Registration of New Downgraded-* Header Fields 7.2. Registration of New Downgraded-* Header Fields
[[RFC Editor: Please change "should be" to "have been" when the IANA The following header fields have been registered in the "Permanent
actions are complete.]] Message Header Field Names" registry, in accordance with the
procedures set out in the Header Field Registration document
The following header fields should be registered in the Permanent [RFC3864].
Message Header Field registry, in accordance with the procedures set
out in [RFC3864].
Header field name: Downgraded-Message-Id Header field name: Downgraded-Message-Id
Applicable protocol: mail Applicable protocol: mail
Status: standard Status: standard
Author/change controller: IETF Author/change controller: IETF
Specification document(s): This document (Section 3.1.10) Specification document(s): This document (Section 3.1.10)
Header field name: Downgraded-In-Reply-To Header field name: Downgraded-In-Reply-To
Applicable protocol: mail Applicable protocol: mail
Status: standard Status: standard
skipping to change at page 16, line 15 skipping to change at page 16, line 4
Applicable protocol: mail Applicable protocol: mail
Status: standard Status: standard
Author/change controller: IETF Author/change controller: IETF
Specification document(s): This document (Section 3.1.10) Specification document(s): This document (Section 3.1.10)
Header field name: Downgraded-Original-Recipient Header field name: Downgraded-Original-Recipient
Applicable protocol: mail Applicable protocol: mail
Status: standard Status: standard
Author/change controller: IETF Author/change controller: IETF
Specification document(s): This document (Section 3.1.10) Specification document(s): This document (Section 3.1.10)
Header field name: Downgraded-Final-Recipient Header field name: Downgraded-Final-Recipient
Applicable protocol: mail Applicable protocol: mail
Status: standard Status: standard
Author/change controller: IETF Author/change controller: IETF
Specification document(s): This document (Section 3.1.10) Specification document(s): This document (Section 3.1.10)
8. Acknowledgements 8. Acknowledgements
This document draws heavily from the experimental in-transit message This document draws heavily from the experimental in-transit message
downgrading procedure described in RFC 5504 [RFC5504]. The downgrading procedure described RFC 5504. The contributions of the
contribution of the co-author of that earlier document, Y. Yoneya, coauthor of that earlier document, Y. Yoneya, are gratefully
are gratefully acknowledged. Significant comments and suggestions acknowledged. Significant comments and suggestions were received
were received from John Klensin, Barry Leiba, Randall Gellens, Pete from John Klensin, Barry Leiba, Randall Gellens, Pete Resnick, Martin
Resnick, Martin J. Durst, and other WG participants. J. Durst, and other WG participants.
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2045] Freed, N. and N. Borenstein, [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
"Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message
Extensions (MIME) Part One: Format of Bodies", RFC 2045, November 1996.
Internet Message Bodies", RFC 2045,
November 1996.
[RFC2047] Moore, K., "MIME (Multipurpose [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions)
Internet Mail Extensions) Part Three: Part Three: Message Header Extensions for Non-ASCII Text",
Message Header Extensions for Non- RFC 2047, November 1996.
ASCII Text", RFC 2047, November 1996.
[RFC2119] Bradner, S., "Key words for use in [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
RFCs to Indicate Requirement Levels", Requirement Levels", BCP 14, RFC 2119, March 1997.
BCP 14, RFC 2119, March 1997.
[RFC2183] Troost, R., Dorner, S., and K. Moore, [RFC2183] Troost, R., Dorner, S., and K. Moore, "Communicating
"Communicating Presentation Presentation Information in Internet Messages: The
Information in Internet Messages: The Content-Disposition Header Field", RFC 2183, August 1997.
Content-Disposition Header Field",
RFC 2183, August 1997.
[RFC2231] Freed, N. and K. Moore, "MIME [RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and Encoded
Parameter Value and Encoded Word Word Extensions:
Extensions: Character Sets, Languages Character Sets, Languages, and Continuations", RFC 2231,
, and Continuations", RFC 2231, November 1997.
November 1997.
[RFC3461] Moore, K., "Simple Mail Transfer [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service
Protocol (SMTP) Service Extension for Extension for Delivery Status Notifications (DSNs)",
Delivery Status Notifications RFC 3461, January 2003.
(DSNs)", RFC 3461, January 2003.
[RFC3629] Yergeau, F., "UTF-8, a transformation [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
format of ISO 10646", STD 63, 10646", STD 63, RFC 3629, November 2003.
RFC 3629, November 2003.
[RFC3864] Klyne, G., Nottingham, M., and J. [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Mogul, "Registration Procedures for Procedures for Message Header Fields", BCP 90, RFC 3864,
Message Header Fields", BCP 90, September 2004.
RFC 3864, September 2004.
[RFC4021] Klyne, G. and J. Palme, "Registration [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
of Mail and MIME Header Fields", Header Fields", RFC 4021, March 2005.
RFC 4021, March 2005.
[RFC5322] Resnick, P., Ed., "Internet Message [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
Format", RFC 5322, October 2008. October 2008.
[RFC5890] Klensin, J., "Internationalized [RFC5890] Klensin, J., "Internationalized Domain Names for
Domain Names for Applications (IDNA): Applications (IDNA): Definitions and Document Framework",
Definitions and Document Framework", RFC 5890, August 2010.
RFC 5890, August 2010.
[RFC5891] Klensin, J., "Internationalized [RFC5891] Klensin, J., "Internationalized Domain Names in
Domain Names in Applications (IDNA): Applications (IDNA): Protocol", RFC 5891, August 2010.
Protocol", RFC 5891, August 2010.
[RFC6530] Klensin, J. and Y. Ko, "Overview and [RFC6530] Klensin, J. and Y. Ko, "Overview and Framework for
Framework for Internationalized Internationalized Email", RFC 6530, February 2012.
Email", RFC 6530, February 2012.
[RFC6531] Yao, J. and W. Mao, "SMTP Extension [RFC6531] Yao, J. and W. Mao, "SMTP Extension for Internationalized
for Internationalized Email", Email", RFC 6531, February 2012.
RFC 6531, February 2012.
[RFC6532] Yang, A., Steele, S., and N. Freed, [RFC6532] Yang, A., Steele, S., and N. Freed, "Internationalized
"Internationalized Email Headers", Email Headers", RFC 6532, February 2012.
RFC 6532, February 2012.
[RFC6533] Hansen, T., Newman, C., and A. [RFC6533] Hansen, T., Newman, C., and A. Melnikov,
Melnikov, "Internationalized Delivery "Internationalized Delivery Status and Disposition
Status and Disposition Notifications", RFC 6533, February 2012.
Notifications", RFC 6533,
February 2012.
[I-D.leiba-5322upd-from-group] Leiba, B., "Update to Internet [RFC6854] Leiba, B., "Update to Internet Message Format to Allow
Message Format to Allow Group Syntax Group Syntax in the "From:" and "Sender:" Header Fields",
in the "From:" and "Sender:" Header RFC 6854, March 2013.
Fields",
draft-leiba-5322upd-from-group-06
(work in progress), October 2012.
[I-D.ietf-eai-rfc5721bis] Gellens, R., Newman, C., Yao, J., and [RFC6855] Resnick, P., Ed., Newman, C., Ed., and S. Shen, Ed., "IMAP
K. Fujiwara, "POP3 Support for Support for UTF-8", RFC 6855, March 2013.
UTF-8", draft-ietf-eai-rfc5721bis-08
(work in progress), October 2012.
[I-D.ietf-eai-5738bis] Resnick, P., Newman, C., and S. Shen, [RFC6856] Gellens, R., Newman, C., Yao, J., and K. Fujiwara, "Post
"IMAP Support for UTF-8", Office Protocol Version 3 (POP3) Support for UTF-8",
draft-ietf-eai-5738bis-09 (work in RFC 6856, March 2013.
progress), August 2012.
9.2. Informative References 9.2. Informative References
[RFC5451] Kucherawy, M., "Message Header Field [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
for Indicating Message Authentication Specifications: ABNF", STD 68, RFC 5234, January 2008.
Status", RFC 5451, April 2009.
[RFC5504] Fujiwara, K. and Y. Yoneya, [RFC5451] Kucherawy, M., "Message Header Field for Indicating
"Downgrading Mechanism for Email Message Authentication Status", RFC 5451, April 2009.
Address Internationalization",
RFC 5504, March 2009.
Appendix A. Examples [RFC5504] Fujiwara, K. and Y. Yoneya, "Downgrading Mechanism for
Email Address Internationalization", RFC 5504, March 2009.
A.1. Downgrading Example Appendix A. Downgrading Example
This appendix shows an message downgrading example. Consider a This appendix shows a message downgrading example. Consider a
received mail message where: received mail message where:
o The sender address is a non-ASCII address, o The sender address is a non-ASCII address,
"NON-ASCII-LOCAL@example.com". Its display-name is "DISPLAY- "NON-ASCII-LOCAL@example.com". Its display-name is
LOCAL". "DISPLAY-LOCAL".
o The "To:" header field contains two non-ASCII addresses, o The "To:" header field contains two non-ASCII addresses,
"NON-ASCII-REMOTE1@example.net" and "NON-ASCII-REMOTE1@example.net" and
"NON-ASCII-REMOTE2@example.com" Its display-names are "DISPLAY- "NON-ASCII-REMOTE2@example.com". Their display-names are
REMOTE1" and "DISPLAY-REMOTE2". "DISPLAY-REMOTE1" and "DISPLAY-REMOTE2".
o The "Cc:" header field contains a non-ASCII address, o The "Cc:" header field contains a non-ASCII address,
"NON-ASCII-REMOTE3@example.org". Its display-name is "DISPLAY- "NON-ASCII-REMOTE3@example.org". Its display-name is
REMOTE3". "DISPLAY-REMOTE3".
o Four display names contain non-ASCII characters. o Four display-names contain non-ASCII characters.
o The Subject header field is "NON-ASCII-SUBJECT", which contains o The "Subject:" header field is "NON-ASCII-SUBJECT", which contains
non-ASCII strings. non-ASCII strings.
o The "Message-Id:" header field contains "NON-ASCII-MESSAGE_ID", o The "Message-Id:" header field contains "NON-ASCII-MESSAGE_ID",
which contains non-ASCII strings. which contains non-ASCII strings.
o There is an unknown header field "X-Unknown-Header" which contains o There is an unknown header field "X-Unknown-Header:", which
non-ASCII strings. contains non-ASCII strings.
Return-Path: <NON-ASCII-LOCAL@example.com> Return-Path: <NON-ASCII-LOCAL@example.com>
Received: from ... by ... for <NON-ASCII-REMOTE1@example.net> Received: from ... by ... for <NON-ASCII-REMOTE1@example.net>
Received: from ... by ... for <NON-ASCII-REMOTE1@example.net> Received: from ... by ... for <NON-ASCII-REMOTE1@example.net>
From: DISPLAY-LOCAL <NON-ASCII-LOCAL@example.com> From: DISPLAY-LOCAL <NON-ASCII-LOCAL@example.com>
To: DISPLAY-REMOTE1 <NON-ASCII-REMOTE1@example.net>, To: DISPLAY-REMOTE1 <NON-ASCII-REMOTE1@example.net>,
DISPLAY-REMOTE2 <NON-ASCII-REMOTE2@example.com> DISPLAY-REMOTE2 <NON-ASCII-REMOTE2@example.com>
Cc: DISPLAY-REMOTE3 <NON-ASCII-REMOTE3@example.org> Cc: DISPLAY-REMOTE3 <NON-ASCII-REMOTE3@example.org>
Subject: NON-ASCII-SUBJECT Subject: NON-ASCII-SUBJECT
Date: Mon, 30 Jul 2012 01:23:45 -0000 Date: Mon, 30 Jul 2012 01:23:45 -0000
Message-Id: NON-ASCII-MESSAGE_ID Message-Id: NON-ASCII-MESSAGE_ID
Mime-Version: 1.0 Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8" Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
X-Unknown-Header: NON-ASCII-CHARACTERS X-Unknown-Header: NON-ASCII-CHARACTERS
MAIL_BODY MAIL_BODY
Figure 1: Received message in a mail drop Figure 1: Received Message in a Maildrop
The downgraded message is shown in Figure 2. "Return-Path:", The downgraded message is shown in Figure 2. "Return-Path:",
"From:", "To:" and "Cc:" header fields are rewritten. "Subject:" and "From:", "To:", and "Cc:" header fields are rewritten. "Subject:"
"X-Unknown-Header:" header fields are encoded using [RFC2047]. and "X-Unknown-Header:" header fields are encoded as encoded-words.
"Message-Id:" header field is encapsulated as The "Message-Id:" header field is encapsulated as a
"Downgraded-Message-Id:" header field. "Downgraded-Message-Id:" header field.
Return-Path: =?UTF-8?Q?NON-ASCII-LOCAL@example.com?= :; Return-Path: =?UTF-8?Q?NON-ASCII-LOCAL@example.com?= :;
Received: from ... by ... Received: from ... by ...
Received: from ... by ... Received: from ... by ...
From: =?UTF-8?Q?DISPLAY-LOCAL?= From: =?UTF-8?Q?DISPLAY-LOCAL?=
=?UTF-8?Q?NON-ASCII-LOCAL@example.com?= :; =?UTF-8?Q?NON-ASCII-LOCAL@example.com?= :;
To: =?UTF-8?Q?DISPLAY-REMOTE1?= To: =?UTF-8?Q?DISPLAY-REMOTE1?=
=?UTF-8?Q?NON-ASCII-REMOTE1@example.net?= :;, =?UTF-8?Q?NON-ASCII-REMOTE1@example.net?= :;,
=?UTF-8?Q?DISPLAY-REMOTE2?= =?UTF-8?Q?DISPLAY-REMOTE2?=
skipping to change at page 20, line 26 skipping to change at page 20, line 32
Subject: =?UTF-8?Q?NON-ASCII-SUBJECT?= Subject: =?UTF-8?Q?NON-ASCII-SUBJECT?=
Date: Mon, 30 Jul 2012 01:23:45 -0000 Date: Mon, 30 Jul 2012 01:23:45 -0000
Downgraded-Message-Id: =?UTF-8?Q?MESSAGE_ID?= Downgraded-Message-Id: =?UTF-8?Q?MESSAGE_ID?=
Mime-Version: 1.0 Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8" Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
X-Unknown-Header: =?UTF-8?Q?NON-ASCII-CHARACTERS?= X-Unknown-Header: =?UTF-8?Q?NON-ASCII-CHARACTERS?=
MAIL_BODY MAIL_BODY
Figure 2: Downgraded message Figure 2: Downgraded Message
Appendix B. Change History
[[RFC Editor: Please remove this section prior to publication.]]
This section is used for tracking the update of this document. Will
be removed after finalize.
B.1. Version 00
o Initial version
o Imported header field downgrading from RFC 5504
B.2. Version 01
o same as Version 00
B.3. Version 02
o Added updating RFC 5322 to allow <group> syntax in From: and
Sender
o Added GROUP Downgrading
B.4. Version 03
o Replaced <utf8-addr-spec> with <addr-spec>
o Added updating RFC 5322 to allow <group> syntax in From: and
Sender
o Added one sentence in Security considerations
o Updated IANA considerations
B.5. Version 04
o Removed "Internationalized Address removed" from GROUP and MAILBOX
downgrading
o Updated "Updating RFC 5322"
o Compacted new header field definition
o Compacted security considerations
o Updated IANA considerations to remove obsoleting header fields
that are registered by RFC 5504
o Added a discussion of alternate downgrading models for the POP and
IMAP cases.
o Incorporated a large number of editorial changes to improve
clarity.
B.6. Version 05
o Some text corrections
o Terminology change: only to use non-ASCII address, non-ASCII
message, non-ASCII string and imported them from RFC 6530 and RFC
6532
o Replace "non-ASCII character" with "non-ASCII string"
o Removed 5.1.1. RECEIVED Downgrading
B.7. Version 06
o Removed "Updating RFC 5322"
o Added reference to draft-leiba-5322upd-from-group
B.8. Version 07
o Updated by WGLC comments
o Fixed Received downgrading and added to refer "RFC 6531", "RFC
5890", "RFC 5891"
o Added Domain downgrading for Received, Group and Mailbox
o Swapped section 3 and 4
B.9. Version 08
o Updated by IETF Last call and IESG comments
o Removed "Address Header Fields with Typed Addresses" and added
"Delivery Status Notification downgrading" in MIME downgrading
o Added a space between display-name and ENCODED_WORD.
o Moved "ENCAPSULATION: A Last Resort" from section 4 to section
3.1.10.
o Updated address header fields downgrading
o Updated introduction, security considerations and iana
considerations
Author's Address Author's Address
Kazunori Fujiwara Kazunori Fujiwara
Japan Registry Services Co., Ltd. Japan Registry Services Co., Ltd.
Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda
Chiyoda-ku, Tokyo 101-0065 Chiyoda-ku, Tokyo 101-0065
Japan Japan
Phone: +81 3 5215 8451 Phone: +81 3 5215 8451
 End of changes. 146 change blocks. 
544 lines changed or deleted 427 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/