RFC 6531 PROPOSED STANDARD EMAIL · SMTP · INTERNATIONALIZATION

SMTP Internationalization: SMTP Extension for Internationalized Email

The SMTP extension that lets mail servers agree to carry non-ASCII addresses and UTF-8 headers.

On rfc-editor.org ↗
PUBLISHED
February 2012
AUTHORS
J. Yao, W. Mao
ORG
CNNIC
STREAM
IETF
BUILDS ON
RFC 5336 — SMTPUTF8
EHLO KEYWORD
SMTPUTF8
MAIL LINE LENGTH INCREASE
10 characters
ADDRESS REJECTION CODES
553 (RCPT), 550 (MAIL)
ENHANCED STATUS CODES ADDED
X.6.7, X.6.8, X.6.9
REQUIRED COMPANION EXTENSION
8BITMIME
FALLBACK CODES FOR UTF-8 REPLIES
252 or 550
DOI
10.17487/RFC6531
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                            J. Yao
Request for Comments: 6531                                        W. Mao
Obsoletes: 5336                                                    CNNIC
Category: Standards Track                                  February 2012
ISSN: 2070-1721


               SMTP Extension for Internationalized Email

Abstract

   This document specifies an SMTP extension for transport and delivery
   of email messages with internationalized email addresses or header
   information.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for 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 this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6531.

Copyright Notice

   Copyright (c) 2012 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.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Changes Made to Other Specifications . . . . . . . . . . .  3
   2.  Overview of Operation  . . . . . . . . . . . . . . . . . . . .  4
   3.  Mail Transport-Level Protocol  . . . . . . . . . . . . . . . .  4
     3.1.  Framework for the Internationalization Extension . . . . .  4
     3.2.  The SMTPUTF8 Extension . . . . . . . . . . . . . . . . . .  5
     3.3.  Extended Mailbox Address Syntax  . . . . . . . . . . . . .  7
     3.4.  MAIL Command Parameter Usage . . . . . . . . . . . . . . .  8
     3.5.  Non-ASCII Addresses and Reply-Codes  . . . . . . . . . . .  9
     3.6.  Body Parts and SMTP Extensions . . . . . . . . . . . . . .  9
     3.7.  Additional ESMTP Changes and Clarifications  . . . . . . . 10
       3.7.1.  The Initial SMTP Exchange  . . . . . . . . . . . . . . 10
       3.7.2.  Mail eXchangers  . . . . . . . . . . . . . . . . . . . 10
       3.7.3.  Trace Information  . . . . . . . . . . . . . . . . . . 11
       3.7.4.  UTF-8 Strings in Replies . . . . . . . . . . . . . . . 11
   4.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
     4.1.  SMTP Service Extensions Registry . . . . . . . . . . . . . 13
     4.2.  SMTP Enhanced Status Code Registry . . . . . . . . . . . . 13
     4.3.  WITH Protocol Types Sub-Registry of the Mail
           Transmission Types Registry  . . . . . . . . . . . . . . . 15
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 15
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 16
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 18

1.  Introduction

   The document defines a Simple Mail Transfer Protocol [RFC5321]
   extension so servers can advertise the ability to accept and process
   internationalized email addresses (see Section 1.1) and
   internationalized email headers [RFC6532].

   An extended overview of the extension model for internationalized
   email addresses and the email header appears in RFC 6530 [RFC6530],
   referred to as "the framework document" in this specification.  A
   thorough understanding of the information in that document and in the
   base Internet email specifications [RFC5321] [RFC5322] is necessary
   to understand and implement this specification.

1.1.  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].

   The terms "UTF-8 string" or "UTF-8 character" are used to refer to
   Unicode characters, which may or may not be members of the ASCII
   subset, in UTF-8 [RFC3629], a standard Unicode Encoding Form.  All
   other specialized terms used in this specification are defined in the
   framework document or in the base Internet email specifications.  In
   particular, the terms "ASCII address", "internationalized email
   address", "non-ASCII address", "SMTPUTF8", "internationalized
   message", and "message" are used in this document according to the
   definitions in the framework document [RFC6530].

   Strings referred to in this document, including ASCII strings, MUST
   be expressed in UTF-8.

   This specification uses Augmented BNF (ABNF) rules [RFC5234].  Some
   basic rules in this document are identified in Section 3.3 as being
   defined (under the same names) in RFC 5234 [RFC5234], RFC 5321
   [RFC5321], RFC 5890 [RFC5890], or RFC 6532 [RFC6532].

1.2.  Changes Made to Other Specifications

   This specification extends some syntax rules defined in RFC 5321 and
   permits internationalized email addresses in the envelope and in
   trace fields, but it does not modify RFC 5321.  It permits data
   formats defined in RFC 6532 [RFC6532], but it does not modify RFC
   5322.  It does require that the 8BITMIME extension [RFC6152] be
   announced by the SMTPUTF8-aware SMTP server and used with
   "BODY=8BITMIME" by the SMTPUTF8-aware SMTP client, but it does not
   modify the 8BITMIME specification in any way.

   This specification replaces an earlier, experimental, approach to the
   same problem [RFC5336].  Section 6 of RFC 6530 [RFC6530] describes
   the changes in approach between RFC 5336 [RFC5336] and this
   specification.  Anyone trying to convert an implementation from the
   experimental specification to the specification in this document will
   need to review those changes carefully.

2.  Overview of Operation

   This document specifies an element of the email internationalization
   work, specifically the definition of an SMTP extension for
   internationalized email.  The extension is identified with the token
   "SMTPUTF8".

   The internationalized email headers specification [RFC6532] provides
   the details of email header features enabled by this extension.

3.  Mail Transport-Level Protocol

3.1.  Framework for the Internationalization Extension

   The following service extension is defined:

   1.   The name of the SMTP service extension is "Internationalized
        Email".

   2.   The EHLO keyword value associated with this extension is
        "SMTPUTF8".

   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 this keyword.
        The SMTPUTF8-aware SMTP client MUST ignore any parameters if
        they appear for this keyword; that is, the SMTPUTF8-aware SMTP
        client MUST behave as if the parameters do not appear.  If an
        SMTP server includes SMTPUTF8 in its EHLO response, it MUST be
        fully compliant with this version of this specification.

   4.   One OPTIONAL parameter, SMTPUTF8, is added to the MAIL command.
        The parameter does not accept a value.  If this parameter is set
        in the MAIL command, it indicates that the SMTP client is
        SMTPUTF8-aware.  Its presence also asserts that the envelope
        includes the non-ASCII address, the message being sent is an
        internationalized message, or the message being sent needs the
        SMTPUTF8 support.

   5.   The maximum length of a MAIL command line is increased by 10
        characters to accommodate the possible addition of the SMTPUTF8
        parameter.

   6.   One OPTIONAL parameter, SMTPUTF8, is added to the VERIFY (VRFY)
        and EXPAND (EXPN) commands.  The SMTPUTF8 parameter does not
        accept a value.  The parameter indicates that the SMTP client
        can accept Unicode characters in UTF-8 encoding in replies from
        the VRFY and EXPN commands.

   7.   No additional SMTP verbs are defined by this extension.

   8.   Servers offering this extension MUST provide support for, and
        announce, the 8BITMIME extension [RFC6152].

   9.   The reverse-path and forward-path of the SMTP MAIL and RCPT
        commands are extended to allow Unicode characters encoded in
        UTF-8 in mailbox names (addresses).

   10.  The mail message body is extended as specified in RFC 6532
        [RFC6532].

   11.  The SMTPUTF8 extension is valid on the submission port
        [RFC6409].  It may also be used with the Local Mail Transfer
        Protocol (LMTP) [RFC2033].  When these protocols are used, their
        use should be reflected in the trace field WITH keywords as
        appropriate [RFC3848].

3.2.  The SMTPUTF8 Extension

   An SMTP server that announces the SMTPUTF8 extension MUST be prepared
   to accept a UTF-8 string [RFC3629] in any position in which RFC 5321
   specifies that a <mailbox> can appear.  Although the characters in
   the <local-part> are permitted to contain non-ASCII characters, the
   actual parsing of the <local-part> and the delimiters used are
   unchanged from the base email specification [RFC5321].  Any domain
   name to be looked up in the DNS MUST conform to and be processed as
   specified for Internationalizing Domain Names in Applications (IDNA)
   [RFC5890].  When doing lookups, the SMTPUTF8-aware SMTP client or
   server MUST either use a Unicode-aware DNS library, or transform the
   internationalized domain name to A-label form (i.e., a fully-
   qualified domain name that contains one or more A-labels but no
   U-labels) as specified in RFC 5890 [RFC5890].

   An SMTP client that receives the SMTPUTF8 extension keyword in
   response to the EHLO command MAY transmit mailbox names within SMTP
   commands as internationalized strings in UTF-8 form.  It MAY send a
   UTF-8 header [RFC6532] (which may also include mailbox names in
   UTF-8).  It MAY transmit the domain parts of mailbox names within
   SMTP commands or the message header as A-labels or U-labels
   [RFC5890].  The presence of the SMTPUTF8 extension does not change
   the server-relaying behaviors described in RFC 5321.

   If the SMTPUTF8 SMTP extension is not offered by the SMTP server, the
   SMTPUTF8-aware SMTP client MUST NOT transmit an internationalized
   email address and MUST NOT transmit a mail message containing
   internationalized mail headers as described in RFC 6532 [RFC6532] at
   any level within its MIME structure [RFC2045].  (For this paragraph,
   the internationalized domain name in A-label form as specified in
   IDNA definitions [RFC5890] is not considered to be
   "internationalized".)  Instead, if an SMTPUTF8-aware SMTP client
   (sender) attempts to transfer an internationalized message and
   encounters an SMTP server that does not support the extension, the
   best action for it to take depends on other conditions.  In
   particular:

   o  If it is a Message Submission Agent (MSA) [RFC6409] [RFC5598], it
      MAY choose its own way to deal with this scenario using the wide
      discretion for changing addresses or otherwise fixing up and
      transforming messages allowed by RFC 6409.  As long as the
      resulting message conforms to the requirements of RFC 5321 (i.e.,
      without the SMTPUTF8 extension), the details of that
      transformation are outside the scope of this document.

   o  If it is not an MSA or is an MSA and does not choose to transform
      the message to one that does not require the SMTPUTF8 extension,
      it SHOULD reject the message.  As usual, this can be done either
      by generating an appropriate reply during the SMTP transaction or
      by accepting the message and then generating and transmitting a
      non-delivery notification.  If the latter choice is made, the
      notification process MUST conform to the requirements of RFC 5321,
      RFC 3464 [RFC3464], and RFC 6533 [RFC6533].

   o  As specified in Section 2.2.3 of RFC 5321, an SMTP client with
      additional information and/or knowledge of special circumstances
      MAY choose to requeue the message and try later and/or try an
      alternate MX host as specified in that section.

   This document applies when an SMTPUTF8-aware SMTP client or server
   supports the SMTPUTF8 extension.  For all other cases, and for
   addresses and messages that do not require an SMTPUTF8 extension,
   SMTPUTF8-aware SMTP clients and servers do not change the behavior
   specified in RFC 5321 [RFC5321].

   If an SMTPUTF8-aware SMTP server advertises the Delivery Status
   Notification (DSN) [RFC3461] extension, it MUST implement RFC 6533
   [RFC6533].

3.3.  Extended Mailbox Address Syntax

   RFC 5321, Section 4.1.2, defines the syntax of a <Mailbox> entirely
   in terms of ASCII characters.  This document extends <Mailbox> to add
   support of non-ASCII characters.

   The key changes made by this specification include:

   o  The <Mailbox> ABNF rule is imported from RFC 5321 and updated in
      order to support the internationalized email address.  Other
      related rules are imported from RFC 5321, RFC 5234, RFC 5890, and
      RFC 6532, or are extended in this document.

   o  The definition of <sub-domain> is extended to permit both the RFC
      5321 definition and a UTF-8 string in a DNS label that conforms
      with IDNA definitions [RFC5890].

   o  The definition of <atext> is extended to permit both the RFC 5321
      definition and a UTF-8 string.  That string MUST NOT contain any
      of the ASCII graphics or control characters.

   The following ABNF rules imported from RFC 5321, Section 4.1.2, are
   updated directly or indirectly by this document:

   o  <Mailbox>

   o  <Local-part>

   o  <Dot-string>

   o  <Quoted-string>

   o  <QcontentSMTP>

   o  <Domain>

   o  <Atom>

   The following ABNF rule will be imported from RFC 6532, Section 3.1,
   directly:

   o  <UTF8-non-ascii>
   The following ABNF rule will be imported from RFC 5234, Appendix B.1,
   directly:

   o  <DQUOTE>

   The following ABNF rule will be imported from RFC 5890, Section
   2.3.2.1, directly:

   o  <U-label>

   The following rules are extended in ABNF [RFC5234] as follows.

   sub-domain   =/  U-label
    ; extend the definition of sub-domain in RFC 5321, Section 4.1.2

   atext   =/  UTF8-non-ascii
    ; extend the implicit definition of atext in
    ; RFC 5321, Section 4.1.2, which ultimately points to
    ; the actual definition in RFC 5322, Section 3.2.3

   qtextSMTP  =/ UTF8-non-ascii
    ; extend the definition of qtextSMTP in RFC 5321, Section 4.1.2

   esmtp-value  =/ UTF8-non-ascii
    ; extend the definition of esmtp-value in RFC 5321, Section 4.1.2

3.4.  MAIL Command Parameter Usage

   If the envelope or message being sent requires the capabilities of
   the SMTPUTF8 extension, the SMTPUTF8-aware SMTP client MUST supply
   the SMTPUTF8 parameter with the MAIL command.  If this parameter is
   provided, it MUST not accept a value.  If the SMTPUTF8-aware SMTP
   client is aware that neither the envelope nor the message being sent
   requires any of the SMTPUTF8 extension capabilities, it SHOULD NOT
   supply the SMTPUTF8 parameter with the MAIL command.

   Because there is no guarantee that a next-hop SMTP server will
   support the SMTPUTF8 extension, use of the SMTPUTF8 extension always
   carries a risk of transmission failure.  In fact, during the early
   stages of deployment for the SMTPUTF8 extension, the risk will be
   quite high.  Hence, there is a distinct near-term advantage for
   ASCII-only messages to be sent without using this extension.  The
   long-term advantage of casting ASCII [ASCII] characters (0x7f and
   below) as UTF-8 form is that it permits pure-Unicode environments.

3.5.  Non-ASCII Addresses and Reply-Codes

   An SMTPUTF8-aware SMTP client MUST NOT send an internationalized
   message to an SMTP server that does not support SMTPUTF8.  If the
   SMTP server does not support this option, then the SMTPUTF8-aware
   SMTP client has three choices according to Section 3.2 of this
   specification.

   The three-digit reply-codes used in this section are based on their
   meanings as defined in RFC 5321.

   When messages are rejected because the RCPT command requires an ASCII
   address, the reply-code 553 is returned with the meaning "mailbox
   name not allowed".  When messages are rejected because the MAIL
   command requires an ASCII address, the reply-code 550 is returned
   with the meaning "mailbox unavailable".  When the SMTPUTF8-aware SMTP
   server supports enhanced mail system status codes [RFC3463], reply-
   code "X.6.7" [RFC5248] (see Section 4) is used, meaning "Non-ASCII
   addresses not permitted for that sender/recipient".

   When messages are rejected for other reasons, the server follows the
   model of the base email specification in RFC 5321; this extension
   does not change those circumstances or reply messages.

   If a message is rejected after the final "." of the DATA command
   because one or more recipients are unable to accept and process a
   message with internationalized email headers, the reply-code "554" is
   used with the meaning "Transaction failed".  If the SMTPUTF8-aware
   SMTP server supports enhanced mail system status codes [RFC3463],
   reply code "X.6.9" [RFC5248] (see Section 4) is used to indicate this
   condition, meaning "UTF-8 header message cannot be transmitted to one
   or more recipients, so the message must be rejected".

   The SMTPUTF8-aware SMTP servers are encouraged to detect that
   recipients cannot accept internationalized messages and generate an
   error after the RCPT command rather than waiting until after the DATA
   command to issue an error.

3.6.  Body Parts and SMTP Extensions

   The MAIL command parameter SMTPUTF8 asserts that a message is an
   internationalized message or the message being sent needs the
   SMTPUTF8 support.  There is still a chance that a message being sent
   via the MAIL command with the SMTPUTF8 parameter is not an
   internationalized message.  An SMTPUTF8-aware SMTP client or server
   that requires accurate knowledge of whether a message is
   internationalized needs to parse all message header fields and MIME
   header fields [RFC2045] in the message body.  However, this
   specification does not require that the SMTPUTF8-aware SMTP client or
   server inspects the message.

   Although this specification requires that SMTPUTF8-aware SMTP servers
   support the 8BITMIME extension [RFC6152] to ensure that servers have
   adequate handling capability for 8-bit data, it does not require non-
   ASCII body parts in the MIME message as specified in RFC 2045.  The
   SMTPUTF8 extension MAY be used as follows (assuming it is appropriate
   given the body content):

   -  with the BODY=8BITMIME parameter [RFC6152], or

   -  with the BODY=BINARYMIME parameter, if the SMTP server advertises
      BINARYMIME [RFC3030].

3.7.  Additional ESMTP Changes and Clarifications

   The information carried in the mail transport process involves
   addresses ("mailboxes") and domain names in various contexts in
   addition to the MAIL and RCPT commands and extended alternatives to
   them.  In general, the rule is that, when RFC 5321 specifies a
   mailbox, this SMTP extension requires UTF-8 form to be used for the
   entire string.  When RFC 5321 specifies a domain name, the
   internationalized domain name SHOULD be in U-label form if the
   SMTPUTF8 extension is supported; otherwise, it SHOULD be in A-label
   form.

   The following subsections list and discuss all of the relevant cases.

3.7.1.  The Initial SMTP Exchange

   When an SMTP connection is opened, the SMTP server sends a "greeting"
   response consisting of the 220 reply-code and some information.  The
   SMTP client then sends the EHLO command.  Since the SMTP client
   cannot know whether the SMTP server supports SMTPUTF8 until after it
   receives the response to the EHLO, the SMTPUTF8-aware SMTP client
   MUST send only ASCII (LDH label or A-label [RFC5890]) domains in the
   EHLO command.  If the SMTPUTF8-aware SMTP server provides domain
   names in the EHLO response, they MUST be in the form of LDH labels or
   A-labels.

3.7.2.  Mail eXchangers

   If multiple DNS MX records are used to specify multiple servers for a
   domain (as described in Section 5 of RFC 5321 [RFC5321]), it is
   strongly advised that all or none of them SHOULD support the SMTPUTF8
   extension.  Otherwise, unexpected rejections can happen during
   temporary or permanent failures, which users might perceive as
   serious reliability issues.

3.7.3.  Trace Information

   The trace information <Return-path-line>, <Time-stamp-line>, and
   their related rules are defined in Section 4.4 of RFC 5321 [RFC5321].
   This document updates <Mailbox> and <Domain> to support non-ASCII
   characters.  When the SMTPUTF8 extension is used, the 'Reverse-path'
   clause of the Return-path-line may include an internationalized
   domain name that uses the U-label form.  Also, the 'Stamp' clause of
   the Time-stamp-line may include an internationalized domain name that
   uses the U-label form.

   If the messages that include trace fields are sent by an SMTPUTF8-
   aware SMTP client or relay server without the SMTPUTF8 parameter
   included in the MAIL commands, trace field values must conform to RFC
   5321 regardless of the SMTP server's capability.

   When an SMTPUTF8-aware SMTP server adds a trace field to a message
   that was or will be transmitted with the SMTPUTF8 parameter included
   in the MAIL commands, that server SHOULD use the U-label form for
   internationalized domain names in the new trace field.

   The protocol value of the 'WITH' clause when this extension is used
   is one of the SMTPUTF8 values specified in the "IANA Considerations"
   section of this document.

3.7.4.  UTF-8 Strings in Replies

3.7.4.1.  MAIL Command

   If an SMTP client follows this specification and sends any MAIL
   commands containing the SMTPUTF8 parameter, the SMTPUTF8-aware SMTP
   server is permitted to use UTF-8 characters in the email address
   associated with 251 and 551 reply-codes, and the SMTP client MUST be
   able to accept and process them.  If a given MAIL command does not
   include the SMTPUTF8 parameter, the SMTPUTF8-aware SMTP server MUST
   NOT return a 251 or 551 response containing a non-ASCII mailbox.
   Instead, it MUST transform such responses into 250 or 550 responses
   that do not contain non-ASCII addresses.

3.7.4.2.  VRFY and EXPN Commands and the SMTPUTF8 Parameter

   If the SMTPUTF8 parameter is transmitted with the VRFY and EXPN
   commands, it indicates that the SMTP client can accept UTF-8 strings
   in replies to those commands.  The parameter with the VRFY and EXPN
   commands SHOULD only be used after the SMTP client sees the EHLO
   response with the SMTPUTF8 keyword.  This allows an SMTPUTF8-aware
   SMTP server to use UTF-8 strings in mailbox names and full names that
   occur in replies, without concern that the SMTP client might be
   confused by them.  An SMTP client that conforms to this specification
   MUST accept and correctly process replies to the VRFY and EXPN
   commands that contain UTF-8 strings.  However, an SMTPUTF8-aware SMTP
   server MUST NOT use UTF-8 strings in replies if the SMTP client does
   not specifically allow such replies by transmitting this parameter
   with the VRFY and EXPN commands.

   Most replies do not require that a mailbox name be included in the
   returned text, and therefore a UTF-8 string is not needed in them.
   Some replies, notably those resulting from successful execution of
   the VRFY and EXPN commands, do include the mailbox.

   VERIFY (VRFY) and EXPAND (EXPN) command syntaxes are changed to:

   vrfy = "VRFY" SP String
     [ SP "SMTPUTF8" ] CRLF
    ; String may include Non-ASCII characters

   expn = "EXPN" SP String
     [ SP "SMTPUTF8" ] CRLF
    ; String may include Non-ASCII characters

   The SMTPUTF8 parameter does not accept a value.  If the reply to a
   VRFY or EXPN command requires a UTF-8 string, but the SMTP client did
   not use the SMTPUTF8 parameter, then the SMTPUTF8-aware SMTP server
   MUST use either the reply-code 252 or 550.  Reply-code 252, defined
   in RFC 5321 [RFC5321], means "Cannot VRFY user, but will accept the
   message and attempt the delivery".  Reply-code 550, also defined in
   RFC 5321 [RFC5321], means "Requested action not taken: mailbox
   unavailable".  When the SMTPUTF8-aware SMTP server supports enhanced
   mail system status codes [RFC3463], the enhanced reply-code as
   specified below is used.  Using the SMTPUTF8 parameter with a VRFY or
   EXPN command enables UTF-8 replies for that command only.

   If a normal success response (i.e., 250) 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 <Mailbox>
    ; Mailbox is defined in Section 3.3 of this document.
    ; User Name can contain non-ASCII characters.

   Mailbox
    ; Mailbox is defined in Section 3.3 of this document.

   If the SMTP reply requires UTF-8 strings, but a UTF-8 string is not
   allowed in the reply, and the SMTPUTF8-aware SMTP server supports
   enhanced mail system status codes [RFC3463], the enhanced reply-code
   is "X.6.8" [RFC5248] (see Section 4), meaning "A reply containing a
   UTF-8 string is required to show the mailbox name, but that form of
   response is not permitted by the SMTP client".

   If the SMTP client does not support the SMTPUTF8 extension, but
   receives a UTF-8 string in a reply, it may not be able to properly
   report the reply to the user, and some clients might mishandle that
   reply.  Internationalized messages in replies are only allowed in the
   commands under the situations described above.

   Although UTF-8 strings are needed to represent email addresses in
   responses under the rules specified in this section, this extension
   does not permit the use of UTF-8 strings for any other purposes.
   SMTPUTF8-aware SMTP servers MUST NOT include non-ASCII characters in
   replies except in the limited cases specifically permitted in this
   section.

4.  IANA Considerations

4.1.  SMTP Service Extensions Registry

   IANA has added a new value "SMTPUTF8" to the "SMTP Service Extension"
   registry of the "Mail Parameters" registry, according to the
   following data:

        +----------+---------------------------------+-----------+
        | Keywords | Description                     | Reference |
        +----------+---------------------------------+-----------+
        | SMTPUTF8 | Internationalized email address | [RFC6531] |
        +----------+---------------------------------+-----------+

4.2.  SMTP Enhanced Status Code Registry

   The code definitions in this document replace those specified in RFC
   5336, following the guidance in Sections 3.5 and 3.7.4.2 of this
   document, and based on RFC 5248 [RFC5248].  IANA has updated the
   "Simple Mail Transfer Protocol (SMTP) Enhanced Status Code Registry"
   with the following data:

    Code:        X.6.7
    Sample Text: Non-ASCII addresses not permitted for that
                 sender/recipient
    Associated basic status code: 550, 553
    Description: This indicates the reception of a MAIL or RCPT command
                 that non-ASCII addresses are not permitted.
    Defined:     RFC 6531 (Standards Track)
    Submitter:   Jiankang YAO
    Change controller: ima@ietf.org


    Code:        X.6.8
    Sample Text: UTF-8 string reply is required, but not permitted by
                 the SMTP client
    Associated basic status code: 252, 550, 553
    Description: This indicates that a reply containing a UTF-8 string
                 is required to show the mailbox name, but that form of
                 response is not permitted by the SMTP client.
    Defined:     RFC 6531 (Standards Track)
    Submitter:   Jiankang YAO
    Change controller: ima@ietf.org


    Code:        X.6.9
    Sample Text: UTF-8 header message cannot be transferred to one or
                 more recipients, so the message must be rejected
    Associated basic status code: 550
    Description: This indicates that transaction failed after the
                 final "." of the DATA command.
    Defined:     RFC 6531 (Standards Track)
    Submitter:   Jiankang YAO
    Change controller: ima@ietf.org


    Code:        X.6.10
    Description: This is a duplicate of X.6.8 and is thus deprecated.

4.3.  WITH Protocol Types Sub-Registry of the Mail Transmission Types
      Registry

   IANA has modified or added the following entries in the "WITH
   protocol types" sub-registry under the "Mail Transmission Types"
   registry.

   +--------------+------------------------------+---------------------+
   | WITH         | Description                  | Reference           |
   | protocol     |                              |                     |
   | types        |                              |                     |
   +--------------+------------------------------+---------------------+
   | UTF8SMTP     | ESMTP with SMTPUTF8          | [RFC6531]           |
   | UTF8SMTPA    | ESMTP with SMTPUTF8 and AUTH | [RFC4954] [RFC6531] |
   | UTF8SMTPS    | ESMTP with SMTPUTF8 and      | [RFC3207] [RFC6531] |
   |              | STARTTLS                     |                     |
   | UTF8SMTPSA   | ESMTP with SMTPUTF8 and both | [RFC3207] [RFC4954] |
   |              | STARTTLS and AUTH            | [RFC6531]           |
   | UTF8LMTP     | LMTP with SMTPUTF8           | [RFC6531]           |
   | UTF8LMTPA    | LMTP with SMTPUTF8 and AUTH  | [RFC4954] [RFC6531] |
   | UTF8LMTPS    | LMTP with SMTPUTF8 and       | [RFC3207] [RFC6531] |
   |              | STARTTLS                     |                     |
   | UTF8LMTPSA   | LMTP with SMTPUTF8 and both  | [RFC3207] [RFC4954] |
   |              | STARTTLS and AUTH            | [RFC6531]           |
   +--------------+------------------------------+---------------------+

5.  Security Considerations

   The extended security considerations discussion in the framework
   document [RFC6530] applies here.

   More security considerations are discussed below:

   Beyond the use inside the email global system (in SMTP envelopes and
   message headers), internationalized email addresses will also show up
   inside other cases, in particular:

   o  the logging systems of SMTP transactions and other logs to monitor
      the email systems;

   o  the trouble ticket systems used by security teams to manage
      security incidents, when an email address is involved;

   In order to avoid problems that could cause loss of data, this will
   likely require extending these systems to support full UTF-8, or
   require providing an adequate mechanism for mapping non-ASCII strings
   to ASCII.

   Another security aspect to be considered is related to the ability by
   security team members to quickly understand, read, and identify email
   addresses from the logs, when they are tracking an incident.
   Mechanisms to automatically and quickly provide the origin or
   ownership of an internationalized email address SHALL be implemented
   for use by log readers that cannot easily read non-ASCII information.

   The SMTP commands VRFY and EXPN are sometimes used in SMTP
   transactions where there is no message to transfer (by tools used to
   take automated actions in case potential spam messages are
   identified).  Sections 3.5 and 7.3 of RFC 5321 give detailed
   descriptions of use and possible behaviors.  Implementation of
   internationalized addresses can also affect logs and actions by these
   tools.

6.  Acknowledgements

   This document revises RFC 5336 [RFC5336] based on the result of the
   Email Address Internationalization (EAI) working group's discussion.
   Many EAI working group members did tests and implementations to move
   this document to the Standards Track.  Significant comments and
   suggestions were received from Xiaodong LEE, Nai-Wen HSU, Yangwoo KO,
   Yoshiro YONEYA, and other members of JET and were incorporated into
   the specification.  Additional important comments and suggestions,
   and often specific text, were contributed by many members of the
   working group and design team.  Those contributions include material
   from 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, Pete Resnick, S. Moonesamy, Soobok Lee, Shawn Steele,
   Alfred Hoenes, Miguel Garcia, Magnus Westerlund, Joseph Yee, and Lars
   Eggert.  Of course, none of the individuals are necessarily
   responsible for the combination of ideas represented here.

   Thanks a lot to Dave Crocker for his comments and helping with ABNF
   refinement.

7.  References

7.1.  Normative References

   [ASCII]    American National Standards Institute  (formerly United
              States of America Standards Institute), "USA Code for
              Information Interchange", ANSI X3.4-1968, 1968.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [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.

   [RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
              10646", RFC 3629, November 2003.

   [RFC3848]  Newman, C., "ESMTP and LMTP Transmission Types
              Registration", RFC 3848, July 2004.

   [RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234, January 2008.

   [RFC5248]  Hansen, T. and J. Klensin, "A Registry for SMTP Enhanced
              Mail System Status Codes", RFC 5248, June 2008.

   [RFC5321]  Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
              October 2008.

   [RFC5322]  Resnick, P., Ed., "Internet Message Format", RFC 5322,
              October 2008.

   [RFC5890]  Klensin, J., "Internationalizing Domain Names in
              Applications (IDNA definitions)", RFC 5890, June 2010.

   [RFC6152]  Klensin, J., Freed, N., Rose, M., and D. Crocker, "SMTP
              Service Extension for 8-bit MIME Transport", STD 71,
              RFC 6152, March 2011.

   [RFC6409]  Gellens, R. and J. Klensin, "Message Submission for Mail",
              STD 72, RFC 6409, November 2011.

   [RFC6530]  Klensin, J. and Y. Ko, "Overview and Framework for
              Internationalized Email", RFC 6530, February 2012.

   [RFC6532]  Yang, A., Steele, S., and N. Freed, "Internationalized
              Email Headers", RFC 6532, February 2012.

   [RFC6533]  Hansen, T., Ed., Newman, C., and A. Melnikov, Ed.,
              "Internationalized Delivery Status and Disposition
              Notifications", RFC RFC6533, February 2012.

7.2.  Informative References

   [RFC2033]  Myers, J., "Local Mail Transfer Protocol", RFC 2033,
              October 1996.

   [RFC2045]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
              Extensions (MIME) Part One: Format of Internet Message
              Bodies", RFC 2045, November 1996.

   [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.

   [RFC4954]  Siemborski, R. and A. Melnikov, "SMTP Service Extension
              for Authentication", RFC 4954, July 2007.

   [RFC5336]  Yao, J. and W. Mao, "SMTP Extension for Internationalized
              Email Addresses", RFC 5336, September 2008.

   [RFC5598]  Crocker, D., "Internet Mail Architecture", RFC 5598,
              July 2009.

Authors' Addresses

   Jiankang YAO
   CNNIC
   No.4 South 4th Street, Zhongguancun
   Beijing
   China

   Phone: +86 10 58813007
   EMail: yaojk@cnnic.cn


   Wei MAO
   CNNIC
   No.4 South 4th Street, Zhongguancun
   Beijing
   China

   Phone: +86 10 58812230
   EMail: maowei_ietf@cnnic.cn

ISO Plain Language

On this page
PROBLEMSMTP envelopes and mailbox names were defined entirely in ASCII, so addresses with non-ASCII local parts or internationalized domain names could not be sent.
MECHANISMServers advertise a new EHLO keyword, SMTPUTF8. A client then adds an SMTPUTF8 parameter to MAIL, and UTF-8 may appear in mailbox names, in the headers defined by RFC 6532 and in a few replies.
WHY IT MATTERSIt replaces the experimental approach in RFC 5336 and is a Proposed Standard. A client must not send an internationalized message to a server that does not offer the extension.

§1Introduction

The document defines a Simple Mail Transfer Protocol extension so that servers can advertise the ability to accept and process internationalized email addresses and internationalized email headers. An extended overview of the extension model for internationalized email addresses and email headers is given in RFC 6530, referred to as the framework document.

The specification extends some syntax rules defined in RFC 5321 and permits internationalized email addresses in the envelope and in trace fields, but it does not modify RFC 5321. It permits data formats defined in RFC 6532, but it does not modify RFC 5322. It does require that the 8BITMIME extension be announced by the SMTPUTF8-aware SMTP server and used with BODY=8BITMIME by the SMTPUTF8-aware SMTP client, but it does not modify the 8BITMIME specification in any way.

This specification replaces an earlier, experimental, approach to the same problem, RFC 5336. Section 6 of the framework document describes the changes in approach between the two, and anyone converting an implementation from the experimental specification needs to review those changes carefully.

This RFC takes the experimental SMTPUTF8 work and turns it into a standard. It does not rewrite basic SMTP; it adds one keyword and one parameter.

§3.1Framework for the Internationalization Extension

The service extension is named Internationalized Email, and the EHLO keyword value associated with it is SMTPUTF8. No parameter values are defined for that keyword, and in order to permit future extensions the EHLO response MUST NOT contain any parameters for it. A client that is SMTPUTF8-aware MUST ignore any parameters if they appear, and a server that includes SMTPUTF8 in its EHLO response MUST be fully compliant with this version of the specification.

One optional parameter, SMTPUTF8, is added to the MAIL command. It does not accept a value. Its presence asserts that the envelope includes a non-ASCII address, that the message being sent is an internationalized message, or that the message needs SMTPUTF8 support. The maximum length of a MAIL command line is increased by 10 characters to allow for the parameter. One optional SMTPUTF8 parameter is also added to the VERIFY and EXPAND commands, indicating that the client can accept Unicode characters in UTF-8 encoding in the replies.

No additional SMTP verbs are defined. Servers offering this extension MUST provide support for and announce the 8BITMIME extension. The reverse-path and forward-path of the MAIL and RCPT commands are extended to allow Unicode characters encoded in UTF-8 in mailbox names, and the message body is extended as specified in RFC 6532. The extension is valid on the submission port and may also be used with the Local Mail Transfer Protocol.

The whole extension is one word in the server's hello, plus one flag on the command that starts a mail transfer. It changes no verbs and adds no new ones.

SMTPUTF8 AND 8BITMIME COVER DIFFERENT THINGS
AspectSMTPUTF88BITMIME
What it coversInternationalized addresses and headersHandling of 8-bit data in the message body
Client parameterSMTPUTF8 on the MAIL commandBODY=8BITMIME
Relationship THIS RFCA server offering SMTPUTF8 must also announce 8BITMIMEIts own specification is not changed by this RFC

§3.2The SMTPUTF8 Extension

A server that announces the SMTPUTF8 extension must be prepared to accept a UTF-8 string anywhere RFC 5321 allows a mailbox to appear. Although the local part may contain non-ASCII characters, the parsing of the local part and the delimiters used are unchanged from the base email specification. Any domain name looked up in the DNS must conform to and be processed as specified for Internationalizing Domain Names in Applications, so the client or server must either use a Unicode-aware DNS library or transform the internationalized domain name to A-label form, a fully qualified domain name containing one or more A-labels but no U-labels.

A client that receives the SMTPUTF8 keyword in response to EHLO may transmit mailbox names as internationalized strings in UTF-8 form, may send a UTF-8 header, and may transmit the domain parts of mailbox names as A-labels or U-labels. The presence of the extension does not change the server-relaying behaviours described in RFC 5321.

If the extension is not offered by the server, the client MUST NOT transmit an internationalized email address and MUST NOT transmit a message containing internationalized mail headers at any level within its MIME structure. An internationalized domain name in A-label form is not considered internationalized for this purpose. If a client attempts to transfer an internationalized message and meets a server without the extension, a message submission agent may transform the message, since the wide discretion allowed by RFC 6409 permits changing addresses. Otherwise the client SHOULD reject the message, either during the SMTP transaction or afterwards with a non-delivery notification that conforms to RFC 5321, RFC 3464 and RFC 6533. The client may also requeue the message and try later or try an alternate MX host.

For all other cases, and for addresses and messages that do not need the extension, SMTPUTF8-aware clients and servers do not change the behaviour specified in RFC 5321.

If the server says it supports SMTPUTF8, the client may write addresses in UTF-8. If it does not, the client must not send a message that needs it, and must either fix the message up or refuse it.

ILLUSTRATIVE, NOT FROM THE RFC: ONE MESSAGE SENT WITH THE SMTPUTF8 PARAMETER
SMTP clientSMTP server
  1. EHLO
  2. 250 ... SMTPUTF8The server advertises the extension.
  3. MAIL FROM:<...> SMTPUTF8
  4. 250 OK
  5. RCPT TO:<...>
  6. 250 OK
  7. DATA AND MESSAGE CONTENTThe message body follows, ended by a line holding a single dot.
  8. 250 OK

§3.3Extended Mailbox Address Syntax

RFC 5321 defines the syntax of a mailbox entirely in terms of ASCII characters. This document extends that rule to support non-ASCII characters. The mailbox rule is imported from RFC 5321 and updated, and other related rules are imported from RFC 5321, RFC 5234, RFC 5890 and RFC 6532 or are extended here.

The definition of sub-domain is extended to permit both the RFC 5321 definition and a UTF-8 string in a DNS label that conforms with the IDNA definitions. The definition of atext is extended to permit both the RFC 5321 definition and a UTF-8 string, and that string MUST NOT contain any of the ASCII graphics or control characters.

The rules that are updated directly or indirectly are Mailbox, Local-part, Dot-string, Quoted-string, QcontentSMTP, Domain and Atom. The UTF8-non-ascii rule is imported directly from RFC 6532, the DQUOTE rule from RFC 5234, and the U-label rule from RFC 5890.

The address grammar keeps its old ASCII forms and gains UTF-8 alternatives. The delimiters that separate the local part from the domain stay exactly as they were.

§3.4MAIL Command Parameter Usage

If the envelope or message being sent requires the capabilities of the SMTPUTF8 extension, the client MUST supply the SMTPUTF8 parameter with the MAIL command, and the parameter must not accept a value. If the client knows that neither the envelope nor the message needs any of the extension's capabilities, it SHOULD NOT supply the parameter.

Because there is no guarantee that a next-hop server will support the extension, use of it always carries a risk of transmission failure, and during the early stages of deployment that risk will be quite high. There is therefore a distinct near-term advantage for ASCII-only messages to be sent without using the extension. The long-term advantage of casting ASCII characters as UTF-8 is that it permits pure-Unicode environments.

Only add the flag when the message really needs it. Plain ASCII mail sent without the flag is more likely to get through, because every server along the way understands it.

§3.5Reply Codes for Non-ASCII Addresses

An SMTPUTF8-aware client MUST NOT send an internationalized message to a server that does not support SMTPUTF8. When messages are rejected because the RCPT command requires an ASCII address, the reply code 553 is returned with the meaning mailbox name not allowed. When they are rejected because the MAIL command requires an ASCII address, the reply code 550 is returned with the meaning mailbox unavailable. When the server supports enhanced mail system status codes, reply code X.6.7 is used, meaning non-ASCII addresses not permitted for that sender or recipient.

If a message is rejected after the final dot of the DATA command because one or more recipients cannot accept and process a message with internationalized email headers, the reply code 554 is used with the meaning transaction failed, and the enhanced reply code X.6.9 is used when the server supports them, meaning a UTF-8 header message cannot be transmitted to one or more recipients so the message must be rejected. Servers are encouraged to detect that recipients cannot accept internationalized messages and generate an error after the RCPT command rather than waiting until after the DATA command.

Each way of saying no has its own code. 553 and 550 mean the address was not allowed; 554 means the message was fine but a recipient could not handle it.

THE REPLY CODES THIS RFC DEFINES OR REUSES
  • 553MAILBOX NAME NOT ALLOWED — The RCPT command required an ASCII address.
  • 550MAILBOX UNAVAILABLE — The MAIL command required an ASCII address.
  • 554TRANSACTION FAILED — A recipient cannot accept a message with internationalized headers.
  • 252CANNOT VERIFY USER — Used when a reply would need a UTF-8 string that the client did not ask for.
  • X.6.7NON-ASCII ADDRESSES NOT PERMITTED — Enhanced status code for a MAIL or RCPT command with a non-ASCII address.
  • X.6.8UTF-8 REPLY REQUIRED BUT NOT PERMITTED — Enhanced status code used when a UTF-8 string is needed but not allowed.
  • X.6.9UTF-8 HEADER MESSAGE CANNOT BE TRANSFERRED — Enhanced status code used when the message must be rejected after the DATA command.

§3.7.4UTF-8 Strings in Replies

If a client sends MAIL commands containing the SMTPUTF8 parameter, the server is permitted to use UTF-8 characters in the email address associated with the 251 and 551 reply codes, and the client MUST be able to accept and process them. If a MAIL command does not include the parameter, the server MUST NOT return a 251 or 551 response containing a non-ASCII mailbox, and MUST transform such responses into 250 or 550 responses that do not contain non-ASCII addresses.

If the SMTPUTF8 parameter is transmitted with the VERIFY and EXPAND commands, it indicates that the client can accept UTF-8 strings in the replies to those commands, and it SHOULD only be used after the client has seen the EHLO response carrying the SMTPUTF8 keyword. If a reply requires a UTF-8 string but the client did not use the parameter, the server MUST use either reply code 252, meaning cannot verify user but will accept the message and attempt the delivery, or 550, meaning requested action not taken, mailbox unavailable. The enhanced reply code X.6.8 is used when the server supports them, meaning a reply containing a UTF-8 string is required to show the mailbox name but that form of response is not permitted by the client.

A successful response MAY include the full name of the user and MUST include the mailbox of the user, in the form of a user name followed by the mailbox in angle brackets, or the mailbox on its own. Servers MUST NOT include non-ASCII characters in replies except in the cases specifically permitted in this section.

Replies normally stay in ASCII. A server may only put a non-ASCII address in a reply when the client asked for it, either by sending MAIL with the flag or by adding the flag to VERIFY and EXPAND.

§5Security Considerations

The extended security considerations discussion in the framework document applies here. The RFC adds a further point: internationalized email addresses will show up inside other systems, in particular the logging systems of SMTP transactions and other logs used to monitor the email systems, and the trouble ticket systems that security teams use to manage security incidents when an email address is involved.

In order to avoid problems that could cause loss of data, these systems will likely need extending to support full UTF-8, or an adequate mechanism for mapping non-ASCII strings to ASCII will need to be provided. Another security aspect is the ability of security team members to quickly understand, read and identify email addresses from logs when tracking an incident. Mechanisms to automatically and quickly provide the origin or ownership of an internationalized email address SHALL be implemented for use by log readers that cannot easily read non-ASCII information.

Non-ASCII addresses end up in log files and in incident reports, so the tools that read them have to cope with UTF-8 too, or be able to fall back to an ASCII form.

§9References