Network Working Group J. Yao, Ed.
Internet-Draft W. Mao, Ed.
Intended status: Experimental CNNIC
Expires: December 8, 2007 June 6, 2007
SMTP extension for internationalized email address
draft-ietf-eai-smtpext-06.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 8, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
This document specifies the use of SMTP extension for
internationalized email address delivery. Communication with systems
that do not implement this specification is specified in another
document.
Yao & Mao Expires December 8, 2007 [Page 1]
Internet-Draft EAI June 2007
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Role of this specification . . . . . . . . . . . . . . . . 3
1.2. Proposal Context . . . . . . . . . . . . . . . . . . . . . 3
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Mail Transport-level Protocol . . . . . . . . . . . . . . . . 4
2.1. Framework for the Internationalization Extension . . . . . 4
2.2. The UTF8SMTP Extension . . . . . . . . . . . . . . . . . . 5
2.3. Extended Mailbox Address Syntax . . . . . . . . . . . . . 6
2.4. The ALT-ADDRESS parameter . . . . . . . . . . . . . . . . 8
2.5. Using the ALT-ADDRESS parameter . . . . . . . . . . . . . 9
2.6. Body Parts and SMTP Extensions . . . . . . . . . . . . . . 9
2.7. Additional ESMTP Changes and Clarifications . . . . . . . 10
2.7.1. The Initial SMTP Exchange . . . . . . . . . . . . . . 10
2.7.2. Mail eXchangers . . . . . . . . . . . . . . . . . . . 10
2.7.3. Trace Information . . . . . . . . . . . . . . . . . . 10
2.7.4. UTF-8 Reply . . . . . . . . . . . . . . . . . . . . . 11
3. Issues with Other Parts of the Email System . . . . . . . . . 13
3.1. LMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2. SMTP Service Extension for DSNs . . . . . . . . . . . . . 13
3.3. POP and IMAP . . . . . . . . . . . . . . . . . . . . . . . 13
4. Potential problems . . . . . . . . . . . . . . . . . . . . . . 13
4.1. Impact many email related RFC . . . . . . . . . . . . . . 13
5. Implementation Advice . . . . . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
7. Security considerations . . . . . . . . . . . . . . . . . . . 14
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
9. Change History . . . . . . . . . . . . . . . . . . . . . . . . 15
9.1. draft-ietf-eai-smtpext: Version 00 . . . . . . . . . . . . 15
9.2. draft-ietf-eai-smtpext: Version 01 . . . . . . . . . . . . 15
9.3. draft-ietf-eai-smtpext: Version 02 . . . . . . . . . . . . 15
9.4. draft-ietf-eai-smtpext: Version 03 . . . . . . . . . . . . 15
9.5. draft-ietf-eai-smtpext: Version 04 . . . . . . . . . . . . 16
9.6. draft-ietf-eai-smtpext: Version 05 . . . . . . . . . . . . 16
9.7. draft-ietf-eai-smtpext: Version 06 . . . . . . . . . . . . 16
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1. Normative References . . . . . . . . . . . . . . . . . . . 16
10.2. Informative References . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 20
Yao & Mao Expires December 8, 2007 [Page 2]
Internet-Draft EAI June 2007
1. Introduction
Internationalized email address includes two parts, the local part
and the domain part. The ways email addresses are used by protocols
are different from the ways domain names are used. The most critical
difference is that emails are delivered through a chain of peering
clients and servers while domain names are resolved by name servers
by looking up their own tables. In addition to this, email transport
protocol ESMTP[RFC1869] provide a negotiation mechanism through which
clients can make decisions for further processing; please see more in
[EAI-framework]. Email addresses can exploit the SMTP extension
negotiation mechanism while Internationalized Domain Name(IDN) does
not have such a facility. This is also more desirable
architecturally. This document specifies an SMTP extension to permit
internationalized email addresses in envelopes, and UTF-8 in headers.
The protocol described here is an MTA solution which is feasible,
architecturally elegant, and not difficult to deploy.
1.1. Role of this specification
The framework document [EAI-framework] specifies the requirements
for, and components of, full internationalization of electronic mail.
To understand and implement this specification, understanding the
context presented in [EAI-framework] is necessary.
This document specifies an element of that work, specifically the
definition of an SMTP extension [RFC1869] for the internationalized
email address transport delivery.
1.2. Proposal Context
This specification describes a change to the email transport
mechanism that permits non-ASCII characters in both the envelope and
header fields of messages while the specification in [EAI-utf8header]
specifies the details of how and where non-ASCII characters are
permitted in the header fields of messages. The context for the
change is described in [EAI-framework].
1.3. Terminology
The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED",
and "MAY" in this document are to be interpreted as described in RFC
2119 [RFC2119].
All specialized terms used in this specification are defined in the
EAI framework [EAI-framework] or in [RFC2821] and [RFC2822]. The
terms "ASCII address", "internationalized email address", "non-ASCII
address", "i18mail address", "UTF8SMTP", "message" and "mailing list"
Yao & Mao Expires December 8, 2007 [Page 3]
Internet-Draft EAI June 2007
are used with the definitions from the [EAI-framework] document.
This document defines only those ABNF [RFC4234] syntax rules that are
different from those of the base email specifications
[RFC2821][RFC2822] and, where the earlier rules are upgraded or
extended, gives them new names. When the new rule is a small upgrade
to the older one, it is typically given a name starting with "u".
Rules that are undefined here may be found in the base email
documents under the same names.
[[anchor4: RFC EDITOR'S NOTE: The following text should be deleted
before publication.]] This document is being discussed on the EAI
mailing list. See https://www1.ietf.org/mailman/listinfo/ima for
information about subscribing. The list's archive is at
http://www1.ietf.org/mail-archive/web/ima/index.html.
2. Mail Transport-level Protocol
2.1. Framework for the Internationalization Extension
The following service extension is defined:
1. The name of the SMTP service extension is "Email Address
Internationalization";
2. The EHLO keyword value associated with this extension is
"UTF8SMTP";
3. No parameter values are defined for this EHLO keyword value. In
order to permit future (although unanticipated) extensions, the
EHLO response MUST NOT contain any parameters for that keyword.
Clients MUST ignore any parameters, that is, clients MUST behave
as if the parameters do not appear. If a server includes
UTF8SMTP in its EHLO response, it MUST be fully compliant with
this version of this specification.
4. One optional parameter, ALT-ADDRESS, is added to the SMTP MAIL
and RCPT commands. ALT-ADDRESS specifies an all-ASCII address
which can be used as a substitute for the i18mail addresses that
we call the primary address; you can learn more in
[EAI-framework] or [EAI-downgrading].
5. One optional parameter "UTF8REPLY" is added to the VRFY and EXPN
commands. The parameter UTF8REPLY has no value. The parameter
indicates the SMTP client can accept UTF-8 on replies of the
VRFY and EXPN commands.
6. No additional SMTP verbs are defined by this extension.
7. Servers offering this extension MUST provide support for, and
announce, the 8BITMIME extension [RFC1652].
Yao & Mao Expires December 8, 2007 [Page 4]
Internet-Draft EAI June 2007
8. The reverse-path and forward-path of SMTP MAIL and RCPT commands
are extended to allow UTF-8 characters in the specified mailbox
address.
9. The mail datum is extended in compliance with [EAI-utf8header]
10. The maximum length of a MAIL and RCPT command lines is increased
by 460 characters by the possible addition of the ALT-ADDRESS
keyword and value.
2.2. The UTF8SMTP Extension
An SMTP Server that announces this extension MUST be prepared to
accept a UTF-8 string [RFC3629] in any position in which RFC 2821
specifies that a "mailbox" MAY appear. That string MUST be parsed
only as specified in RFC 2821, i.e., by separating the mailbox into
source route, local part and domain part, using only the characters
colon (U+003A), comma (U+002C), and at-sign (U+0040) as specified
there. Once isolated by this parsing process, the local part MUST be
treated as opaque unless the SMTP Server is the final delivery MTA.
Any domain names that are to be looked up in the DNS MUST first be
processed into the form specified in IDNA [RFC3490] by means of the
ToASCII() operation unless they are already in that form. Any domain
names that are to be compared to local strings SHOULD be checked for
validity and then MUST be compared as specified in section 3.4 of
IDNA.
The UTF8SMTP extension is valid on the submission port [RFC4409].
An SMTP Client that receives the UTF8SMTP extension keyword in
response to the "EHLO" command MAY transmit a mailbox name as an
internationalized string in UTF-8 form and MAY send an UTF-8 header
[EAI-utf8header]. It MAY transmit the domain part of that string in
either the form of ACE labels specified in [RFC3490] or UTF-8 form.
In the domain part of the mailbox string, if any of the labels are
intended to be interpreted as non-ASCII (i.e., are IDNs), then the
Message Submission Server ("MSA") [RFC4409] MUST take responsibility
for ensuring that the labels are valid (whether they appear in native
character or ACE form). The presence of the UTF8SMTP extension does
not change the requirement of RFC 2821 that servers relaying mail
MUST not attempt to parse, evaluate, or transform the local part in
any way.
If the UTF8SMTP SMTP extension is not offered by the Server, the SMTP
client MUST NOT transmit an internationalized address and MUST NOT
transmit a mail message which contains internationalized mail headers
[EAI-utf8header] at any level within its MIME structure. Instead, if
an SMTP client (SMTP sender) attempts to transfer a UTF8SMTP message
and encounters a server that does not support the extension, it MUST
make one of the following four choices:
Yao & Mao Expires December 8, 2007 [Page 5]
Internet-Draft EAI June 2007
1. If and only if the SMTP client (sender) is a Message Submission
Server[RFC4409], it MAY, consistent with the general provisions
for changes by such servers, rewrite the envelope, headers, or
message material to make them entirely ASCII and consistent with
the provisions of RFC 2821 [RFC2821] and RFC 2822 [RFC2822].
2. Reject the message during the SMTP transaction or generate a
notification of non-deliverability, as specified in RFC 2821
[RFC2821] and RFC 3464 [RFC3464]. If the message content can be
returned without alteration, content should be returned as
specified in 2821 but, if a server is encountered along the
return path that cannot accept UTF8SMTP traffic, the content
should simply be abridged or dropped.
3. Find an alternate route to the destination that permits UTF8SMTP.
That route may be discovered by trying alternate MX hosts (using
preference rules as specified in RFC 2821) or using other means
available to the SMTP-sender.
4. If and only if ASCII addresses are available for all addresses
that appear in the return path and the specific forward paths
being attempted, downgrade the message to an all-ASCII form as
specified in [EAI-downgrading]. An ASCII address is considered
to be "available" for a particular address if the original
address in the envelope is in ASCII or if an ALT-Address
parameter is specified for a UTF8SMTP address.
2.3. Extended Mailbox Address Syntax
RFC 2821, section 4.1.2, defines the syntax of a mailbox entirely in
terms of ASCII characters, using the production for "Mailbox" and
those on which it depends.
The key changes made by this specification are, informally, to
o Change the definition of "sub-domain" to permit either the
definition above or a UTF-8 string representing a DNS label that
is conformant with IDNA [RFC3490].
o Change the definition of "Atom" to permit either the definition
above or a UTF-8 string. That string MUST NOT contain any of the
ASCII characters (either graphics or controls) that are not
permitted in "atext"; it is otherwise unrestricted.
According to the description above, define the syntax of an
internationalized email mailbox with ABNF [RFC4234] as
Yao & Mao Expires December 8, 2007 [Page 6]
Internet-Draft EAI June 2007
uMailbox = uLocal-part "@" uDomain
; Replace Mailbox in RFC 2821, section 4.1.2
uLocal-part = uDot-string / uQuoted-string
; MAY be case-sensitive
; Replace Local-part in RFC 2821, section 4.1.2
uDot-string = uAtom *("." uAtom)
; Replace Dot-string in RFC 2821, section 4.1.2
uAtom = 1*ucharacter
; Replace Atom in RFC 2821, section 4.1.2
ucharacter = atext / UTF8-xtra-char
; Replace character in RFC 2821, section 4.1.2
; atext is defined in RFC 2822
uQuoted-string = DQUOTE *uqcontent DQUOTE
; Replace Quoted-string in RFC 2821, section 4.1.2
; DQUOTE is Double Quote defined in RFC 4234
uqcontent = qcontent / UTF8-xtra-char
; qcontent is defined in RFC 2822, section 3.2.5
uDomain = (sub-udomain 1*("." sub-udomain)) / address-literal
; Replace Domain in RFC 2821, section 4.1.2
; address-literal is defined in RFC2821 section 4.1.2
sub-udomain = uLet-dig [uLdh-str]
; Replace sub-domain in RFC 2821, section 4.1.2
uLet-dig = Let-dig / UTF8-xtra-char
; Let-dig is defined in RFC 2821, section 4.1.3
uLdh-str = *( ALPHA / DIGIT / "-" / UTF8-xtra-char) uLet-dig
; Replace Ldh-str in RFC 2821, section 4.1.3
UTF8-xtra-char = UTF8-2 / UTF8-3 / UTF8-4
; UTF8-2, UTF8-3 and UTF8-4 are defined in RFC 3629
The value of "udomain" SHOULD be verified with IDNA [RFC3490]; If
failed, the email address with that udomain can not be regarded as
the valid email address.
Yao & Mao Expires December 8, 2007 [Page 7]
Internet-Draft EAI June 2007
2.4. The ALT-ADDRESS parameter
If the UTF8SMTP extension is offered, the syntax of the SMTP MAIL and
RCPT commands is extended to support the optional esmtp-keyword "ALT-
ADDRESS", which specifies an alternate all-ASCII address which may be
used when downgrading. If the ALT-ADDRESS esmtp-keyword is used, it
MUST have an associated esmtp-value (ALT-ADDRESS-esmtp-value which is
defined below).
Based on the definition of mail-parameters in [RFC2821], the ALT-
ADDRESS parameter usage in the commands of "MAIL" and "RCPT" is
defined below.
"MAIL FROM:" ("<>" / uReverse-path) [ SP Mail-parameters ] CRLF
; Update mail command in RFC 2821, section 4.1.1.2.
; A new parameter defined by the ABNF non-terminal
; <ALT-ADDRESS-parameter> is added. It complies
; with the syntax specified by <esmtp-param>.
"RCPT TO:" ("<Postmaster@" domain ">" / "<Postmaster>" /
uForward-Path) [ SP Rcpt-parameters ] CRLF
; Update rcpt command in RFC 2821, section 4.1.1.3.
; A new parameter defined by the ABNF non-terminal
; <ALT-ADDRESS-parameter> is added. It complies
; with the syntax specified by <esmtp-param>.
uReverse-path = uPath
; Replace Reverse-path in RFC 2821, section 4.1.2
uForward-path = uPath
; Replace Forward-path in RFC 2821, section 4.1.2
uPath = "<" [ A-d-l ":" ] uMailbox ">"
; Replace Path in RFC 2821, section 4.1.2
; A-d-l is defined in RFC 2821, section 4.1.2
; uMailbox is defined in section 2.3 of this document
ALT-ADDRESS-parameter="ALT-ADDRESS=" ALT-ADDRESS-esmtp-value
ALT-ADDRESS-esmtp-value=xtext
; Mailbox encoded as xtext.
; xtext is defined in RFC 3461 [RFC3461], section 4.2
The ALT-ADDRESS-parameter MUST NOT appear more than once in any MAIL
or RCPT command. ALT-ADDRESS-esmtp-value MUST be an all-ASCII email
Yao & Mao Expires December 8, 2007 [Page 8]
Internet-Draft EAI June 2007
address before xtext encoding.
2.5. Using the ALT-ADDRESS parameter
A message containing non-ASCII envelope addresses or header fields
MUST NOT be sent to an SMTP server which does not support UTF8SMTP.
Such a message MAY be rejected due to lack of the ALT-ADDRESS as
discussed in section 2.2 of this document.
When messages are rejected because they require UTF8SMTP, response
code "550" is used, defined in [RFC2821], meaning "mailbox
unavailable". If enhanced mail system status codes [RFC3463] is
used, the response code should be "5.6.x" [SMTP-codes], meaning that
"alt-address is required but not specified".
If the response code is issued after the final "." of the DATA
command, the response code "554" is used, defined in [RFC2821],
meaning "Transaction failed". if enhanced mail system status codes
[RFC3463] is used, the response code should be "5.6.z" [SMTP-codes],
meaning that "UTF8SMTP downgrade failed".
[[anchor8: REMOVE THIS: IANA please assign the proper error codes for
"5.6.x" and "5.6.z".]]
2.6. Body Parts and SMTP Extensions
Since there is no ESMTP parameter which tells whether the message is
UTF8SMTP message, SMTP server needs to parse all message header
fields and MIME header fields in the message body to discover which
messages are UTF8SMTP. While this specification requires that
servers support the 8BITMIME extension [RFC1652] to ensure that
servers have adequate handling capability for 8-bit data and to avoid
a number of complex encoding problems, the use of internationalized
addresses obviously does not require non-ASCII body parts in the MIME
message. The UTF8SMTP extension MAY be used with the BODY=8BITMIME
parameter if that is appropriate given the body content or, if the
server advertises it and it is appropriate, with the BODY=BINARYMIME
parameter specified in [RFC3030].
Assuming that the server advertises UTF8SMTP and 8BITMIME, and at
least one non-ASCII address, with or without ALT-ADDRESS, the precise
interpretation of "No 'Body' parameter", "BODY= 8BITMIME", and "BODY=
BINARYMIME" in the MAIL command is:
1. For No "Body" parameter, headers are in UTF-8, body parts are in
ASCII.
2. For BODY=8BITMIME parameter, headers are in UTF-8, some or all
body parts contain 8-bit line-oriented data.
Yao & Mao Expires December 8, 2007 [Page 9]
Internet-Draft EAI June 2007
3. For BODY=BINARYMIME parameter, headers are in UTF-8, some or all
body parts contain binary data without restriction as to line
lengths or delimiters.
2.7. Additional ESMTP Changes and Clarifications
The mail transport process involves addresses ("mailboxes") and
domain names in contexts in addition to the MAIL and RCPT commands
and extended alternatives to them. In general, the rule is that,
when RFC 2821 specifies a mailbox, this document expects UTF-8 to be
used for the entire string; when RFC 2821 specifies a domain name,
the name SHOULD be in the form of ACE labels if its raw form is non-
ASCII.
The following subsections list and discuss all of the relevant cases.
Support and use of this extension requires support for 8BITMIME. It
means that 8BITMIME MUST be advertised by the UTF8SMTP capable SMTP
server.
2.7.1. The Initial SMTP Exchange
When an SMTP or ESMTP connection is opened, the server normally sends
a "greeting" response consisting of the '220' reply code and some
information. The client then sends the EHLO command. Since the
client cannot know whether the server supports UTF8SMTP until after
it receives the response from EHLO, any domain names that appear in
this dialogue, or in responses to EHLO, MUST be in the hostname form,
i.e., internationalized ones MUST be in the form of ACE labels.
2.7.2. Mail eXchangers
Commonly, organizations authorize multiple servers to accept mail
addressed to them. For example, the organization may itself operate
more than one server, and may also or instead have an agreement with
other organizations to accept mail as a backup. Authorized servers
are generally listed in MX records [RFC2821]. When more than one
server accepts mail for the domain-part of a Mailbox, it is strongly
advised that either all or none of them support the UTF8SMTP
extension. Otherwise, surprising downgrades can happen during
temporary failures, which is not a good thing.
2.7.3. Trace Information
When an SMTP server receives a message for delivery or further
processing, it MUST insert trace ("time stamp" or "Received")
information at the beginning of the message content. Time stamp
appears in the form of "Received: lines". The most important use of
Yao & Mao Expires December 8, 2007 [Page 10]
Internet-Draft EAI June 2007
Received: lines is for debugging mail faults. When the delivery SMTP
server makes the "final delivery" of a message, it inserts a return-
path line at the beginning of the mail data. The primary purpose of
the Return-path is to designate the address to which messages
indicating non-delivery or other mail system failures are to be sent.
For the trace information, we update the time stamp line and the
return path line [RFC2821] formally defined as follows:
uReturn-path-line = "Return-Path:" FWS uReverse-path <CRLF>
; Replaces Return-path-line in the section 4.4 of [RFC2821]
; uReverse-path is defined in Section 2.3
uTime-stamp-line = "Received:" FWS uStamp <CRLF>
; Replaces Time-stamp-line in the section 4.4 of [RFC2821]
uStamp = From-domain By-domain uOpt-info ";" FWS date-time
; Replaces Stamp in the section 4.4 of [RFC2821]
uOpt-info = [Via] [With] [ID] [uFor]
; Replaces Opt-info in the section 4.4 of [RFC2821]
; [With]'s protocol value will allow UTF8SMTP value
uFor = "FOR" 1*( FWS (uPath / uMailbox) ) CFWS
; Replaces For in the section 4.4 of [RFC2821]
; uPath is defined in section 2.4 of this document
; uMailbox is defined in section 2.3 of this document
[[anchor12: Note: Whether the FOR parameter is permitted to accept
more than one address is now under discussion as part of the
rfc2821bis effort. The multiple-address construction was introduced
with RFC 2821; it is not clear that it has been widely implemented or
that it is wise. Whatever decision is reached about RFC2821bis will
be reflected in the syntax of a future version of this document.]]
Except in the 'uFor' and 'uReverse-path' line where non-ASCII domain
name may be used, internationalized domain names in Received fields
MUST be transmitted in the form of ACE labels. The protocol value of
the WITH clause is UTF8SMTP when this extension is used. More
information is in the "IANA Considerations" section of this document.
2.7.4. UTF-8 Reply
If the client issues the "RCPT" command which contains non-ASCII
characters, the SMTP server is permitted to use UTF-8 characters
within 251 and 551 response codes. Servers MUST NOT include non-
ASCII characters except in the limited cases specifically permitted
in this section.
Yao & Mao Expires December 8, 2007 [Page 11]
Internet-Draft EAI June 2007
If the VRFY and EXPN commands has the optional parameter "UTF8REPLY",
it indicates the client can accept UTF-8 on replies of the VRFY and
EXPN commands. Specially this allows to use UTF-8 on mailboxes and
full names which occur on replies. The SMTP client following this
specification MUST accept UTF-8 on replies of the VRFY and EXPN
commands. However the SMTP server MUST not use UTF-8 on replies, if
SMTP client does not ask UTF-8 replies. Some replies include the
mailbox, but usually most of replies do not require that the mailbox
is included in it and therefore UTF-8 is not needed. UTF8REPLY
parameter on the VRFY and EXPN commands tells the SMTP server that
the client is prepared for UTF-8 on SMTP replies.
VERIFY (VRFY) and EXPAND (EXPN)command syntaxes are changed to:
"VRFY" SP uAtom [SP "UTF8REPLY"] CRLF;
;uAtom is defined in section 2.3 of this document
"EXPN" SP uAtom [SP "UTF8REPLY"] CRLF;
;uAtom is defined in section 2.3 of this document
This parameter "UTF8REPLY" does not have value. If SMTP reply
requires UTF-8, but SMTP client does not use "UTF8REPLY" parameter in
the VERIFY (VRFY) and EXPAND (EXPN) commands, the response code "252"
is used, defined in [RFC2821], meaning "Cannot VRFY user, but will
accept the message and attempt the delivery". If enhanced mail
system status code [RFC3463] is used, the response code should be
"5.6.y" or "2.6.y" [SMTP-codes], meaning that "The UTF-8 reply
required, but the UTF8REPLY parameter not used.". [[anchor13: REMOVE
THIS: IANA please assign the proper error codes for "5.6.y" and
"2.6.y".]] "UTF8REPLY" on the VERIFY (VRFY) or EXPAND (EXPN)
commands enables UTF-8 for that command only.
The uAtom of the VRFY and EXPN commands is a user name or a user name
and a domain (see below). If a normal (i.e., 250) response is
returned, the response MAY include the full name of the user and MUST
include the mailbox of the user. It MUST be in either of the
following forms:
User Name <uMailbox>
; uMailbox is defined in section 2.3 of this document
; User Name allows the non-ASCII character.
uMailbox
; uMailbox is defined in section 2.3 of this document
If the SMTP Client lack of the UTF8SMTP support receives the UTF-8
message on reply, it may crash. UTF-8 messages on reply are only
allowed in the commands under the situations described above. Under
Yao & Mao Expires December 8, 2007 [Page 12]
Internet-Draft EAI June 2007
any other circumstances, UTF-8 messages on the reply MUST NOT be
used.
3. Issues with Other Parts of the Email System
3.1. LMTP
LMTP [RFC2033] may be used as the final delivery agent. In such
cases, LMTP may be arranged to deliver the mail to the mail store.
The mail store may not have UTF8SMTP capability. LMTP need to be
updated to deal with these situations.
3.2. SMTP Service Extension for DSNs
The existing draft standard Delivery status notifications
(DSNs)[RFC3461] is presently limited to US-ASCII text in the machine
readable portions of the protocol. "International Delivery and
Disposition Notifications" [EAI-dsn] adds a new address type for
international email addresses so an original recipient address with
non-US-ASCII characters can be correctly preserved even after
downgrading. If an SMTP server advertises both the UTF8SMTP and the
DSN extension, that server MUST implement EAI-dsn [EAI-dsn] including
support for the ORCPT parameter.
3.3. POP and IMAP
The [EAI-framework] has introduced two documents [EAI-pop] and
[EAI-imap] to how to use internationalized user names based on UTF-8
characters for the retrieval of messages from a mail server.
4. Potential problems
4.1. Impact many email related RFC
Internationalized email has implications for all processes and
protocols which examine, handle, generate, or otherwise deal with
mail. In particular, address parsing or validity checks, message
parsing or handling, etc.
5. Implementation Advice
In the absence of this extension, SMTP clients and servers are
constrained to using only those addresses permitted by RFC 2821. The
local parts of those addresses MAY be made up of any ASCII
characters, although some of them MUST be quoted as specified there.
Yao & Mao Expires December 8, 2007 [Page 13]
Internet-Draft EAI June 2007
It is notable in an internationalization context that there is a long
history on some systems of using overstruck ASCII characters (a
character, a backspace, and another character) within a quoted string
to approximate non-ASCII characters. This form of
internationalization SHOULD be phased out as this extension becomes
widely deployed but backward-compatibility considerations require
that it continue to be supported.
6. IANA Considerations
IANA is requested to add "UTF8SMTP" to the SMTP extensions registry
with the entry pointing to this specification for its definition.
IANA is requested to assign the proper error codes "5.6.x", "5.6.z",
"5.6.y" and "2.6.y" for this specification based on [SMTP-codes].
The "Mail Transmission Types" registry is requested to be updated to
include the following new entries:
WITH protocol types Description Reference
------------------- ---------------------------- ---------
UTF8SMTP UTF8SMTP with Service Extensions [RFCxxxx]
UTF8SMTPA UTF8SMTP with SMTP AUTH [RFC2554bis]
[RFCxxxx]
UTF8SMTPS UTF8SMTP with STARTTLS [RFC3207]
[RFCxxxx]
UTF8SMTPSA UTF8SMTP with both STARTTLS and [RFC3207]
SMTP AUTH [RFC2554bis]
[RFCxxxx]
[[anchor22: REMOVE THIS: where RFCxxxx represents the future RFC N0.
of this document. When this document is published as RFC and
assigned with a RFC No., "xxxx" should be replaced with 4-digits No..
"RFC2554bis" should be replaced with the new RFC No. when the
"RFC2554bis" document is assigned with the new RFC No.]]
7. Security considerations
See the extended security considerations discussion in
[EAI-framework]
Yao & Mao Expires December 8, 2007 [Page 14]
Internet-Draft EAI June 2007
8. Acknowledgements
Much of the text in the initial version of this document was derived
or copied from [Klensin-emailaddr] with the permission of the author.
Significant comments and suggestions were received from Xiaodong LEE,
Nai-Wen Hsu, Yangwoo KO, Yoshiro YONEYA, and other members of the JET
team and were incorporated into the document. Special thanks to
those contributors for this version of document, those includes (but
not limited to) John C Klensin, Charles Lindsey, Dave Crocker, Harald
Tveit Alvestrand, Marcos Sanz, Chris Newman, Martin Duerst, Edmon
Chung, Tony Finch, Kari Hurtta, Randall Gellens, Frank Ellermann,
Alexey Melnikov. Of course, none of the individuals are necessarily
responsible for the combination of ideas represented here.
9. Change History
[[anchor25: REMOVE THIS: This section is used for tracking the update
of this document. It may be useful to retain parts of it to
facilitate establishing dates and documents for the history of this
work.]]
9.1. draft-ietf-eai-smtpext: Version 00
This version supercedes draft-yao-ima-smtpext-03.txt. It refines the
ABNF definition of the internationalized email address. It
represents as the EAI working group document.
9.2. draft-ietf-eai-smtpext: Version 01
o Upgraded to reflect discussions during IETF 66.
o Remove the atomic parameter.
o Add the new section of "the Suggestion of the value of the ALT-
ADDRESS parameter".
9.3. draft-ietf-eai-smtpext: Version 02
o Upgraded to reflect the recent discussion of the ima@ietf.org
mailing list.
o Add the section of "Body Parts and SMTP Extensions".
o Add the new section of "Change History".
o Add the subsection about SMTP extensions for DSN.
9.4. draft-ietf-eai-smtpext: Version 03
o Update the syntax related to mailbox.
Yao & Mao Expires December 8, 2007 [Page 15]
Internet-Draft EAI June 2007
o Update the trace field section.
o Add the new section about message retry.
o Update the subsection about SMTP extensions for DSN.
9.5. draft-ietf-eai-smtpext: Version 04
o Refine some syntax.
o Delete "Message Header Label" section.
o Change "bounce" to "reject".
9.6. draft-ietf-eai-smtpext: Version 05
o Refine the abstract.
o Delete "The Suggestion of the Value of the ALT-ADDRESS parameter"
section.
o Move original section 2.7.4 and 2.7.5 to section 3 with the name
"Issues with other parts of the email system".
o Add the new section "LMTP".
o Refine some text according to suggestions from the EAI mailing
list discussion
o Remove the section "Mailing List Question"
9.7. draft-ietf-eai-smtpext: Version 06
o Delete the section about message retry.
o Add the new subsection about Mail eXchangers
o Add the new section about "UTF-8 Reply"
o Refine some response code for the section "Using the ALT-ADDRESS
parameter"
10. References
10.1. Normative References
[ASCII] Cerf, V., "ASCII format for network interchange", RFC 20,
October 1969.
[EAI-framework]
Klensin, J. and Y. Ko, "Overview and Framework for
Internationalized Email", draft-ietf-eai-framework-05.txt
(work in progress), 2 2007.
[]
Yeh, J., "Transmission of Email Headers in UTF-8
Encoding", draft-ietf-eai-utf8headers-05.txt (work in
progress), April 2007.
Yao & Mao Expires December 8, 2007 [Page 16]
Internet-Draft EAI June 2007
[RFC1652] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D.
Crocker, "SMTP Service Extension for 8bit-MIMEtransport",
RFC 1652, July 1994.
[RFC1869] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D.
Crocker, "SMTP Service Extensions", STD 10, RFC 1869,
November 1995.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
April 2001.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
April 2001.
[RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service
Extension for Delivery Status Notifications (DSNs)",
RFC 3461, January 2003.
[RFC3463] Vaudreuil, G., "Enhanced Mail System Status Codes",
RFC 3463, January 2003.
[RFC3464] Moore, K. and G. Vaudreuil, "An Extensible Message Format
for Delivery Status Notifications", RFC 3464,
January 2003.
[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello,
"Internationalizing Domain Names in Applications (IDNA)",
RFC 3490, March 2003.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", RFC 3629, November 2003.
[RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
10.2. Informative References
[EAI-downgrading]
YONEYA, Y., Ed. and K. Fujiwara, Ed., "Downgrading
mechanism for Internationalized eMail Address (IMA)",
draft-ietf-eai-downgrade-02 (work in progress),
August 2006.
[EAI-dsn] Newman, C., "SMTP extensions for DSNs",
draft-ietf-eai-dsn-00.txt (work in progress), 1 2007.
Yao & Mao Expires December 8, 2007 [Page 17]
Internet-Draft EAI June 2007
[EAI-imap]
Resnick, P. and C. Newman, "Considerations for IMAP in
Conjunction with Email Address Internationalization",
draft-ietf-eai-imap-utf8-01 (work in progress),
March 2007.
[EAI-mailing list]
Gellens, R. and E. Chung, "Mailing Lists and
Internationalized Email Addresses",
draft-ietf-eai-mailinglist-01.txt (work in progress),
January 2007.
[EAI-pop] Newman, C., "POP3 Support for UTF-8",
draft-ietf-eai-pop-01.txt (work in progress),
January 2007.
[Klensin-emailaddr]
Klensin, J., "Internationalization of Email Addresses",
draft-klensin-emailaddr-i18n-03 (work in progress),
July 2005.
[RFC2033] Myers, J., "Local Mail Transfer Protocol", RFC 2033,
October 1996.
[RFC2554bis]
Siemborski, R. and A. Melnikov, "SMTP Service Extension
for Authentication", draft-siemborski-rfc2554bis-09 (work
in progress), April 2007.
[RFC3030] Vaudreuil, G., "SMTP Service Extensions for Transmission
of Large and Binary MIME Messages", RFC 3030,
December 2000.
[RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over
Transport Layer Security", RFC 3207, February 2002.
[RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail",
RFC 4409, April 2006.
[SMTP-codes]
KLensin, J., "An IANA Registry for Extended SMTP Status
Codes", draft-klensin-smtp-code-registry-00 (work in
progress), April 2007.
Yao & Mao Expires December 8, 2007 [Page 18]
Internet-Draft EAI June 2007
Authors' Addresses
Jiankang YAO (editor)
CNNIC
No.4 South 4th Street, Zhongguancun
Beijing
Phone: +86 10 58813007
Email: yaojk@cnnic.cn
Wei MAO (editor)
CNNIC
No.4 South 4th Street, Zhongguancun
Beijing
Phone: +86 10 58813055
Email: maowei_ietf@cnnic.cn
Yao & Mao Expires December 8, 2007 [Page 19]
Internet-Draft EAI June 2007
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Yao & Mao Expires December 8, 2007 [Page 20]