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