summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3461.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3461.txt')
-rw-r--r--doc/rfc/rfc3461.txt2131
1 files changed, 2131 insertions, 0 deletions
diff --git a/doc/rfc/rfc3461.txt b/doc/rfc/rfc3461.txt
new file mode 100644
index 0000000..5aa34ef
--- /dev/null
+++ b/doc/rfc/rfc3461.txt
@@ -0,0 +1,2131 @@
+
+
+
+
+
+
+Network Working Group K. Moore
+Request for Comments: 3461 University of Tennessee
+Obsoletes 1891 January 2003
+Category: Standards Track
+
+
+ Simple Mail Transfer Protocol (SMTP) Service Extension
+ for Delivery Status Notifications (DSNs)
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+Abstract
+
+ This memo defines an extension to the Simple Mail Transfer Protocol
+ (SMTP) service, which allows an SMTP client to specify (a) that
+ Delivery Status Notifications (DSNs) should be generated under
+ certain conditions, (b) whether such notifications should return the
+ contents of the message, and (c) additional information, to be
+ returned with a DSN, that allows the sender to identify both the
+ recipient(s) for which the DSN was issued, and the transaction in
+ which the original message was sent.
+
+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 BCP 14, RFC 2119 [7].
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Framework for the Delivery Status Notification Extension . . . 4
+ 3. The Delivery Status Notification service extension . . . . . . 5
+ 4. Additional parameters for RCPT and MAIL commands . . . . . . . 6
+ 4.1 The NOTIFY parameter of the ESMTP RCPT command. . . . . . . . 7
+ 4.2 The ORCPT parameter to the ESMTP RCPT command . . . . . . . . 8
+ 4.3 The RET parameter of the ESMTP MAIL command . . . . . . . . . 9
+ 4.4 The ENVID parameter to the ESMTP MAIL command . . . . . . . . 9
+
+
+
+Moore Standards Track [Page 1]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ 4.5 Restrictions on the use of Delivery Status Notification
+ parameters. . . . . . . . . . . . . . . . . . . . . . . . . . 10
+ 5. Conformance requirements . . . . . . . . . . . . . . . . . . . 10
+ 5.1 SMTP protocol interactions. . . . . . . . . . . . . . . . . . 11
+ 5.2 Handling of messages received via SMTP. . . . . . . . . . . . 11
+ 5.2.1 Relay of messages to other conforming SMTP servers. . . . . 12
+ 5.2.2 Relay of messages to non-conforming SMTP servers. . . . . . 13
+ 5.2.3 Local delivery of messages. . . . . . . . . . . . . . . . . 14
+ 5.2.4 Gatewaying a message into a foreign environment . . . . . . 14
+ 5.2.5 Delays in delivery. . . . . . . . . . . . . . . . . . . . . 15
+ 5.2.6 Failure of a conforming MTA to deliver a message. . . . . . 16
+ 5.2.7 Forwarding, aliases, and mailing lists. . . . . . . . . . . 16
+ 5.2.7.1 mailing lists . . . . . . . . . . . . . . . . . . . . . . 17
+ 5.2.7.2 single-recipient aliases. . . . . . . . . . . . . . . . . 18
+ 5.2.7.3 multiple-recipient aliases. . . . . . . . . . . . . . . . 18
+ 5.2.7.4 confidential forwarding addresses . . . . . . . . . . . . 18
+ 5.2.8 DSNs describing delivery to multiple recipients . . . . . . 19
+ 5.3 Handling of messages from other sources . . . . . . . . . . . 19
+ 5.4 Implementation limits . . . . . . . . . . . . . . . . . . . . 19
+ 6. Format of delivery notifications . . . . . . . . . . . . . . . 20
+ 6.1 SMTP Envelope to be used with delivery status
+ notifications . . . . . . . . . . . . . . . . . . . . . . . . 20
+ 6.2 Contents of the DSN . . . . . . . . . . . . . . . . . . . . . 20
+ 6.3 Message/delivery-status fields. . . . . . . . . . . . . . . . 21
+ 7. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 22
+ 8. Security Considerations. . . . . . . . . . . . . . . . . . . . 22
+ 9. Appendix - Type-Name Definitions . . . . . . . . . . . . . . . 24
+ 9.1 "rfc822" address-type . . . . . . . . . . . . . . . . . . . . 24
+ 9.2 "smtp" diagnostic-type. . . . . . . . . . . . . . . . . . . . 24
+ 9.3 "dns" MTA-name-type . . . . . . . . . . . . . . . . . . . . . 25
+ 10. Appendix - Example. . . . . . . . . . . . . . . . . . . . . . 26
+ 10.1 Submission . . . . . . . . . . . . . . . . . . . . . . . . . 27
+ 10.2 Relay to Example.COM . . . . . . . . . . . . . . . . . . . . 28
+ 10.3 Relay to Ivory.EDU . . . . . . . . . . . . . . . . . . . . . 29
+ 10.4 Relay to Bombs.AF.MIL. . . . . . . . . . . . . . . . . . . . 30
+ 10.5 Forward from George@Tax-ME.GOV to Sam@Boondoggle.GOV . . . . 31
+ 10.6 "Delivered" DSN for Bob@Example.COM. . . . . . . . . . . . . 32
+ 10.7 Failed DSN for Carol@Ivory.EDU . . . . . . . . . . . . . . . 33
+ 10.8 Relayed DSN For Dana@Ivory.EDU . . . . . . . . . . . . . . . 34
+ 10.9 Failure notification for Sam@Boondoggle.GOV. . . . . . . . . 35
+ 11. Appendix - Changes since RFC 1891 . . . . . . . . . . . . . . 35
+ 12. References. . . . . . . . . . . . . . . . . . . . . . . . . . 36
+ 12.1 Normative References . . . . . . . . . . . . . . . . . . . . 36
+ 12.2 Informative References . . . . . . . . . . . . . . . . . . . 36
+ 13. Author's Address. . . . . . . . . . . . . . . . . . . . . . . 37
+ 14. Full Copyright Statement. . . . . . . . . . . . . . . . . . . 38
+
+
+
+
+
+Moore Standards Track [Page 2]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+1. Introduction
+
+ The SMTP protocol [1] requires that an SMTP server provide
+ notification of delivery failure, if it determines that a message
+ cannot be delivered to one or more recipients. Traditionally, such
+ notification consists of an ordinary Internet mail message (format
+ defined by [2]), sent to the envelope sender address (the argument of
+ the SMTP MAIL command), containing an explanation of the error and at
+ least the headers of the failed message.
+
+ Experience with large mail distribution lists [8] indicates that such
+ messages are often insufficient to diagnose problems, or even to
+ determine at which host or for which recipients a problem occurred.
+ In addition, the lack of a standardized format for delivery
+ notifications in Internet mail makes it difficult to exchange such
+ notifications with other message handling systems.
+
+ Such experience has demonstrated a need for a delivery status
+ notification service for Internet electronic mail, which:
+
+ (a) is reliable, in the sense that any DSN request will either be
+ honored at the time of final delivery, or result in a response
+ that indicates that the request cannot be honored,
+
+ (b) when both success and failure notifications are requested,
+ provides an unambiguous and nonconflicting indication of whether
+ delivery of a message to a recipient succeeded or failed,
+
+ (c) is stable, in that a failed attempt to deliver a DSN should
+ never result in the transmission of another DSN over the
+ network,
+
+ (d) preserves sufficient information to allow the sender to identify
+ both the mail transaction and the recipient address which caused
+ the notification, even when mail is forwarded or gatewayed to
+ foreign environments, and
+
+ (e) interfaces acceptably with non-SMTP and non-822-based mail
+ systems, both so that notifications returned from foreign mail
+ systems may be useful to Internet users, and so that the
+ notification requests from foreign environments may be honored.
+ Among the requirements implied by this goal are the ability to
+ request non-return-of-content, and the ability to specify
+ whether positive delivery notifications, negative delivery
+ notifications, both, or neither, should be issued.
+
+
+
+
+
+
+Moore Standards Track [Page 3]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ In an attempt to provide such a service, this memo uses the mechanism
+ defined in [1] to define an extension to the SMTP protocol. Using
+ this mechanism, an SMTP client may request that an SMTP server issue
+ or not issue a Delivery Status Notification (DSN) under certain
+ conditions. The format of a DSN is defined in [3].
+
+2. Framework for the Delivery Status Notification Extension
+
+ The following service extension is therefore defined:
+
+ (1) The name of the SMTP service extension is "Delivery Status
+ Notification";
+
+ (2) the EHLO keyword value associated with this extension is "DSN",
+ the meaning of which is defined in section 3 of this memo;
+
+ (3) no parameters are allowed with this EHLO keyword value;
+
+ (4) two optional parameters are added to the RCPT command, and two
+ optional parameters are added to the MAIL command:
+
+ An optional parameter for the RCPT command, using the
+ esmtp-keyword "NOTIFY", (to specify the conditions under which a
+ Delivery Status Notification should be generated), is defined in
+ section 5.1,
+
+ An optional parameter for the RCPT command, using the
+ esmtp-keyword "ORCPT", (used to convey the "original"
+ (sender-specified) recipient address), is defined in section
+ 5.2, and
+
+ An optional parameter for the MAIL command, using the
+ esmtp-keyword "RET", (to request that DSNs containing an
+ indication of delivery failure either return the entire contents
+ of a message or only the message headers), is defined in section
+ 5.3,
+
+ An optional parameter for the MAIL command, using the
+ esmtp-keyword "ENVID", (used to propagate an identifier for this
+ message transmission envelope, which is also known to the sender
+ and will, if present, be returned in any DSNs issued for this
+ transmission), is defined in section 4.4;
+
+ (5) no additional SMTP verbs are defined by this extension.
+
+ The remainder of this memo specifies how support for the extension
+ affects the behavior of a message transfer agent.
+
+
+
+
+Moore Standards Track [Page 4]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+3. The Delivery Status Notification service extension
+
+ An SMTP client wishing to request a DSN for a message may issue the
+ EHLO command to start an SMTP session, to determine if the server
+ supports any of several service extensions. If the server responds
+ with code 250 to the EHLO command, and the response includes the EHLO
+ keyword DSN, then the Delivery Status Notification extension (as
+ described in this memo) is supported.
+
+ Ordinarily, when an SMTP server returns a positive (2xx) reply code
+ in response to a RCPT command, it agrees to accept responsibility for
+ either delivering the message to the named recipient, or sending a
+ notification to the sender of the message indicating that delivery
+ has failed. However, an extended SMTP ("ESMTP") server which
+ implements this service extension will accept an optional NOTIFY
+ parameter with the RCPT command. If present, the NOTIFY parameter
+ alters the conditions for generation of Delivery Status Notifications
+ from the default (issue notifications only on failure) specified in
+ [1]. The ESMTP client may also request (via the RET parameter)
+ whether the entire contents of the original message should be
+ returned (as opposed to just the headers of that message), along with
+ the DSN.
+
+ In general, an ESMTP server which implements this service extension
+ will propagate Delivery Status Notification requests when relaying
+ mail to other SMTP-based MTAs which also support this extension, and
+ make a "best effort" to ensure that such requests are honored when
+ messages are passed into other environments.
+
+ In order for Delivery Status Notifications to be meaningful to the
+ sender, ESMTP servers, which support this extension, should propagate
+ the following information for use in generating DSNs to any other
+ MTAs that are used to relay the message:
+
+ (a) for each recipient, a copy of the original recipient address, as
+ used by the sender of the message.
+
+ This address need not be the same as the mailbox specified in
+ the RCPT command. For example, if a message was originally
+ addressed to A@B.C and later forwarded to A@D.E, after such
+ forwarding has taken place, the RCPT command will specify a
+ mailbox of A@D.E. However, the original recipient address
+ remains A@B.C.
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 5]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ Also, if the message originated from an environment which does
+ not use Internet-style user@domain addresses, and was gatewayed
+ into SMTP, the original recipient address will preserve the
+ original form of the recipient address.
+
+ (b) for the entire SMTP transaction, an envelope identification
+ string, which may be used by the sender to associate any
+ delivery status notifications with the transaction used to send
+ the original message.
+
+4. Additional parameters for RCPT and MAIL commands
+
+ The extended RCPT and MAIL commands are issued by a client when it
+ wishes to request a DSN from the server, under certain conditions,
+ for a particular recipient. The extended RCPT and MAIL commands are
+ identical to the RCPT and MAIL commands defined in [1], except that
+ one or more of the following parameters appear after the sender or
+ recipient address, respectively. The general syntax for extended
+ SMTP commands is defined in [1].
+
+ NOTE: Although RFC 822 ABNF is used to describe the syntax of these
+ parameters, they are not, in the language of that document,
+ "structured field bodies". Therefore, while parentheses MAY appear
+ within an emstp-value, they are not recognized as comment delimiters.
+
+ The syntax for "esmtp-value" in [1] does not allow SP, "=", control
+ characters, or characters outside the traditional ASCII range of
+ 1-127 decimal to be transmitted in an esmtp-value. Because the ENVID
+ and ORCPT parameters may need to convey values outside this range,
+ the esmtp-values for these parameters are encoded as "xtext".
+ "xtext" is formally defined as follows:
+
+ xtext = *( xchar / hexchar )
+
+ xchar = any ASCII CHAR between "!" (33) and "~" (126) inclusive,
+ except for "+" and "=".
+
+ ; "hexchar"s are intended to encode octets that cannot appear
+ ; as ASCII characters within an esmtp-value.
+
+ hexchar = ASCII "+" immediately followed by two upper case
+ hexadecimal digits
+
+ When encoding an octet sequence as xtext:
+
+ + Any ASCII CHAR between "!" and "~" inclusive, except for "+" and
+ "=", MAY be encoded as itself. (A CHAR in this range MAY instead
+ be encoded as a "hexchar", at the implementor's discretion.)
+
+
+
+Moore Standards Track [Page 6]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ + ASCII CHARs that fall outside the range above must be encoded as
+ "hexchar".
+
+4.1 The NOTIFY parameter of the ESMTP RCPT command
+
+ A RCPT command issued by a client may contain the optional
+ esmtp-keyword "NOTIFY", to specify the conditions under which the
+ SMTP server should generate DSNs for that recipient. If the NOTIFY
+ esmtp-keyword is used, it MUST have an associated esmtp-value,
+ formatted according to the following rules, using the ABNF of RFC
+ 822:
+
+ notify-esmtp-value = "NEVER" / 1#notify-list-element
+
+ notify-list-element = "SUCCESS" / "FAILURE" / "DELAY"
+
+ Notes:
+
+ a. Multiple notify-list-elements, separated by commas, MAY appear in
+ a NOTIFY parameter; however, the NEVER keyword MUST appear by
+ itself.
+
+ b. Any of the keywords NEVER, SUCCESS, FAILURE, or DELAY may be
+ spelled in any combination of upper and lower case letters.
+
+ The meaning of the NOTIFY parameter values is generally as follows:
+
+ + A NOTIFY parameter value of "NEVER" requests that a DSN not be
+ returned to the sender under any conditions.
+
+ + A NOTIFY parameter value containing the "SUCCESS" or "FAILURE"
+ keywords requests that a DSN be issued on successful delivery or
+ delivery failure, respectively.
+
+ + A NOTIFY parameter value containing the keyword "DELAY" indicates
+ the sender's willingness to receive "delayed" DSNs. Delayed DSNs
+ may be issued if delivery of a message has been delayed for an
+ unusual amount of time (as determined by the MTA at which the
+ message is delayed), but the final delivery status (whether
+ successful or failure) cannot be determined. The absence of the
+ DELAY keyword in a NOTIFY parameter requests that a "delayed" DSN
+ NOT be issued under any conditions.
+
+ The actual rules governing interpretation of the NOTIFY parameter are
+ given in section 6.
+
+
+
+
+
+
+Moore Standards Track [Page 7]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ For compatibility with SMTP clients that do not use the NOTIFY
+ facility, the absence of a NOTIFY parameter in a RCPT command may be
+ interpreted as either NOTIFY=FAILURE or NOTIFY=FAILURE,DELAY.
+
+4.2 The ORCPT parameter to the ESMTP RCPT command
+
+ The ORCPT esmtp-keyword of the RCPT command is used to specify an
+ "original" recipient address that corresponds to the actual recipient
+ to which the message is to be delivered. If the ORCPT esmtp-keyword
+ is used, it MUST have an associated esmtp-value, which consists of
+ the original recipient address, encoded according to the rules below.
+ The ABNF for the ORCPT parameter is:
+
+ orcpt-parameter = "ORCPT=" original-recipient-address
+
+ original-recipient-address = addr-type ";" xtext
+
+ addr-type = atom
+
+ The "addr-type" portion MUST be an IANA-registered electronic mail
+ address-type (as defined in [3]), while the "xtext" portion contains
+ an encoded representation of the original recipient address using the
+ rules in section 5 of this document. The entire ORCPT parameter MAY
+ be up to 500 characters in length.
+
+ When initially submitting a message via SMTP, if the ORCPT parameter
+ is used, it MUST contain the same address as the RCPT TO address
+ (unlike the RCPT TO address, the ORCPT parameter will be encoded as
+ xtext). Likewise, when a mailing list submits a message via SMTP to
+ be distributed to the list subscribers, if ORCPT is used, the ORCPT
+ parameter MUST match the new RCPT TO address of each recipient, not
+ the address specified by the original sender of the message.)
+
+ The "addr-type" portion of the original-recipient-address is used to
+ indicate the "type" of the address which appears in the ORCPT
+ parameter value. However, the address associated with the ORCPT
+ keyword is NOT constrained to conform to the syntax rules for that
+ "addr-type".
+
+ Ideally, the "xtext" portion of the original-recipient-address should
+ contain, in encoded form, the same sequence of characters that the
+ sender used to specify the recipient. However, for a message
+ gatewayed from an environment (such as X.400) in which a recipient
+ address is not a simple string of printable characters, the
+ representation of recipient address must be defined by a
+ specification for gatewaying between DSNs and that environment.
+
+
+
+
+
+Moore Standards Track [Page 8]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ Due to limitations in the Delivery Status Notification format, the
+ value of the original recipient address prior to encoding as "xtext"
+ MUST consist entirely of printable (graphic and white space)
+ characters from the US-ASCII [4] repertoire. If an addr-type is
+ defined for addresses which use characters outside of this
+ repertoire, the specification for that addr-type MUST define the
+ means of encoding those addresses in printable US-ASCII characters
+ when are then encoded as xtext.
+
+4.3 The RET parameter of the ESMTP MAIL command
+
+ The RET esmtp-keyword on the extended MAIL command specifies whether
+ or not the message should be included in any failed DSN issued for
+ this message transmission. If the RET esmtp-keyword is used, it MUST
+ have an associated esmtp-value, which is one of the following
+ keywords:
+
+ FULL requests that the entire message be returned in any "failed"
+ Delivery Status Notification issued for this recipient.
+
+ HDRS requests that only the headers of the message be returned.
+
+ The FULL and HDRS keywords may be spelled in any combination of upper
+ and lower case letters.
+
+ If no RET parameter is supplied, the MTA MAY return either the
+ headers of the message or the entire message for any DSN containing
+ indication of failed deliveries.
+
+ Note that the RET parameter only applies to DSNs that indicate
+ delivery failure for at least one recipient. If a DSN contains no
+ indications of delivery failure, only the headers of the message
+ should be returned.
+
+4.4 The ENVID parameter to the ESMTP MAIL command
+
+ The ENVID esmtp-keyword of the SMTP MAIL command is used to specify
+ an "envelope identifier" to be transmitted along with the message and
+ included in any DSNs issued for any of the recipients named in this
+ SMTP transaction. The purpose of the envelope identifier is to allow
+ the sender of a message to identify the transaction for which the DSN
+ was issued.
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 9]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ The ABNF for the ENVID parameter is:
+
+ envid-parameter = "ENVID=" xtext
+
+ The ENVID esmtp-keyword MUST have an associated esmtp-value. No
+ meaning is assigned by the mail system to the presence or absence of
+ this parameter or to any esmtp-value associated with this parameter;
+ the information is used only by the sender or his user agent. The
+ ENVID parameter MAY be up to 100 characters in length.
+
+ Due to limitations in the Delivery Status Notification format, the
+ value of the ENVID parameter prior to encoding as "xtext" MUST
+ consist entirely of printable (graphic and white space) characters
+ from the US-ASCII [4] repertoire.
+
+4.5 Restrictions on the use of Delivery Status Notification parameters
+
+ The RET and ENVID parameters MUST NOT appear more than once each in
+ any single MAIL command. If more than one of either of these
+ parameters appears in a MAIL command, the ESMTP server SHOULD respond
+ with "501 syntax error in parameters or arguments".
+
+ The NOTIFY and ORCPT parameters MUST NOT appear more than once in any
+ RCPT command. If more than one of either of these parameters appears
+ in a RCPT command, the ESMTP server SHOULD respond with "501 syntax
+ error in parameters or arguments".
+
+5. Conformance requirements
+
+ The Simple Mail Transfer Protocol (SMTP) is used by Message Transfer
+ Agents (MTAs) when accepting, relaying, or gatewaying mail, as well
+ as User Agents (UAs) when submitting mail to the mail transport
+ system. The DSN extension to SMTP may be used to allow UAs to convey
+ the sender's requests as to when DSNs should be issued. A UA which
+ claims to conform to this specification must meet certain
+ requirements as described below.
+
+ Typically, a message transfer agent (MTA) which supports SMTP will
+ assume, at different times, both the role of a SMTP client and an
+ SMTP server, and may also provide local delivery, gatewaying to
+ foreign environments, forwarding, and mailing list expansion. An MTA
+ which, when acting as an SMTP server, issues the DSN keyword in
+ response to the EHLO command, MUST obey the rules below for a
+ "conforming SMTP client" when acting as a client, and a "conforming
+ SMTP server" when acting as a server. The term "conforming MTA"
+ refers to an MTA which conforms to this specification, independent of
+ its role of client or server.
+
+
+
+
+Moore Standards Track [Page 10]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+5.1 SMTP protocol interactions
+
+ The following rules apply to SMTP transactions in which any of the
+ ENVID, NOTIFY, RET, or ORCPT keywords are used:
+
+ (a) If an SMTP client issues a MAIL command containing a valid ENVID
+ parameter and associated esmtp-value and/or a valid RET parameter
+ and associated esmtp-value, a conforming SMTP server MUST return
+ the same reply-code as it would to the same MAIL command without
+ the ENVID and/or RET parameters. A conforming SMTP server MUST
+ NOT refuse a MAIL command based on the absence or presence of
+ valid ENVID or RET parameters, or on their associated
+ esmtp-values.
+
+ However, if the associated esmtp-value is not valid (i.e.,
+ contains illegal characters), or if there is more than one ENVID
+ or RET parameter in a particular MAIL command, the server MUST
+ issue the reply-code 501 with an appropriate message (e.g.,
+ "syntax error in parameter").
+
+ (b) If an SMTP client issues a RCPT command containing any valid
+ NOTIFY and/or ORCPT parameters, a conforming SMTP server MUST
+ return the same response as it would to the same RCPT command
+ without those NOTIFY and/or ORCPT parameters. A conforming SMTP
+ server MUST NOT refuse a RCPT command based on the presence or
+ absence of any of these parameters.
+
+ However, if any of the associated esmtp-values are not valid, or
+ if there is more than one of any of these parameters in a
+ particular RCPT command, the server SHOULD issue the response
+ "501 syntax error in parameter".
+
+5.2 Handling of messages received via SMTP
+
+ This section describes how a conforming MTA should handle any
+ messages received via SMTP.
+
+ NOTE: A DSN MUST NOT be returned to the sender for any message for
+ which the return address from the SMTP MAIL command was NULL ("<>"),
+ even if the sender's address is available from other sources (e.g.,
+ the message header). However, the MTA which would otherwise issue a
+ DSN SHOULD inform the local postmaster of delivery failures through
+ some appropriate mechanism that will not itself result in the
+ generation of DSNs.
+
+ DISCUSSION: RFC 1123, section 2.3.3 requires error notifications to
+ be sent with a NULL return address ("reverse-path"). This creates an
+ interesting situation when a message arrives with one or more
+
+
+
+Moore Standards Track [Page 11]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ nonfunctional recipient addresses in addition to a nonfunctional
+ return address. When delivery to one of the recipient addresses
+ fails, the MTA will attempt to send a nondelivery notification to the
+ return address, setting the return address on the notification to
+ NULL. When the delivery of this notification fails, the MTA
+ attempting delivery of that notification sees a NULL return address.
+ If that MTA were not to inform anyone of the situation, the original
+ message would be silently lost. Furthermore, a nonfunctional return
+ address is often indicative of a configuration problem in the
+ sender's MTA. Reporting the condition to the local postmaster may
+ help to speed correction of such errors.
+
+5.2.1 Relay of messages to other conforming SMTP servers
+
+ The following rules govern the behavior of a conforming MTA, when
+ relaying a message which was received via the SMTP protocol, to an
+ SMTP server that supports the Delivery Status Notification service
+ extension:
+
+ (a) Any ENVID parameter included in the MAIL command when a message
+ was received, MUST also appear on the MAIL command with which the
+ message is relayed, with the same associated esmtp-value. If no
+ ENVID parameter was included in the MAIL command when the message
+ was received, the ENVID parameter MUST NOT be supplied when the
+ message is relayed.
+
+ (b) Any RET parameter included in the MAIL command when a message was
+ received, MUST also appear on the MAIL command with which the
+ message is relayed, with the same associated esmtp-value. If no
+ RET parameter was included in the MAIL command when the message
+ was received, the RET parameter MUST NOT supplied when the
+ message is relayed.
+
+ (c) If the NOTIFY parameter was supplied for a recipient when the
+ message was received, the RCPT command issued when the message is
+ relayed MUST also contain the NOTIFY parameter along with its
+ associated esmtp-value. If the NOTIFY parameter was not supplied
+ for a recipient when the message was received, the NOTIFY
+ parameter MUST NOT be supplied for that recipient when the
+ message is relayed.
+
+ (d) If any ORCPT parameter was present in the RCPT command for a
+ recipient when the message was received, an ORCPT parameter with
+ the identical original-recipient-address MUST appear in the RCPT
+ command issued for that recipient when relaying the message.
+ (For example, the MTA therefore MUST NOT change the case of any
+ alphabetic characters in an ORCPT parameter.)
+
+
+
+
+Moore Standards Track [Page 12]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ If no ORCPT parameter was present in the RCPT command when the
+ message was received, an ORCPT parameter MAY be added to the RCPT
+ command when the message is relayed. If an ORCPT parameter is
+ added by the relaying MTA, it MUST contain the recipient address
+ from the RCPT command used when the message was received by that
+ MTA.
+
+5.2.2 Relay of messages to non-conforming SMTP servers
+
+ The following rules govern the behavior of a conforming MTA (in the
+ role of client), when relaying a message which was received via the
+ SMTP protocol, to an SMTP server that does not support the Delivery
+ Status Notification service extension:
+
+ (a) ENVID, NOTIFY, RET, or ORCPT parameters MUST NOT be issued when
+ relaying the message.
+
+ (b) If the NOTIFY parameter was supplied for a recipient, with an
+ esmtp-value containing the keyword SUCCESS, and the SMTP server
+ returns a success (2xx) reply-code in response to the RCPT
+ command, the client MUST issue a "relayed" DSN for that
+ recipient.
+
+ (c) If the NOTIFY parameter was supplied for a recipient with an
+ esmtp-value containing the keyword FAILURE, and the SMTP server
+ returns a permanent failure (5xx) reply-code in response to the
+ RCPT command, the client MUST issue a "failed" DSN for that
+ recipient.
+
+ (d) If the NOTIFY parameter was supplied for a recipient with an
+ esmtp-value of NEVER, the client MUST NOT issue a DSN for that
+ recipient, regardless of the reply-code returned by the SMTP
+ server. However, if the server returned a failure (5xx)
+ reply-code, the client MAY inform the local postmaster of the
+ delivery failure via an appropriate mechanism that will not
+ itself result in the generation of DSNs.
+
+ When attempting to relay a message to an SMTP server that does
+ not support this extension, and if NOTIFY=NEVER was specified for
+ some recipients of that message, a conforming SMTP client MAY
+ relay the message for those recipients in a separate SMTP
+ transaction, using an empty reverse-path in the MAIL command.
+ This will prevent DSNs from being issued for those recipients by
+ MTAs that conform to [1].
+
+
+
+
+
+
+
+Moore Standards Track [Page 13]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ (e) If a NOTIFY parameter was not supplied for a recipient, and the
+ SMTP server returns a success (2xx) reply-code in response to a
+ RCPT command, the client MUST NOT issue any DSN for that
+ recipient.
+
+ (f) If a NOTIFY parameter was not supplied for a recipient, and the
+ SMTP server returns a permanent failure (5xx) reply-code in
+ response to a RCPT command, the client MUST issue a "failed" DSN
+ for that recipient.
+
+5.2.3 Local delivery of messages
+
+ The following rules govern the behavior of a conforming MTA upon
+ successful delivery of a message that was received via the SMTP
+ protocol, to a local recipient's mailbox:
+
+ "Delivery" means that the message has been placed in the recipient's
+ mailbox. For messages which are transmitted to a mailbox for later
+ retrieval via IMAP [9], POP [10] or a similar message access
+ protocol, "delivery" occurs when the message is made available to the
+ IMAP (POP, etc.) service, rather than when the message is retrieved
+ by the recipient's user agent.
+
+ Similarly, for a recipient address which corresponds to a mailing
+ list exploder, "delivery" occurs when the message is made available
+ to that list exploder, even though the list exploder might refuse to
+ deliver that message to the list recipients.
+
+ (a) If the NOTIFY parameter was supplied for that recipient, with an
+ esmtp-value containing the SUCCESS keyword, the MTA MUST issue a
+ "delivered" DSN for that recipient.
+
+ (b) If the NOTIFY parameter was supplied for that recipient which did
+ not contain the SUCCESS keyword, the MTA MUST NOT issue a DSN for
+ that recipient.
+
+ (c) If the NOTIFY parameter was not supplied for that recipient, the
+ MTA MUST NOT issue a DSN.
+
+5.2.4 Gatewaying a message into a foreign environment
+
+ The following rules govern the behavior of a conforming MTA, when
+ gatewaying a message that was received via the SMTP protocol, into a
+ foreign (non-SMTP) environment:
+
+ (a) If the the foreign environment is capable of issuing appropriate
+ notifications under the conditions requested by the NOTIFY
+ parameter, and the conforming MTA can ensure that any
+
+
+
+Moore Standards Track [Page 14]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ notification thus issued will be translated into a DSN and
+ delivered to the original sender, then the MTA SHOULD gateway the
+ message into the foreign environment, requesting notification
+ under the desired conditions, without itself issuing a DSN.
+
+ (b) If a NOTIFY parameter was supplied with the SUCCESS keyword, but
+ the destination environment cannot return an appropriate
+ notification on successful delivery, the MTA SHOULD issue a
+ "relayed" DSN for that recipient.
+
+ (c) If a NOTIFY parameter was supplied with an esmtp-keyword of
+ NEVER, a DSN MUST NOT be issued. If possible, the MTA SHOULD
+ direct the destination environment to not issue delivery
+ notifications for that recipient.
+
+ (d) If the NOTIFY parameter was not supplied for a particular
+ recipient, a DSN SHOULD NOT be issued by the gateway. The
+ gateway SHOULD attempt to ensure that appropriate notification
+ will be provided by the foreign mail environment if eventual
+ delivery failure occurs, and that no notification will be issued
+ on successful delivery.
+
+ (e) When gatewaying a message into a foreign environment, the
+ return-of-content conditions specified by any RET parameter are
+ nonbinding; however, the MTA SHOULD attempt to honor the request
+ using whatever mechanisms exist in the foreign environment.
+
+5.2.5 Delays in delivery
+
+ If a conforming MTA receives a message via the SMTP protocol, and is
+ unable to deliver or relay the message to one or more recipients for
+ an extended length of time (to be determined by the MTA), it MAY
+ issue a "delayed" DSN for those recipients, subject to the following
+ conditions:
+
+ (a) If the NOTIFY parameter was supplied for a recipient and its
+ value included the DELAY keyword, a "delayed" DSN MAY be issued.
+
+ (b) If the NOTIFY parameter was not supplied for a recipient, a
+ "delayed" DSN MAY be issued.
+
+ (c) If the NOTIFY parameter was supplied which did not contain the
+ DELAY keyword, a "delayed" DSN MUST NOT be issued.
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 15]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ NOTE: Although delay notifications are common in present-day
+ electronic mail, a conforming MTA is never required to issue
+ "delayed" DSNs. The DELAY keyword of the NOTIFY parameter is
+ provided to allow the SMTP client to specifically request (by
+ omitting the DELAY parameter) that "delayed" DSNs NOT be issued.
+
+5.2.6 Failure of a conforming MTA to deliver a message
+
+ The following rules govern the behavior of a conforming MTA which
+ received a message via the SMTP protocol, and is unable to deliver a
+ message to a recipient specified in the SMTP transaction:
+
+ (a) If a NOTIFY parameter was supplied for the recipient with an
+ esmtp-keyword containing the value FAILURE, a "failed" DSN MUST
+ be issued by the MTA.
+
+ (b) If a NOTIFY parameter was supplied for the recipient which did
+ not contain the value FAILURE, a DSN MUST NOT be issued for that
+ recipient. However, the MTA MAY inform the local postmaster of
+ the delivery failure via some appropriate mechanism which does
+ not itself result in the generation of DSNs.
+
+ (c) If no NOTIFY parameter was supplied for the recipient, a
+ "failed" DSN MUST be issued.
+
+ NOTE: Some MTAs are known to forward undeliverable messages to the
+ local postmaster or "dead letter" mailbox. This is still considered
+ delivery failure, and does not diminish the requirement to issue a
+ "failed" DSN under the conditions defined elsewhere in this memo. If
+ a DSN is issued for such a recipient, the Action value MUST be
+ "failed".
+
+5.2.7 Forwarding, aliases, and mailing lists
+
+ Delivery of a message to a local email address usually causes the
+ message to be stored in the recipient's mailbox. However, MTAs
+ commonly provide a facility where a local email address can be
+ designated as an "alias" or "mailing list"; delivery to that address
+ then causes the message to be forwarded to each of the (local or
+ remote) recipient addresses associated with the alias or list. It is
+ also common to allow a user to optionally "forward" her mail to one
+ or more alternate addresses. If this feature is enabled, her mail is
+ redistributed to those addresses instead of being deposited in her
+ mailbox.
+
+ Following the example of [11] (section 5.3.6), this document defines
+ the difference between an "alias" and "mailing list" as follows: When
+ forwarding a message to the addresses associated with an "alias", the
+
+
+
+Moore Standards Track [Page 16]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ envelope return address (e.g., SMTP MAIL FROM) remains intact.
+ However, when forwarding a message to the addresses associated with a
+ "mailing list", the envelope return address is changed to that of the
+ administrator of the mailing list. This causes DSNs and other
+ nondelivery reports resulting from delivery to the list members to be
+ sent to the list administrator rather than the sender of the original
+ message.
+
+ The DSN processing for aliases and mailing lists is as follows:
+
+5.2.7.1 mailing lists
+
+ When a message is delivered to a list submission address (i.e.,
+ placed in the list's mailbox for incoming mail, or accepted by the
+ process that redistributes the message to the list subscribers), this
+ is considered final delivery for the original message. If the NOTIFY
+ parameter for the list submission address contained the SUCCESS
+ keyword, a "delivered" DSN MUST be returned to the sender of the
+ original message.
+
+ NOTE: Some mailing lists are able to reject message submissions,
+ based on the content of the message, the sender's address, or some
+ other criteria. While the interface between such a mailing list and
+ its MTA is not well-defined, it is important that DSNs NOT be issued
+ by both the MTA (to report successful delivery to the list), and the
+ list (to report message rejection using a "failure" DSN.)
+
+ However, even if a "delivered" DSN was issued by the MTA, a mailing
+ list which rejects a message submission MAY notify the sender that
+ the message was rejected using an ordinary message instead of a DSN.
+
+ Whenever a message is redistributed to an mailing list,
+
+ (a) The envelope return address is rewritten to point to the list
+ maintainer. This address MAY be that of a process that
+ recognizes DSNs and processes them automatically, but it MUST
+ forward unrecognized messages to the human responsible for the
+ list.
+
+ (b) The ENVID, NOTIFY, RET, and ORCPT parameters which accompany the
+ redistributed message MUST NOT be derived from those of the
+ original message.
+
+ (c) The NOTIFY and RET parameters MAY be specified by the local
+ postmaster or the list administrator. If ORCPT parameters are
+ supplied during redistribution to the list subscribers, they
+ SHOULD contain the addresses of the list subscribers in the
+ format used by the mailing list.
+
+
+
+Moore Standards Track [Page 17]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+5.2.7.2 single-recipient aliases
+
+ Under normal circumstances, when a message arrives for an "alias"
+ which has a single forwarding address, a DSN SHOULD NOT be issued.
+ Any ENVID, NOTIFY, RET, or ORCPT parameters SHOULD be propagated with
+ the message as it is redistributed to the forwarding address.
+
+5.2.7.3 multiple-recipient aliases
+
+ An "alias" with multiple recipient addresses may be handled in any of
+ the following ways:
+
+ (a) Any ENVID, NOTIFY, RET, or ORCPT parameters are NOT propagated
+ when relaying the message to any of the forwarding addresses.
+ If the NOTIFY parameter for the alias contained the SUCCESS
+ keyword, the MTA issues a "relayed" DSN. (In effect, the MTA
+ treats the message as if it were being relayed into an
+ environment that does not support DSNs.)
+
+ (b) Any ENVID, NOTIFY, RET, or ORCPT parameters (or the equivalent
+ requests if the message is gatewayed) are propagated to EXACTLY
+ one of the forwarding addresses. No DSN is issued. (This is
+ appropriate when aliasing is used to forward a message to a
+ "vacation" auto-responder program in addition to the local
+ mailbox.)
+
+ (c) Any ENVID, RET, or ORCPT parameters are propagated to all
+ forwarding addresses associated with that alias. The NOTIFY
+ parameter is propagated to the forwarding addresses, except that
+ it any SUCCESS keyword is removed. If the original NOTIFY
+ parameter for the alias contained the SUCCESS keyword, an
+ "expanded" DSN is issued for the alias. If the NOTIFY parameter
+ for the alias did not contain the SUCCESS keyword, no DSN is
+ issued for the alias.
+
+5.2.7.4 confidential forwarding addresses
+
+ If it is desired to maintain the confidentiality of a recipient's
+ forwarding address, the forwarding may be treated as if it were a
+ mailing list. A DSN will be issued, if appropriate, upon "delivery"
+ to the recipient address specified by the sender. When the message
+ is forwarded it will have a new envelope return address. Any DSNs
+ which result from delivery failure of the forwarded message will not
+ be returned to the original sender of the message and thus not expose
+ the recipient's forwarding address.
+
+
+
+
+
+
+Moore Standards Track [Page 18]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+5.2.8 DSNs describing delivery to multiple recipients
+
+ A single DSN may describe attempts to deliver a message to multiple
+ recipients of that message. If a DSN is issued for some recipients
+ in an SMTP transaction and not for others according to the rules
+ above, the DSN SHOULD NOT contain information for recipients for whom
+ DSNs would not otherwise have been issued.
+
+5.3 Handling of messages from other sources
+
+ For messages which originated from "local" users (whatever that
+ means), the specifications under which DSNs should be generated can
+ be communicated to the MTA via any protocol agreed on between the
+ sender's mail composer (user agent) and the MTA. The local MTA can
+ then either relay the message, or issue appropriate delivery status
+ notifications. However, if such requests are transmitted within the
+ message itself (for example in the message headers), the requests
+ MUST be removed from the message before it is transmitted via SMTP.
+
+ For messages gatewayed from non-SMTP sources and further relayed by
+ SMTP, the gateway SHOULD, using the SMTP extensions described here,
+ attempt to provide the delivery reporting conditions expected by the
+ source mail environment. If appropriate, any DSNs returned to the
+ source environment SHOULD be translated into the format expected in
+ that environment.
+
+5.4 Implementation limits
+
+ A conforming MTA MUST accept ESMTP parameters of at least the
+ following sizes:
+
+ (a) ENVID parameter: 100 characters.
+
+ (b) NOTIFY parameter: 28 characters.
+
+ (c) ORCPT parameter: 500 characters.
+
+ (d) RET parameter: 8 characters.
+
+ The maximum sizes for the ENVID and ORCPT parameters are intended to
+ be adequate for the transmission of "foreign" envelope identifier and
+ original recipient addresses. However, user agents which use SMTP as
+ a message submission protocol SHOULD NOT generate ENVID parameters
+ which are longer than 38 characters in length.
+
+ A conforming MTA MUST be able to accept SMTP command-lines which are
+ at least 1036 characters long (530 characters for the ORCPT and
+ NOTIFY parameters of the RCPT command, in addition to the 512
+
+
+
+Moore Standards Track [Page 19]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ characters required by [1]). If other SMTP extensions are supported
+ by the MTA, the MTA MUST be able to accept a command-line large
+ enough for each SMTP command and any combination of ESMTP parameters
+ which may be used with that command.
+
+6. Format of delivery notifications
+
+ The format of Delivery Status Notifications is defined in [3], which
+ uses the framework defined in [5]. Delivery Status Notifications are
+ to be returned to the sender of the original message as outlined
+ below.
+
+6.1 SMTP Envelope to be used with Delivery Status Notifications
+
+ The DSN sender address (in the SMTP MAIL command) MUST be a null
+ reverse-path ("<>"), as required by section 5.3.3 of [11]. The DSN
+ recipient address (in the RCPT command) is copied from the MAIL
+ command which accompanied the message for which the DSN is being
+ issued. When transmitting a DSN via SMTP, the RET parameter MUST NOT
+ be used. The NOTIFY parameter MAY be used, but its value MUST be
+ NEVER. The ENVID parameter (with a newly generated envelope-id)
+ and/or ORCPT parameter MAY be used.
+
+6.2 Contents of the DSN
+
+ A DSN is transmitted as a MIME message with a top-level content-type
+ of multipart/report (as defined in [3]).
+
+ The multipart/report content-type may be used for any of several
+ kinds of reports generated by the mail system. When multipart/report
+ is used to convey a DSN, the report-type parameter of the
+ multipart/report content-type is "delivery-status".
+
+ As described in [5], the first component of a multipart/report
+ content-type is a human readable explanation of the report. For a
+ DSN, the second component of the multipart/report is of content-type
+ message/delivery-status (defined in [3]). The third component of the
+ multipart/report consists of the original message or some portion
+ thereof. When the value of the RET parameter is FULL, the full
+ message SHOULD be returned for any DSN which conveys notification of
+ delivery failure. (However, if the length of the message is greater
+ than some implementation-specified length, the MTA MAY return only
+ the headers even if the RET parameter specified FULL.) If a DSN
+ contains no notifications of delivery failure, the MTA SHOULD return
+ only the headers.
+
+ The third component must have an appropriate content-type label.
+ Issues concerning selection of the content-type are discussed in [5].
+
+
+
+Moore Standards Track [Page 20]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+6.3 Message/delivery-status fields
+
+ The message/delivery-status content-type defines a number of fields,
+ with general specifications for their contents. The following
+ requirements for any DSNs generated in response to a message received
+ by the SMTP protocol by a conforming SMTP server, are in addition to
+ the requirements defined in [3] for the message/delivery-status type.
+
+ When generating a DSN for a message which was received via the SMTP
+ protocol, a conforming MTA will generate the following fields of the
+ message/delivery-status body part:
+
+ (a) if an ENVID parameter was present on the MAIL command, an
+ Original-Envelope-ID field MUST be supplied, and the value
+ associated with the ENVID parameter must appear in that field.
+ If the message was received via SMTP with no ENVID parameter,
+ the Original-Envelope-ID field MUST NOT be supplied.
+
+ Since the ENVID parameter is encoded as xtext, but the
+ Original-Envelope-ID header is NOT encoded as xtext, the MTA
+ must decode the xtext encoding when copying the ENVID value to
+ the Original-Envelope-ID field.
+
+ (b) The Reporting-MTA field MUST be supplied. If Reporting MTA can
+ determine its fully-qualified Internet domain name, the MTA-
+ name-type subfield MUST be "dns", and the field MUST contain the
+ fully-qualified domain name of the Reporting MTA. If the
+ fully-qualified Internet domain name of the Reporting MTA is not
+ known (for example, for an SMTP server which is not directly
+ connected to the Internet), the Reporting-MTA field may contain
+ any string identifying the MTA, however, in this case the MTA-
+ name-type subfield MUST NOT be "dns". A MTA-name-type subfield
+ value of "x-local-hostname" is suggested.
+
+ (c) Other per-message fields as defined in [3] MAY be supplied as
+ appropriate.
+
+ (d) If the ORCPT parameter was provided for this recipient, the
+ Original-Recipient field MUST be supplied, with its value taken
+ from the ORCPT parameter. If no ORCPT parameter was provided
+ for this recipient, the Original-Recipient field MUST NOT
+ appear.
+
+ (e) The Final-Recipient field MUST be supplied. It MUST contain the
+ recipient address from the message envelope. If the message was
+ received via SMTP, the address-type will be "rfc822".
+
+ (f) The Action field MUST be supplied.
+
+
+
+Moore Standards Track [Page 21]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ (g) The Status field MUST be supplied, using a status-code from [6].
+ If there is no specific code which suitably describes a delivery
+ failure, either 4.0.0 (temporary failure), or 5.0.0 (permanent
+ failure) MUST be used.
+
+ (h) For DSNs resulting from attempts to relay a message to one or
+ more recipients via SMTP, the Remote-MTA field MUST be supplied
+ for each of those recipients. The mta-name-type subfields of
+ those Remote-MTA fields will be "dns".
+
+ (i) For DSNs resulting from attempts to relay a message to one or
+ more recipients via SMTP, the Diagnostic-Code MUST be supplied
+ for each of those recipients. The diagnostic-type subfield will
+ be "smtp". See section 9.2 of this document for a description
+ of the "smtp" diagnostic-code.
+
+ (j) For DSNs resulting from attempts to relay a message to one or
+ more recipients via SMTP, an SMTP-Remote-Recipient extension
+ field MAY be supplied for each recipient, which contains the
+ address of that recipient which was presented to the remote SMTP
+ server.
+
+ (k) Other per-recipient fields defined in [3] MAY appear, as
+ appropriate.
+
+7. Acknowledgments
+
+ The author wishes to thank Eric Allman, Harald Alvestrand, Jim
+ Conklin, Bryan Costales, Peter Cowen, Dave Crocker, Roger Fajman, Ned
+ Freed, Marko Kaittola, Steve Kille, John Klensin, Anastasios
+ Kotsikonas, John Gardiner Myers, Julian Onions, Jacob Palme, Marshall
+ Rose, Greg Vaudreuil, and Klaus Weide for their suggestions for
+ improvement of this document.
+
+8. Security Considerations
+
+ The SMTP extension described in this document does not change the
+ fundamental nature of the SMTP service and hence does not create any
+ new security exposures in and of itself. It necessarily adds
+ complexity to implementations, however, and with added complexity
+ comes an increased risk of implementation errors.
+
+ Previous ad-hoc delivery notification mechanisms sometimes produced a
+ storm of receipts due to unanticipated interactions with mailing list
+ expansion software. In this specification notification of successful
+ delivery is carefully designed so, if properly implemented, it cannot
+ interact with a list expander in this way.
+
+
+
+
+Moore Standards Track [Page 22]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ The security considerations section in [5] describes security issues
+ associated with multipart/report objects in general and the security
+ considerations section in [3] describes security issues with DSNs in
+ particular.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 23]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+9. Appendix - Type-Name Definitions
+
+ The following type names are defined for use in DSN fields generated
+ by conforming SMTP-based MTAs:
+
+9.1 "rfc822" address-type
+
+ The "rfc822" address-type is to be used when reporting Internet
+ electronic mail address in the Original-Recipient and Final-Recipient
+ DSN fields.
+
+ (a) address-type name: rfc822
+
+ (b) syntax for mailbox addresses
+
+ RFC822 mailbox addresses are generally expected to be of the
+ form
+
+ [route] addr-spec
+
+ where "route" and "addr-spec" are defined in [2], and the
+ "domain" portions of both "route" and "addr-spec" are fully-
+ qualified domain names that are registered in the DNS. However,
+ an MTA MUST NOT modify an address obtained from the message
+ envelope to force it to conform to syntax rules.
+
+ (c) If addresses of this type are not composed entirely of graphic
+ characters from the US-ASCII repertoire, a specification for how
+ they are to be encoded as graphic US-ASCII characters in a DSN
+ Original-Recipient or Final-Recipient DSN field.
+
+ RFC822 addresses consist entirely of graphic characters from the
+ US-ASCII repertoire, so no translation is necessary.
+
+9.2 "smtp" diagnostic-type
+
+ The "smtp" diagnostic-type is to be used when reporting SMTP reply-
+ codes in Diagnostic-Code DSN fields.
+
+ (a) diagnostic-type name: SMTP
+
+ (b) A description of the syntax to be used for expressing diagnostic
+ codes of this type as graphic characters from the US-ASCII
+ repertoire.
+
+ An SMTP diagnostic-code is of the form
+
+ *( 3*DIGIT "-" *text ) 3*DIGIT SPACE *text
+
+
+
+Moore Standards Track [Page 24]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ For a single-line SMTP reply to an SMTP command, the
+ diagnostic-code SHOULD be an exact transcription of the reply.
+ For multi-line SMTP replies, it is necessary to insert a SPACE
+ before each line after the first. For example, an SMTP reply
+ of:
+
+ 550-mailbox unavailable
+ 550 user has moved with no forwarding address
+
+ could appear as follows in a Diagnostic-Code DSN field:
+
+ Diagnostic-Code: smtp ; 550-mailbox unavailable
+ 550 user has moved with no forwarding address
+
+
+ (c) A list of valid diagnostic codes of this type and the meaning of
+ each code.
+
+ SMTP reply-codes are currently defined in [1] and [11].
+ Additional codes may be defined by other RFCs.
+
+9.3 "dns" MTA-name-type
+
+ The "dns" MTA-name-type should be used in the Reporting-MTA field.
+ An MTA-name of type "dns" is a fully-qualified domain name. The name
+ must be registered in the DNS, and the address Postmaster@{mta-name}
+ must be valid.
+
+ (a) MTA-name-type name: dns
+
+ (b) A description of the syntax of MTA names of this type, using
+ BNF, regular expressions, ASN.1, or other non-ambiguous
+ language.
+
+ MTA names of type "dns" SHOULD be valid Internet domain names.
+ If such domain names are not available, a domain-literal
+ containing the internet protocol address is acceptable. Such
+ domain names generally conform to the following syntax:
+
+ domain = real-domain / domain-literal
+
+ real-domain = sub-domain *("." sub-domain)
+
+ sub-domain = atom
+
+ domain-literal = "[" 1*3DIGIT 3("." 1*3DIGIT) "]"
+
+ where "atom" and "DIGIT" are defined in [2].
+
+
+
+Moore Standards Track [Page 25]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ (c) If MTA names of this type do not consist entirely of graphic
+ characters from the US-ASCII repertoire, a specification for how
+ an MTA name of this type should be expressed as a sequence of
+ graphic US-ASCII characters.
+
+ MTA names of type "dns" consist entirely of graphic US-ASCII
+ characters, so no translation is needed.
+
+10. Appendix - Example
+
+ This example traces the flow of a single message addressed to
+ multiple recipients. The message is sent by Alice@Example.ORG to
+ Bob@Example.COM, Carol@Ivory.EDU, Dana@Ivory.EDU, Eric@Bombs.AF.MIL,
+ Fred@Bombs.AF.MIL, and George@Tax-ME.GOV, with a variety of per-
+ recipient options. The message is successfully delivered to Bob,
+ Dana (via a gateway), Eric, and Fred. Delivery fails for Carol and
+ George.
+
+ NOTE: Formatting rules for RFCs require that no line be longer than
+ 72 characters. Therefore, in the following examples, some SMTP
+ commands longer than 72 characters are printed on two lines, with the
+ first line ending in "\". In an actual SMTP transaction, such a
+ command would be sent as a single line (i.e., with no embedded
+ CRLFs), and without the "\" character that appears in these examples.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 26]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.1 Submission
+
+ Alice's user agent sends the message to the SMTP server at
+ Example.ORG. Note that while this example uses SMTP as a mail
+ submission protocol, other protocols could also be used.
+
+ <<< 220 Example.ORG SMTP server here
+ >>> EHLO Example.ORG
+ <<< 250-Example.ORG
+ <<< 250-DSN
+ <<< 250-EXPN
+ <<< 250 SIZE
+ >>> MAIL FROM:<Alice@Example.ORG> RET=HDRS ENVID=QQ314159
+ <<< 250 <Alice@Example.ORG> sender ok
+ >>> RCPT TO:<Bob@Example.COM> NOTIFY=SUCCESS \
+ ORCPT=rfc822;Bob@Example.COM
+ <<< 250 <Bob@Example.COM> recipient ok
+ >>> RCPT TO:<Carol@Ivory.EDU> NOTIFY=FAILURE \
+ ORCPT=rfc822;Carol@Ivory.EDU
+ <<< 250 <Carol@Ivory.EDU> recipient ok
+ >>> RCPT TO:<Dana@Ivory.EDU> NOTIFY=SUCCESS,FAILURE \
+ ORCPT=rfc822;Dana@Ivory.EDU
+ <<< 250 <Dana@Ivory.EDU> recipient ok
+ >>> RCPT TO:<Eric@Bombs.AF.MIL> NOTIFY=FAILURE \
+ ORCPT=rfc822;Eric@Bombs.AF.MIL
+ <<< 250 <Eric@Bombs.AF.MIL> recipient ok
+ >>> RCPT TO:<Fred@Bombs.AF.MIL> NOTIFY=NEVER
+ <<< 250 <Fred@Bombs.AF.MIL> recipient ok
+ >>> RCPT TO:<George@Tax-ME.GOV> NOTIFY=FAILURE \
+ ORCPT=rfc822;George@Tax-ME.GOV
+ <<< 250 <George@Tax-ME.GOV> recipient ok
+ >>> DATA
+ <<< 354 okay, send message
+ >>> (message goes here)
+ >>> .
+ <<< 250 message accepted
+ >>> QUIT
+ <<< 221 goodbye
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 27]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.2 Relay to Example.COM
+
+ The SMTP at Example.ORG then relays the message to Example.COM. (For
+ the purpose of this example, mail.Example.COM is the primary mail
+ exchanger for Example.COM).
+
+ <<< 220 mail.Example.COM says hello
+ >>> EHLO Example.ORG
+ <<< 250-mail.Example.COM
+ <<< 250 DSN
+ >>> MAIL FROM:<Alice@Example.ORG> RET=HDRS ENVID=QQ314159
+ <<< 250 sender okay
+ >>> RCPT TO:<Bob@Example.COM> NOTIFY=SUCCESS \
+ ORCPT=rfc822;Bob@Example.COM
+ <<< 250 recipient okay
+ >>> DATA
+ <<< 354 send message
+ >>> (message goes here)
+ >>> .
+ <<< 250 message received
+ >>> QUIT
+ <<< 221 bcnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 28]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.3 Relay to Ivory.EDU
+
+ The SMTP at Example.ORG relays the message to Ivory.EDU, which (as it
+ happens) is a gateway to a LAN-based mail system that accepts SMTP
+ mail and supports the DSN extension.
+
+ <<< 220 Ivory.EDU gateway to FooMail(tm) here
+ >>> EHLO Example.ORG
+ <<< 250-Ivory.EDU
+ <<< 250 DSN
+ >>> MAIL FROM:<Alice@Example.ORG> RET=HDRS ENVID=QQ314159
+ <<< 250 ok
+ >>> RCPT TO:<Carol@Ivory.EDU> NOTIFY=FAILURE \
+ ORCPT=rfc822;Carol@Ivory.EDU
+ <<< 550 error - no such recipient
+ >>> RCPT TO:<Dana@Ivory.EDU> NOTIFY=SUCCESS,FAILURE \
+ ORCPT=rfc822;Dana@Ivory.EDU
+ <<< 250 recipient ok
+ >>> DATA
+ <<< 354 send message, end with '.'
+ >>> (message goes here)
+ >>> .
+ <<< 250 message received
+ >>> QUIT
+ <<< 221 bye
+
+ Note that since the Ivory.EDU refused to accept mail for
+ Carol@Ivory.EDU, and the sender specified NOTIFY=FAILURE, the
+ sender-SMTP (in this case Example.ORG) must generate a DSN.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 29]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.4 Relay to Bombs.AF.MIL
+
+ The SMTP at Example.ORG relays the message to Bombs.AF.MIL, which
+ does not support the SMTP extension. Because the sender specified
+ NOTIFY=NEVER for recipient Fred@Bombs.AF.MIL, the SMTP at Example.ORG
+ chooses to send the message for that recipient in a separate
+ transaction with a reverse-path of <>.
+
+ <<< 220-Bombs.AF.MIL reporting for duty.
+ <<< 220 Electronic mail is to be used for official business only.
+ >>> EHLO Example.ORG
+ <<< 502 command not implemented
+ >>> RSET
+ <<< 250 reset
+ >>> HELO Example.ORG
+ <<< 250 Bombs.AF.MIL
+ >>> MAIL FROM:<Alice@Example.ORG>
+ <<< 250 ok
+ >>> RCPT TO:<Eric@Bombs.AF.MIL>
+ <<< 250 ok
+ >>> DATA
+ <<< 354 send message
+ >>> (message goes here)
+ >>> .
+ <<< 250 message accepted
+ >>> MAIL FROM:<>
+ <<< 250 ok
+ >>> RCPT TO:<Fred@Bombs.AF.MIL>
+ <<< 250 ok
+ >>> DATA
+ <<< 354 send message
+ >>> (message goes here)
+ >>> .
+ <<< 250 message accepted
+ >>> QUIT
+ <<< 221 Bombs.AF.MIL closing connection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 30]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.5 Forward from George@Tax-ME.GOV to Sam@Boondoggle.GOV
+
+ The SMTP at Example.ORG relays the message to Tax-ME.GOV. (this step
+ is not shown). MTA Tax-ME.GOV then forwards the message to
+ Sam@Boondoggle.GOV (shown below). Both Tax-ME.GOV and Example.ORG
+ support the SMTP DSN extension. Note that RET, ENVID, and ORCPT all
+ retain their original values.
+
+ <<< 220 BoonDoggle.GOV says hello
+ >>> EHLO Example.ORG
+ <<< 250-mail.Example.COM
+ <<< 250 DSN
+ >>> MAIL FROM:<Alice@Example.ORG> RET=HDRS ENVID=QQ314159
+ <<< 250 sender okay
+ >>> RCPT TO:<Sam@Boondoggle.GOV> NOTIFY=SUCCESS \
+ ORCPT=rfc822;George@Tax-ME.GOV
+ <<< 250 recipient okay
+ >>> DATA
+ <<< 354 send message
+ >>> (message goes here)
+ >>> .
+ <<< 250 message received
+ >>> QUIT
+ <<< 221 bcnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 31]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.6 "Delivered" DSN for Bob@Example.COM
+
+ MTA mail.Example.COM successfully delivers the message to
+ Bob@Example.COM. Because the sender specified NOTIFY=SUCCESS,
+ mail.Example.COM issues the following DSN, and sends it to
+ Alice@Example.ORG.
+
+ To: Alice@Example.ORG
+ From: postmaster@mail.Example.COM
+ Subject: Delivery Notification (success) for Bob@Example.COM
+ Content-Type: multipart/report; report-type=delivery-status;
+ boundary=abcde
+ MIME-Version: 1.0
+
+ --abcde
+ Content-type: text/plain; charset=us-ascii
+
+ Your message (id QQ314159) was successfully delivered to
+ Bob@Example.COM.
+
+ --abcde
+ Content-type: message/delivery-status
+
+ Reporting-MTA: dns; mail.Example.COM
+ Original-Envelope-ID: QQ314159
+
+ Original-Recipient: rfc822;Bob@Example.COM
+ Final-Recipient: rfc822;Bob@Example.COM
+ Action: delivered
+ Status: 2.0.0
+
+ --abcde
+ Content-type: message/rfc822
+
+ (headers of returned message go here)
+
+ --abcde--
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 32]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.7 Failed DSN for Carol@Ivory.EDU
+
+ Because delivery to Carol failed and the sender specified
+ NOTIFY=FAILURE for Carol@Ivory.EDU, MTA Example.ORG (the SMTP client
+ to which the failure was reported via SMTP) issues the following DSN.
+
+ To: Alice@Example.ORG
+ From: postmaster@Example.ORG
+ Subject: Delivery Notification (failure) for Carol@Ivory.EDU
+ Content-Type: multipart/report; report-type=delivery-status;
+ boundary=bcdef
+ MIME-Version: 1.0
+
+ --bcdef
+ Content-type: text/plain; charset=us-ascii
+
+ Your message (id QQ314159) could not be delivered to
+ Carol@Ivory.EDU.
+
+ A transcript of the session follows:
+
+ (while talking to Ivory.EDU)
+ >>> RCPT TO:<Carol@Ivory.EDU> NOTIFY=FAILURE
+ <<< 550 error - no such recipient
+
+ --bcdef
+ Content-type: message/delivery-status
+
+ Reporting-MTA: dns; Example.ORG
+ Original-Envelope-ID: QQ314159
+
+ Original-Recipient: rfc822;Carol@Ivory.EDU
+ Final-Recipient: rfc822;Carol@Ivory.EDU
+ SMTP-Remote-Recipient: Carol@Ivory.EDU
+ Diagnostic-Code: smtp; 550 error - no such recipient
+ Action: failed
+ Status: 5.0.0
+
+ --bcdef
+ Content-type: message/rfc822
+
+ (headers of returned message go here)
+
+ --bcdef--
+
+
+
+
+
+
+
+Moore Standards Track [Page 33]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.8 Relayed DSN For Dana@Ivory.EDU
+
+ Although the mail gateway Ivory.EDU supports the DSN SMTP extension,
+ the LAN mail system attached to its other side does not generate
+ positive delivery confirmations. So Ivory.EDU issues a "relayed"
+ DSN:
+
+ To: Alice@Example.ORG
+ From: postmaster@Ivory.EDU
+ Subject: mail relayed for Dana@Ivory.EDU
+ Content-Type: multipart/report; report-type=delivery-status;
+ boundary=cdefg
+ MIME-Version: 1.0
+
+ --cdefg
+ Content-type: text/plain; charset=us-ascii
+
+ Your message (addressed to Dana@Ivory.EDU) was successfully
+ relayed to:
+
+ ymail!Dana
+
+ by the FooMail gateway at Ivory.EDU.
+
+ Unfortunately, the remote mail system does not support
+ confirmation of actual delivery. Unless delivery to ymail!Dana
+ fails, this will be the only Delivery Status Notification sent.
+
+ --cdefg
+ Content-type: message/delivery-status
+
+ Reporting-MTA: dns; Ivory.EDU
+ Original-Envelope-ID: QQ314159
+
+ Original-Recipient: rfc822;Dana@Ivory.EDU
+ Final-Recipient: rfc822;Dana@Ivory.EDU
+ Action: relayed
+ Status: 2.0.0
+
+ --cdefg
+ Content-type: message/rfc822
+
+ (headers of returned message go here)
+
+ --cdefg--
+
+
+
+
+
+
+Moore Standards Track [Page 34]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+10.9 Failure notification for Sam@Boondoggle.GOV
+
+ The message originally addressed to George@Tax-ME.GOV was forwarded
+ to Sam@Boondoggle.GOV, but the MTA for Boondoggle.GOV was unable to
+ deliver the message due to a lack of disk space in Sam's mailbox.
+ After trying for several days, Boondoggle.GOV returned the following
+ DSN:
+
+ To: Alice@Example.ORG
+ From: Postmaster@Boondoggle.GOV
+ Subject: Delivery failure for Sam@Boondoggle.GOV
+ Content-Type: multipart/report; report-type=delivery-status;
+ boundary=defgh
+ MIME-Version: 1.0
+
+ --defgh
+ Your message, originally addressed to George@Tax-ME.GOV, and
+ forwarded from there to Sam@Boondoggle.GOV could not be delivered,
+ for the following reason:
+
+ write error to mailbox, disk quota exceeded
+
+ --defgh
+ Content-type: message/delivery-status
+
+ Reporting-MTA: Boondoggle.GOV
+ Original-Envelope-ID: QQ314159
+
+ Original-Recipient: rfc822;George@Tax-ME.GOV
+ Final-Recipient: rfc822;Sam@Boondoggle.GOV
+ Action: failed
+ Status: 4.2.2 (disk quota exceeded)
+
+ --defgh
+ Content-type: message/rfc822
+
+ (headers of returned message go here)
+
+ --defgh--
+
+11. Appendix - Changes since RFC 1891
+
+ - updated author's address
+
+ - In examples, changed Pure-Heart.ORG and Big-Bucks.COM to
+ Example.ORG and Example.COM, respectively. Since publication
+ of RFC 1891, the former two domains have been registered.
+
+
+
+
+Moore Standards Track [Page 35]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+ - Clarified that ENVID and ORCPT parameters must consist
+ entirely of US-ASCII characters prior to encoding as xtext.
+
+ - A Security Considerations section was added.
+
+12. References
+
+12.1 Normative References
+
+ [1] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
+ August 1982.
+
+ [2] Crocker, D., "Standard for the format of ARPA Internet Text
+ Messages", STD 11, RFC 822, August 1982.
+
+ [3] Moore, K., and G. Vaudreuil, "An Extensible Message Format for
+ Delivery Status Notifications", RFC 3464, January 2003.
+
+ [4] Coded Character Set - 7-Bit American Standard Code for
+ Information Interchange, ANSI X3.4-1986.
+
+ [5] Vaudreuil, G., "The Multipart/Report Content Type for the
+ Reporting of Mail System Administrative Messages", RFC 3462,
+ January 2003.
+
+ [6] Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 3463,
+ January 2003.
+
+ [7] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+12.2 Informative References
+
+ [8] Westine, A. and J. Postel, "Problems with the Maintenance of
+ Large Mailing Lists.", RFC 1211, March 1991.
+
+ [9] Crispin, M., "Internet Message Access Protocol - Version 4rev1",
+ RFC 2060, December 1996.
+
+ [10] Myers, J. and M. Rose, "Post Office Protocol - Version 3", STD
+ 53, RFC 1939, May 1996.
+
+ [11] Braden, R., Ed., "Requirements for Internet Hosts - Application
+ and Support", STD 3, RFC 1123, October 1989.
+
+
+
+
+
+
+
+Moore Standards Track [Page 36]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+13. Author's Address
+
+ Keith Moore
+ University of Tennessee
+ 1122 Volunteer Blvd, Suite 203
+ Knoxville, TN 37996-3450
+ USA
+
+ EMail: moore@cs.utk.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 37]
+
+RFC 3461 SMTP DSN Extension January 2003
+
+
+14. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS 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.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 38]
+