aboutsummaryrefslogtreecommitdiffstats
path: root/RFC/rfc1894.txt
diff options
context:
space:
mode:
authorRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
committerRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
commitd78b61e3efaea197a6e5b2b72bf2981a9ed69461 (patch)
tree1704e13ce5d767d59868a2d5e834cb2e988ed90f /RFC/rfc1894.txt
parentd9e84e176fe538e110d9612f9832d69846e8d3e7 (diff)
downloadfetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.gz
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.bz2
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.zip
Add files from ESR's dev directory that weren't under version control
svn path=/trunk/; revision=3881
Diffstat (limited to 'RFC/rfc1894.txt')
-rw-r--r--RFC/rfc1894.txt2187
1 files changed, 2187 insertions, 0 deletions
diff --git a/RFC/rfc1894.txt b/RFC/rfc1894.txt
new file mode 100644
index 00000000..f1fc90d4
--- /dev/null
+++ b/RFC/rfc1894.txt
@@ -0,0 +1,2187 @@
+
+
+
+
+
+
+Network Working Group K. Moore
+Request for Comments: 1894 University of Tennessee
+Category: Standards Track G. Vaudreuil
+ Octel Network Services
+ January 1996
+
+
+ An Extensible Message Format for Delivery Status Notifications
+
+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.
+
+Abstract
+
+ This memo defines a MIME content-type that may be used by a message
+ transfer agent (MTA) or electronic mail gateway to report the result
+ of an attempt to deliver a message to one or more recipients. This
+ content-type is intended as a machine-processable replacement for the
+ various types of delivery status notifications currently used in
+ Internet electronic mail.
+
+ Because many messages are sent between the Internet and other
+ messaging systems (such as X.400 or the so-called "LAN-based"
+ systems), the DSN protocol is designed to be useful in a multi-
+ protocol messaging environment. To this end, the protocol described
+ in this memo provides for the carriage of "foreign" addresses and
+ error codes, in addition to those normally used in Internet mail.
+ Additional attributes may also be defined to support "tunneling" of
+ foreign notifications through Internet mail.
+
+ Any questions, comments, and reports of defects or ambiguities in
+ this specification may be sent to the mailing list for the NOTARY
+ working group of the IETF, using the address
+ <notifications@cs.utk.edu>. Requests to subscribe to the mailing
+ list should be addressed to <notifications-request@cs.utk.edu>.
+ Implementors of this specification are encouraged to subscribe to the
+ mailing list, so that they will quickly be informed of any problems
+ which might hinder interoperability.
+
+ NOTE: This document is a Proposed Standard. If and when this
+ protocol is submitted for Draft Standard status, any normative text
+ (phrases containing SHOULD, SHOULD NOT, MUST, MUST NOT, or MAY) in
+ this document will be re-evaluated in light of implementation
+
+
+
+Moore & Vaudreuil Standards Track [Page 1]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ experience, and are thus subject to change.
+
+1. Introduction
+
+ This memo defines a MIME [1] content-type for delivery status
+ notifications (DSNs). A DSN can be used to notify the sender of a
+ message of any of several conditions: failed delivery, delayed
+ delivery, successful delivery, or the gatewaying of a message into an
+ environment that may not support DSNs. The "message/delivery-status"
+ content-type defined herein is intended for use within the framework
+ of the "multipart/report" content type defined in [2].
+
+ This memo defines only the format of the notifications. An extension
+ to the Simple Message Transfer Protocol (SMTP) [3] to fully support
+ such notifications is the subject of a separate memo [4].
+
+1.1 Purposes
+
+ The DSNs defined in this memo are expected to serve several purposes:
+
+(a) Inform human beings of the status of message delivery processing, as
+ well as the reasons for any delivery problems or outright failures,
+ in a manner which is largely independent of human language;
+
+(b) Allow mail user agents to keep track of the delivery status of
+ messages sent, by associating returned DSNs with earlier message
+ transmissions;
+
+(c) Allow mailing list exploders to automatically maintain their
+ subscriber lists when delivery attempts repeatedly fail;
+
+(d) Convey delivery and non-delivery notifications resulting from
+ attempts to deliver messages to "foreign" mail systems via a
+ gateway;
+
+(e) Allow "foreign" notifications to be tunneled through a MIME-capable
+ message system and back into the original messaging system that
+ issued the original notification, or even to a third messaging
+ system;
+
+(f) Allow language-independent, yet reasonably precise, indications of
+ the reason for the failure of a message to be delivered (once status
+ codes of sufficient precision are defined); and
+
+(g) Provide sufficient information to remote MTA maintainers (via
+ "trouble tickets") so that they can understand the nature of
+ reported errors. This feature is used in the case that failure to
+ deliver a message is due to the malfunction of a remote MTA and the
+
+
+
+Moore & Vaudreuil Standards Track [Page 2]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ sender wants to report the problem to the remote MTA administrator.
+
+1.2 Requirements
+
+ These purposes place the following constraints on the notification
+ protocol:
+
+(a) It must be readable by humans as well as being machine-parsable.
+
+(b) It must provide enough information to allow message senders (or the
+ user agents) to unambiguously associate a DSN with the message that
+ was sent and the original recipient address for which the DSN is
+ issued (if such information is available), even if the message was
+ forwarded to another recipient address.
+
+(c) It must be able to preserve the reason for the success or failure of
+ a delivery attempt in a remote messaging system, using the
+ "language" (mailbox addresses and status codes) of that remote
+ system.
+
+(d) It must also be able to describe the reason for the success or
+ failure of a delivery attempt, independent of any particular human
+ language or of the "language" of any particular mail system.
+
+(e) It must preserve enough information to allow the maintainer of a
+ remote MTA to understand (and if possible, reproduce) the conditions
+ that caused a delivery failure at that MTA.
+
+(f) For any notifications issued by foreign mail systems, which are
+ translated by a mail gateway to the DSN format, the DSN must
+ preserve the "type" of the foreign addresses and error codes, so
+ that these may be correctly interpreted by gateways.
+
+ A DSN contains a set of per-message fields which identify the message
+ and the transaction during which the message was submitted, along
+ with other fields that apply to all delivery attempts described by
+ the DSN. The DSN also includes a set of per-recipient fields to
+ convey the result of the attempt to deliver the message to each of
+ one or more recipients.
+
+1.3 Terminology
+
+ A message may be transmitted through several message transfer agents
+ (MTAs) on its way to a recipient. For a variety of reasons,
+ recipient addresses may be rewritten during this process, so each MTA
+ may potentially see a different recipient address. Depending on the
+ purpose for which a DSN is used, different formats of a particular
+ recipient address will be needed.
+
+
+
+Moore & Vaudreuil Standards Track [Page 3]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ Several DSN fields are defined in terms of the view from a particular
+ MTA in the transmission. The MTAs are assigned the following names:
+
+ (a) Original MTA
+
+ The Original MTA is the one to which the message is submitted for
+ delivery by the sender of the message.
+
+ (b) Reporting MTA
+
+ For any DSN, the Reporting MTA is the one which is reporting the
+ results of delivery attempts described in the DSN.
+
+ If the delivery attempts described occurred in a "foreign" (non-
+ Internet) mail system, and the DSN was produced by translating the
+ foreign notice into DSN format, the Reporting MTA will still identify
+ the "foreign" MTA where the delivery attempts occurred.
+
+ (c) Received-From MTA
+
+ The Received-From MTA is the MTA from which the Reporting MTA
+ received the message, and accepted responsibility for delivery of the
+ message.
+
+ (d) Remote MTA
+
+ If an MTA determines that it must relay a message to one or more
+ recipients, but the message cannot be transferred to its "next hop"
+ MTA, or if the "next hop" MTA refuses to accept responsibility for
+ delivery of the message to one or more of its intended recipients,
+ the relaying MTA may need to issue a DSN on behalf of the recipients
+ for whom the message cannot be delivered. In this case the relaying
+ MTA is the Reporting MTA, and the "next hop" MTA is known as the
+ Remote MTA.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 4]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+Figure 1 illustrates the relationship between the various MTAs.
+
+
++-----+ +--------+ +---------+ +---------+ +------+
+| | | | |Received-| | | | |
+| | => |Original| => ... => | From | => |Reporting| ===> |Remote|
+| user| | MTA | | MTA | | MTA | <No! | MTA |
+|agent| +--------+ +---------+ +----v----+ +------+
+| | |
+| | <-------------------------------------------+
++-----+ (DSN returned to sender by Reporting MTA)
+
+
+ Figure 1. Original, Received-From, Reporting and Remote MTAs
+
+
+ Each of these MTAs may provide information which is useful in a DSN:
+
++ Ideally, the DSN will contain the address of each recipient as
+ originally specified to the Original MTA by the sender of the message.
+ This version of the address is needed (rather than a forwarding
+ address or some modified version of the original address) so that the
+ sender may compare the recipient address in the DSN with the address
+ in the sender's records (e.g. an address book for an individual, the
+ list of subscribers for a mailing list) and take appropriate action.
+
+ Similarly, the DSN might contain an "envelope identifier" that was
+ known to both the sender's user agent and the Original MTA at the time
+ of message submission, and which, if included in the DSN, can be used
+ by the sender to keep track of which messages were or were not
+ delivered.
+
++ If a message was (a) forwarded to a different address than that
+ specified by the sender, (b) gatewayed to a different mail system than
+ that used by the sender, or (c) subjected to address rewriting during
+ transmission, the "final" form of the recipient address (i.e. the one
+ seen by the Reporting MTA) will be different than the original
+ (sender-specified) recipient address. Just as the sender's user agent
+ (or the sender) prefers the original recipient address, so the "final"
+ address is needed when reporting a problem to the postmaster of the
+ site where message delivery failed, because only the final recipient
+ address will allow her to reproduce the conditions that caused the
+ failure.
+
++ A "failed" DSN should contain the most accurate explanation for the
+ delivery failure that is available. For ease of interpretation, this
+ information should be a format which is independent of the mail
+ transport system that issued the DSN. However, if a foreign error
+
+
+
+Moore & Vaudreuil Standards Track [Page 5]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ code is translated into some transport-independent format, some
+ information may be lost. It is therefore desirable to provide both a
+ transport-independent status code and a mechanism for reporting
+ transport-specific codes. Depending on the circumstances that
+ produced delivery failure, the transport-specific code might be
+ obtained from either the Reporting MTA or the Remote MTA.
+
+ Since different values for "recipient address" and "delivery status
+ code" are needed according to the circumstance in which a DSN will be
+ used, and since the MTA that issues the DSN cannot anticipate those
+ circumstances, the DSN format described here may contain both the
+ original and final forms of a recipient address, and both a
+ transport-independent and a transport-specific indication of delivery
+ status.
+
+ Extension fields may also be added by the Reporting MTA as needed to
+ provide additional information for use in a trouble ticket or to
+ preserve information for tunneling of foreign delivery reports
+ through Internet DSNs.
+
+ The Original, Reporting, and Remote MTAs may exist in very different
+ environments and use dissimilar transport protocols, MTA names,
+ address formats, and delivery status codes. DSNs therefore do not
+ assume any particular format for mailbox addresses, MTA names, or
+ transport-specific status codes. Instead, the various DSN fields
+ that carry such quantities consist of a "type" subfield followed by a
+ subfield whose contents are ordinary text characters, and the format
+ of which is indicated by the "type" subfield. This allows a DSN to
+ convey these quantities regardless of format.
+
+2. Format of a Delivery Status Notification
+
+ A DSN is a MIME message with a top-level content-type of
+ multipart/report (defined in [2]). When a multipart/report content
+ is used to transmit a DSN:
+
+(a) The report-type parameter of the multipart/report content is
+ "delivery-status".
+
+(b) The first component of the multipart/report contains a human-
+ readable explanation of the DSN, as described in [2].
+
+(c) The second component of the multipart/report is of content-type
+ message/delivery-status, described in section 2.1 of this document.
+
+(d) If the original message or a portion of the message is to be
+ returned to the sender, it appears as the third component of the
+ multipart/report.
+
+
+
+Moore & Vaudreuil Standards Track [Page 6]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ NOTE: For delivery status notifications gatewayed from foreign
+ systems, the headers of the original message may not be available.
+ In this case the third component of the DSN may be omitted, or it
+ may contain "simulated" RFC 822 headers which contain equivalent
+ information. In particular, it is very desirable to preserve the
+ subject, date, and message-id (or equivalent) fields from the
+ original message.
+
+ The DSN MUST be addressed (in both the message header and the
+ transport envelope) to the return address from the transport envelope
+ which accompanied the original message for which the DSN was
+ generated. (For a message that arrived via SMTP, the envelope return
+ address appears in the MAIL FROM command.)
+
+ The From field of the message header of the DSN SHOULD contain the
+ address of a human who is responsible for maintaining the mail system
+ at the Reporting MTA site (e.g. Postmaster), so that a reply to the
+ DSN will reach that person. Exception: if a DSN is translated from a
+ foreign delivery report, and the gateway performing the translation
+ cannot determine the appropriate address, the From field of the DSN
+ MAY be the address of a human who is responsible for maintaining the
+ gateway.
+
+ The envelope sender address of the DSN SHOULD be chosen to ensure
+ that no delivery status reports will be issued in response to the DSN
+ itself, and MUST be chosen so that DSNs will not generate mail loops.
+ Whenever an SMTP transaction is used to send a DSN, the MAIL FROM
+ command MUST use a NULL return address, i.e. "MAIL FROM:<>".
+
+ A particular DSN describes the delivery status for exactly one
+ message. However, an MTA MAY report on the delivery status for
+ several recipients of the same message in a single DSN. Due to the
+ nature of the mail transport system (where responsibility for
+ delivery of a message to its recipients may be split among several
+ MTAs, and delivery to any particular recipient may be delayed),
+ multiple DSNs may be still be issued in response to a single message
+ submission.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 7]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+2.1 The message/delivery-status content-type
+
+ The message/delivery-status content-type is defined as follows:
+
+ MIME type name: message
+ MIME subtype name: delivery-status
+ Optional parameters: none
+ Encoding considerations: "7bit" encoding is sufficient and
+ MUST be used to maintain readability
+ when viewed by non-MIME mail
+ readers.
+ Security considerations: discussed in section 4 of this memo.
+
+ The message/delivery-status report type for use in the
+ multipart/report is "delivery-status".
+
+ The body of a message/delivery-status consists of one or more
+ "fields" formatted according to the ABNF of RFC 822 header "fields"
+ (see [6]). The per-message fields appear first, followed by a blank
+ line. Following the per-message fields are one or more groups of
+ per-recipient fields. Each group of per-recipient fields is preceded
+ by a blank line. Using the ABNF of RFC 822, the syntax of the
+ message/delivery-status content is as follows:
+
+ delivery-status-content =
+ per-message-fields 1*( CRLF per-recipient-fields )
+
+ The per-message fields are described in section 2.2. The per-
+ recipient fields are described in section 2.3.
+
+
+2.1.1 General conventions for DSN fields
+
+ Since these fields are defined according to the rules of RFC 822, the
+ same conventions for continuation lines and comments apply.
+ Notification fields may be continued onto multiple lines by beginning
+ each additional line with a SPACE or HTAB. Text which appears in
+ parentheses is considered a comment and not part of the contents of
+ that notification field. Field names are case-insensitive, so the
+ names of notification fields may be spelled in any combination of
+ upper and lower case letters. Comments in DSN fields may use the
+ "encoded-word" construct defined in [7].
+
+ A number of DSN fields are defined to have a portion of a field body
+ of "xtext". "xtext" is used to allow encoding sequences of octets
+ which contain values outside the range [1-127 decimal] of traditional
+ ASCII characters, and also to allow comments to be inserted in the
+ data. Any octet may be encoded as "+" followed by two upper case
+
+
+
+Moore & Vaudreuil Standards Track [Page 8]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ hexadecimal digits. (The "+" character MUST be encoded as "+2B".)
+ With certain exceptions, octets that correspond to ASCII characters
+ may be represented as themselves. SPACE and HTAB characters are
+ ignored. Comments may be included by enclosing them in parenthesis.
+ Except within comments, encoded-words such as defined in [7] may NOT
+ be used in xtext.
+
+ "xtext" is formally defined as follows:
+
+ xtext = *( xchar / hexchar / linear-white-space / comment )
+
+ xchar = any ASCII CHAR between "!" (33) and "~" (126) inclusive,
+ except for "+", "\" and "(".
+
+ "hexchar"s are intended to encode octets that cannot be represented
+ as plain text, either because they are reserved, or because they are
+ non-printable. However, any octet value may be represented by a
+ "hexchar".
+
+ 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. (Some CHARs in this range may
+ also be encoded as "hexchar"s, at the implementor's discretion.)
+
+ + ASCII CHARs that fall outside the range above must be encoded as
+ "hexchar".
+
+ + Line breaks (CR LF SPACE) MAY be inserted as necessary to keep line
+ lengths from becoming excessive.
+
+ + Comments MAY be added to clarify the meaning for human readers.
+
+2.1.2 "*-type" subfields
+
+ Several DSN fields consist of a "-type" subfield, followed by a
+ semicolon, followed by "*text". For these fields, the keyword used
+ in the address-type, diagnostic-type, or MTA-name-type subfield
+ indicates the expected format of the address, status-code, or MTA-
+ name which follows.
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 9]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ The "-type" subfields are defined as follows:
+
+(a) An "address-type" specifies the format of a mailbox address. For
+ example, Internet mail addresses use the "rfc822" address-type.
+
+ address-type = atom
+
+(b) A "diagnostic-type" specifies the format of a status code. For
+ example, when a DSN field contains a reply code reported via the
+ Simple Mail Transfer Protocol [3], the "smtp" diagnostic-type is
+ used.
+
+ diagnostic-type = atom
+
+(c) An "MTA-name-type" specifies the format of an MTA name. For
+ example, for an SMTP server on an Internet host, the MTA name is the
+ domain name of that host, and the "dns" MTA-name-type is used.
+
+ mta-name-type = atom
+
+ Values for address-type, diagnostic-type, and MTA-name-type are
+ case-insensitive. Thus address-type values of "RFC822" and "rfc822"
+ are equivalent.
+
+ The Internet Assigned Numbers Authority (IANA) will maintain a
+ registry of address-types, diagnostic-types, and MTA-name-types,
+ along with descriptions of the meanings and acceptable values of
+ each, or a reference to a one or more specifications that provide
+ such descriptions. (The "rfc822" address-type, "smtp" diagnostic-
+ type, and "dns" MTA-name-type are defined in [4].) Registration
+ forms for address-type, diagnostic-type, and MTA-name-type appear in
+ section 8 of this document.
+
+ IANA will not accept registrations for any address-type, diagnostic-
+ type, or MTA-name-type name that begins with "X-". These type names
+ are reserved for experimental use.
+
+2.1.3 Lexical tokens imported from RFC 822
+
+ The following lexical tokens, defined in [6], are used in the ABNF
+ grammar for DSNs: atom, CHAR, comment, CR, CRLF, DIGIT, LF, linear-
+ white-space, SPACE, text. The date-time lexical token is defined in
+ [8].
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 10]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+2.2 Per-Message DSN Fields
+
+ Some fields of a DSN apply to all of the delivery attempts described
+ by that DSN. These fields may appear at most once in any DSN. These
+ fields are used to correlate the DSN with the original message
+ transaction and to provide additional information which may be useful
+ to gateways.
+
+ per-message-fields =
+ [ original-envelope-id-field CRLF ]
+ reporting-mta-field CRLF
+ [ dsn-gateway-field CRLF ]
+ [ received-from-mta-field CRLF ]
+ [ arrival-date-field CRLF ]
+ *( extension-field CRLF )
+
+2.2.1 The Original-Envelope-Id field
+
+ The optional Original-Envelope-Id field contains an "envelope
+ identifier" which uniquely identifies the transaction during which
+ the message was submitted, and was either (a) specified by the sender
+ and supplied to the sender's MTA, or (b) generated by the sender's
+ MTA and made available to the sender when the message was submitted.
+ Its purpose is to allow the sender (or her user agent) to associate
+ the returned DSN with the specific transaction in which the message
+ was sent.
+
+ If such an envelope identifier was present in the envelope which
+ accompanied the message when it arrived at the Reporting MTA, it
+ SHOULD be supplied in the Original-Envelope-Id field of any DSNs
+ issued as a result of an attempt to deliver the message. Except when
+ a DSN is issued by the sender's MTA, an MTA MUST NOT supply this
+ field unless there is an envelope-identifier field in the envelope
+ which accompanied this message on its arrival at the Reporting MTA.
+
+ The Original-Envelope-Id field is defined as follows:
+
+ original-envelope-id-field =
+ "Original-Envelope-Id" ":" envelope-id
+
+ envelope-id = *text
+
+ There may be at most one Original-Envelope-Id field per DSN.
+
+ The envelope-id is CASE-SENSITIVE. The DSN MUST preserve the
+ original case and spelling of the envelope-id.
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 11]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ NOTE: The Original-Envelope-Id is NOT the same as the Message-Id from
+ the message header. The Message-Id identifies the content of the
+ message, while the Original-Envelope-Id identifies the transaction in
+ which the message is sent.
+
+2.2.2 The Reporting-MTA DSN field
+
+ reporting-mta-field =
+ "Reporting-MTA" ":" mta-name-type ";" mta-name
+
+ mta-name = *text
+
+ The Reporting-MTA field is defined as follows:
+
+ A DSN describes the results of attempts to deliver, relay, or gateway
+ a message to one or more recipients. In all cases, the Reporting-MTA
+ is the MTA which attempted to perform the delivery, relay, or gateway
+ operation described in the DSN. This field is required.
+
+ Note that if an SMTP client attempts to relay a message to an SMTP
+ server and receives an error reply to a RCPT command, the client is
+ responsible for generating the DSN, and the client's domain name will
+ appear in the Reporting-MTA field. (The server's domain name will
+ appear in the Remote-MTA field.)
+
+ Note that the Reporting-MTA is not necessarily the MTA which actually
+ issued the DSN. For example, if an attempt to deliver a message
+ outside of the Internet resulted in a nondelivery notification which
+ was gatewayed back into Internet mail, the Reporting-MTA field of the
+ resulting DSN would be that of the MTA that originally reported the
+ delivery failure, not that of the gateway which converted the foreign
+ notification into a DSN. See Figure 2.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 12]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+sender's environment recipient's environment
+............................ ..........................................
+ : :
+ (1) : : (2)
+ +-----+ +--------+ +--------+ +---------+ +---------+ +------+
+ | | | | | | |Received-| | | | |
+ | |=>|Original|=>| |->| From |->|Reporting|-->|Remote|
+ | user| | MTA | | | | MTA | | MTA |<No| MTA |
+ |agent| +--------+ |Gateway | +---------+ +----v----+ +------+
+ | | | | |
+ | | <============| |<-------------------+
+ +-----+ | |(4) (3)
+ +--------+
+ : :
+...........................: :.........................................
+
+ Figure 2. DSNs in the presence of gateways
+
+ (1) message is gatewayed into recipient's environment
+ (2) attempt to relay message fails
+ (3) reporting-mta (in recipient's environment) returns nondelivery
+ notification
+ (4) gateway translates foreign notification into a DSN
+
+
+
+ The mta-name portion of the Reporting-MTA field is formatted
+ according to the conventions indicated by the mta-name-type subfield.
+ If an MTA functions as a gateway between dissimilar mail environments
+ and thus is known by multiple names depending on the environment, the
+ mta-name subfield SHOULD contain the name used by the environment
+ from which the message was accepted by the Reporting-MTA.
+
+ Because the exact spelling of an MTA name may be significant in a
+ particular environment, MTA names are CASE-SENSITIVE.
+
+2.2.3 The DSN-Gateway field
+
+ The DSN-Gateway field indicates the name of the gateway or MTA which
+ translated a foreign (non-Internet) delivery status notification into
+ this DSN. This field MUST appear in any DSN which was translated by
+ a gateway from a foreign system into DSN format, and MUST NOT appear
+ otherwise.
+
+ dsn-gateway-field = "DSN-Gateway" ":" mta-name-type ";" mta-name
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 13]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ For gateways into Internet mail, the MTA-name-type will normally be
+ "smtp", and the mta-name will be the Internet domain name of the
+ gateway.
+
+2.2.4 The Received-From-MTA DSN field
+
+ The optional Received-From-MTA field indicates the name of the MTA
+ from which the message was received.
+
+ received-from-mta-field =
+ "Received-From-MTA" ":" mta-name-type ";" mta-name
+
+ If the message was received from an Internet host via SMTP, the
+ contents of the mta-name subfield SHOULD be the Internet domain name
+ supplied in the HELO or EHLO command, and the network address used by
+ the SMTP client SHOULD be included as a comment enclosed in
+ parentheses. (In this case, the MTA-name-type will be "smtp".)
+
+ The mta-name portion of the Received-From-MTA field is formatted
+ according to the conventions indicated by the MTA-name-type subfield.
+
+ Since case is significant in some mail systems, the exact spelling,
+ including case, of the MTA name SHOULD be preserved.
+
+2.2.5 The Arrival-Date DSN field
+
+ The optional Arrival-Date field indicates the date and time at which
+ the message arrived at the Reporting MTA. If the Last-Attempt-Date
+ field is also provided in a per-recipient field, this can be used to
+ determine the interval between when the message arrived at the
+ Reporting MTA and when the report was issued for that recipient.
+
+ arrival-date-field = "Arrival-Date" ":" date-time
+
+ The date and time are expressed in RFC 822 'date-time' format, as
+ modified by [8]. Numeric timezones ([+/-]HHMM format) MUST be used.
+
+2.3 Per-Recipient DSN fields
+
+ A DSN contains information about attempts to deliver a message to one
+ or more recipients. The delivery information for any particular
+ recipient is contained in a group of contiguous per-recipient fields.
+ Each group of per-recipient fields is preceded by a blank line.
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 14]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ The syntax for the group of per-recipient fields is as follows:
+
+
+ per-recipient-fields =
+ [ original-recipient-field CRLF ]
+ final-recipient-field CRLF
+ action-field CRLF
+ status-field CRLF
+ [ remote-mta-field CRLF ]
+ [ diagnostic-code-field CRLF ]
+ [ last-attempt-date-field CRLF ]
+ [ will-retry-until-field CRLF ]
+ *( extension-field CRLF )
+
+2.3.1 Original-Recipient field
+
+ The Original-Recipient field indicates the original recipient address
+ as specified by the sender of the message for which the DSN is being
+ issued.
+
+ original-recipient-field =
+ "Original-Recipient" ":" address-type ";" generic-address
+
+ generic-address = *text
+
+ The address-type field indicates the type of the original recipient
+ address. If the message originated within the Internet, the
+ address-type field field will normally be "rfc822", and the address
+ will be according to the syntax specified in [6]. The value
+ "unknown" should be used if the Reporting MTA cannot determine the
+ type of the original recipient address from the message envelope.
+
+ This field is optional. It should be included only if the sender-
+ specified recipient address was present in the message envelope, such
+ as by the SMTP extensions defined in [4]. This address is the same
+ as that provided by the sender and can be used to automatically
+ correlate DSN reports and message transactions.
+
+2.3.2 Final-Recipient field
+
+ The Final-Recipient field indicates the recipient for which this set
+ of per-recipient fields applies. This field MUST be present in each
+ set of per-recipient data.
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 15]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ The syntax of the field is as follows:
+
+ final-recipient-field =
+ "Final-Recipient" ":" address-type ";" generic-address
+
+ The generic-address subfield of the Final-Recipient field MUST
+ contain the mailbox address of the recipient (from the transport
+ envelope) as it was when the message was accepted for delivery by the
+ Reporting MTA.
+
+ The Final-Recipient address may differ from the address originally
+ provided by the sender, because it may have been transformed during
+ forwarding and gatewaying into an totally unrecognizable mess.
+ However, in the absence of the optional Original-Recipient field, the
+ Final-Recipient field and any returned content may be the only
+ information available with which to correlate the DSN with a
+ particular message submission.
+
+ The address-type subfield indicates the type of address expected by
+ the reporting MTA in that context. Recipient addresses obtained via
+ SMTP will normally be of address-type "rfc822".
+
+ NOTE: The Reporting MTA is not expected to ensure that the address
+ actually conforms to the syntax conventions of the address-type.
+ Instead, it MUST report exactly the address received in the envelope,
+ unless that address contains characters such as CR or LF which may
+ not appear in a DSN field.
+
+ Since mailbox addresses (including those used in the Internet) may be
+ case sensitive, the case of alphabetic characters in the address MUST
+ be preserved.
+
+2.3.3 Action field
+
+ The Action field indicates the action performed by the Reporting-MTA
+ as a result of its attempt to deliver the message to this recipient
+ address. This field MUST be present for each recipient named in the
+ DSN.
+
+ The syntax for the action-field is:
+
+ action-field = "Action" ":" action-value
+
+ action-value =
+ "failed" / "delayed" / "delivered" / "relayed" / "expanded"
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 16]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ The action-value may be spelled in any combination of upper and lower
+ case characters.
+
+"failed" indicates that the message could not be delivered to the
+ recipient. The Reporting MTA has abandoned any attempts to
+ deliver the message to this recipient. No further
+ notifications should be expected.
+
+"delayed" indicates that the Reporting MTA has so far been unable to
+ deliver or relay the message, but it will continue to
+ attempt to do so. Additional notification messages may be
+ issued as the message is further delayed or successfully
+ delivered, or if delivery attempts are later abandoned.
+
+"delivered" indicates that the message was successfully delivered to
+ the recipient address specified by the sender, which
+ includes "delivery" to a mailing list exploder. It does
+ not indicate that the message has been read. This is a
+ terminal state and no further DSN for this recipient should
+ be expected.
+
+"relayed" indicates that the message has been relayed or gatewayed
+ into an environment that does not accept responsibility for
+ generating DSNs upon successful delivery. This action-
+ value SHOULD NOT be used unless the sender has requested
+ notification of successful delivery for this recipient.
+
+"expanded" indicates that the message has been successfully delivered
+ to the recipient address as specified by the sender, and
+ forwarded by the Reporting-MTA beyond that destination to
+ multiple additional recipient addresses. An action-value
+ of "expanded" differs from "delivered" in that "expanded"
+ is not a terminal state. Further "failed" and/or "delayed"
+ notifications may be provided.
+
+ Using the terms "mailing list" and "alias" as defined in
+ [4], section 7.2.7: An action-value of "expanded" is only
+ to be used when the message is delivered to a multiple-
+ recipient "alias". An action-value of "expanded" SHOULD
+ NOT be used with a DSN issued on delivery of a message to a
+ "mailing list".
+
+ NOTE ON ACTION VS. STATUS CODES: Although the 'action' field might
+ seem to be redundant with the 'status' field, this is not the case.
+ In particular, a "temporary failure" ("4") status code could be used
+ with an action-value of either "delayed" or "failed". For example,
+ assume that an SMTP client repeatedly tries to relay a message to the
+ mail exchanger for a recipient, but fails because a query to a domain
+
+
+
+Moore & Vaudreuil Standards Track [Page 17]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ name server timed out. After a few hours, it might issue a "delayed"
+ DSN to inform the sender that the message had not yet been delivered.
+ After a few days, the MTA might abandon its attempt to deliver the
+ message and return a "failed" DSN. The status code (which would
+ begin with a "4" to indicate "temporary failure") would be the same
+ for both DSNs.
+
+ Another example for which the action and status codes may appear
+ contradictory: If an MTA or mail gateway cannot deliver a message
+ because doing so would entail conversions resulting in an
+ unacceptable loss of information, it would issue a DSN with the
+ 'action' field of "failure" and a status code of 'XXX'. If the
+ message had instead been relayed, but with some loss of information,
+ it might generate a DSN with the same XXX status-code, but with an
+ action field of "relayed".
+
+2.3.4 Status field
+
+ The per-recipient Status field contains a transport-independent
+ status code which indicates the delivery status of the message to
+ that recipient. This field MUST be present for each delivery attempt
+ which is described by a DSN.
+
+ The syntax of the status field is:
+
+ status-field = "Status" ":" status-code
+
+ status-code = DIGIT "." 1*3DIGIT "." 1*3DIGIT
+
+ ; White-space characters and comments are NOT allowed within a
+ ; status-code, though a comment enclosed in parentheses MAY follow
+ ; the last numeric subfield of the status-code. Each numeric
+ ; subfield within the status-code MUST be expressed without
+ ; leading zero digits.
+
+ Status codes thus consist of three numerical fields separated by ".".
+ The first sub-field indicates whether the delivery attempt was
+ successful (2 = success, 4 = persistent temporary failure, 5 =
+ permanent failure). The second sub-field indicates the probable
+ source of any delivery anomalies, and the third sub-field denotes a
+ precise error condition, if known.
+
+ The initial set of status-codes is defined in [5].
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 18]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+2.3.5 Remote-MTA field
+
+ The value associated with the Remote-MTA DSN field is a printable
+ ASCII representation of the name of the "remote" MTA that reported
+ delivery status to the "reporting" MTA.
+
+ remote-mta-field = "Remote-MTA" ":" mta-name-type ";" mta-name
+
+ NOTE: The Remote-MTA field preserves the "while talking to"
+ information that was provided in some pre-existing nondelivery
+ reports.
+
+ This field is optional. It MUST NOT be included if no remote MTA was
+ involved in the attempted delivery of the message to that recipient.
+
+2.3.6 Diagnostic-Code field
+
+ For a "failed" or "delayed" recipient, the Diagnostic-Code DSN field
+ contains the actual diagnostic code issued by the mail transport.
+ Since such codes vary from one mail transport to another, the
+ diagnostic-type subfield is needed to specify which type of
+ diagnostic code is represented.
+
+ diagnostic-code-field =
+ "Diagnostic-Code" ":" diagnostic-type ";" *text
+
+ NOTE: The information in the Diagnostic-Code field may be somewhat
+ redundant with that from the Status field. The Status field is
+ needed so that any DSN, regardless of origin, may be understood by
+ any user agent or gateway that parses DSNs. Since the Status code
+ will sometimes be less precise than the actual transport diagnostic
+ code, the Diagnostic-Code field is provided to retain the latter
+ information. Such information may be useful in a trouble ticket sent
+ to the administrator of the Reporting MTA, or when tunneling foreign
+ nondelivery reports through DSNs.
+
+ If the Diagnostic Code was obtained from a Remote MTA during an
+ attempt to relay the message to that MTA, the Remote-MTA field should
+ be present. When interpreting a DSN, the presence of a Remote-MTA
+ field indicates that the Diagnostic Code was issued by the Remote
+ MTA. The absence of a Remote-MTA indicates that the Diagnostic Code
+ was issued by the Reporting MTA.
+
+ In addition to the Diagnostic-Code itself, additional textual
+ description of the diagnostic, MAY appear in a comment enclosed in
+ parentheses.
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 19]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ This field is optional, because some mail systems supply no
+ additional information beyond that which is returned in the 'action'
+ and 'status' fields. However, this field SHOULD be included if
+ transport-specific diagnostic information is available.
+
+2.3.7 Last-Attempt-Date field
+
+ The Last-Attempt-Date field gives the date and time of the last
+ attempt to relay, gateway, or deliver the message (whether successful
+ or unsuccessful) by the Reporting MTA. This is not necessarily the
+ same as the value of the Date field from the header of the message
+ used to transmit this delivery status notification: In cases where
+ the DSN was generated by a gateway, the Date field in the message
+ header contains the time the DSN was sent by the gateway and the DSN
+ Last-Attempt-Date field contains the time the last delivery attempt
+ occurred.
+
+ last-attempt-date-field = "Last-Attempt-Date" ":" date-time
+
+ This field is optional. It MUST NOT be included if the actual date
+ and time of the last delivery attempt are not available (which might
+ be the case if the DSN were being issued by a gateway).
+
+ The date and time are expressed in RFC 822 'date-time' format, as
+ modified by [8]. Numeric timezones ([+/-]HHMM format) MUST be used.
+
+ 3.2.1.5 final-log-id field
+
+ The "final-log-id" field gives the final-log-id of the message that
+ was used by the final-mta. This can be useful as an index to the
+ final-mta's log entry for that delivery attempt.
+
+ final-log-id-field = "Final-Log-ID" ":" *text
+
+ This field is optional.
+
+2.3.8 Will-Retry-Until field
+
+ For DSNs of type "delayed", the Will-Retry-Until field gives the date
+ after which the Reporting MTA expects to abandon all attempts to
+ deliver the message to that recipient. The Will-Retry-Until field is
+ optional for "delay" DSNs, and MUST NOT appear in other DSNs.
+
+ will-retry-until-field = "Will-Retry-Until" ":" date-time
+
+ The date and time are expressed in RFC 822 'date-time' format, as
+ modified by [8]. Numeric timezones ([+/-]HHMM format) MUST be used.
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 20]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+2.4 Extension fields
+
+ Additional per-message or per-recipient DSN fields may be defined in
+ the future by later revisions or extensions to this specification.
+ Extension-field names beginning with "X-" will never be defined as
+ standard fields; such names are reserved for experimental use. DSN
+ field names NOT beginning with "X-" MUST be registered with the
+ Internet Assigned Numbers Authority (IANA) and published in an RFC.
+
+ Extension DSN fields may be defined for the following reasons:
+
+ (a) To allow additional information from foreign delivery status
+ reports to be tunneled through Internet DSNs. The names of such
+ DSN fields should begin with an indication of the foreign
+ environment name (e.g. X400-Physical-Forwarding-Address).
+
+ (b) To allow the transmission of diagnostic information which is
+ specific to a particular mail transport protocol. The names of
+ such DSN fields should begin with an indication of the mail
+ transport being used (e.g. SMTP-Remote-Recipient-Address). Such
+ fields should be used for diagnostic purposes only and not by
+ user agents or mail gateways.
+
+ (c) To allow transmission of diagnostic information which is specific
+ to a particular message transfer agent (MTA). The names of such
+ DSN fields should begin with an indication of the MTA
+ implementation which produced the DSN. (e.g. Foomail-Queue-ID).
+
+ MTA implementors are encouraged to provide adequate information, via
+ extension fields if necessary, to allow an MTA maintainer to
+ understand the nature of correctable delivery failures and how to fix
+ them. For example, if message delivery attempts are logged, the DSN
+ might include information which allows the MTA maintainer to easily
+ find the log entry for a failed delivery attempt.
+
+ If an MTA developer does not wish to register the meanings of such
+ extension fields, "X-" fields may be used for this purpose. To avoid
+ name collisions, the name of the MTA implementation should follow the
+ "X-", (e.g. "X-Foomail-Log-ID").
+
+3. Conformance and Usage Requirements
+
+ An MTA or gateway conforms to this specification if it generates DSNs
+ according to the protocol defined in this memo. For MTAs and
+ gateways that do not support requests for positive delivery
+ notification (such as in [4]), it is sufficient that delivery failure
+ reports use this protocol.
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 21]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ A minimal implementation of this specification need generate only the
+ Reporting-MTA per-message field, and the Final-Recipient, Action, and
+ Status fields for each attempt to deliver a message to a recipient
+ described by the DSN. Generation of the other fields, when
+ appropriate, is strongly recommended.
+
+ MTAs and gateways MUST NOT generate the Original-Recipient field of a
+ DSN unless the mail transfer protocol provides the address originally
+ specified by the sender at the time of submission. (Ordinary SMTP
+ does not make that guarantee, but the SMTP extension defined in [4]
+ permits such information to be carried in the envelope if it is
+ available.)
+
+ Each sender-specified recipient address SHOULD result in at most one
+ "delivered" or "failed" DSN for that recipient. If a positive DSN is
+ requested (e.g. one using NOTIFY=SUCCESS in SMTP) for a recipient
+ that is forwarded to multiple recipients of an "alias" (as defined in
+ [4], section 7.2.7), the forwarding MTA SHOULD normally issue a
+ "expanded" DSN for the originally-specified recipient and not
+ propagate the request for a DSN to the forwarding addresses.
+ Alternatively, the forwarding MTA MAY relay the request for a DSN to
+ exactly one of the forwarding addresses and not propagate the request
+ to the others.
+
+ By contrast, successful submission of a message to a mailing list
+ exploder is considered final delivery of the message. Upon delivery
+ of a message to a recipient address corresponding to a mailing list
+ exploder, the Reporting MTA SHOULD issue an appropriate DSN exactly
+ as if the recipient address were that of an ordinary mailbox.
+
+ NOTE: This is actually intended to make DSNs usable by mailing lists
+ themselves. Any message sent to a mailing list subscriber should
+ have its envelope return address pointing to the list maintainer [see
+ RFC 1123, section 5.3.7(E)]. Since DSNs are sent to the envelope
+ return address, all DSNs resulting from delivery to the recipients of
+ a mailing list will be sent to the list maintainer. The list
+ maintainer may elect to mechanically process DSNs upon receipt, and
+ thus automatically delete invalid addresses from the list. (See
+ section 7 of this memo.)
+
+ This specification places no restrictions on the processing of DSNs
+ received by user agents or distribution lists.
+
+4. Security Considerations
+
+ The following security considerations apply when using DSNs:
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 22]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+4.1 Forgery
+
+ DSNs may be forged as easily as ordinary Internet electronic mail.
+ User agents and automatic mail handling facilities (such as mail
+ distribution list exploders) that wish to make automatic use of DSNs
+ should take appropriate precautions to minimize the potential damage
+ from denial-of-service attacks.
+
+ Security threats related to forged DSNs include the sending of:
+
+(a) A falsified delivery notification when the message is not delivered
+ to the indicated recipient,
+(b) A falsified non-delivery notification when the message was in fact
+ delivered to the indicated recipient,
+(c) A falsified Final-Recipient address,
+(d) A falsified Remote-MTA identification,
+(e) A falsified relay notification when the message is "dead ended".
+(f) Unsolicited DSNs
+
+4.2 Confidentiality
+
+ Another dimension of security is confidentiality. There may be cases
+ in which a message recipient is autoforwarding messages but does not
+ wish to divulge the address to which the messages are autoforwarded.
+ The desire for such confidentiality will probably be heightened as
+ "wireless mailboxes", such as pagers, become more widely used as
+ autoforward addresses.
+
+ MTA authors are encouraged to provide a mechanism which enables the
+ end user to preserve the confidentiality of a forwarding address.
+ Depending on the degree of confidentiality required, and the nature
+ of the environment to which a message were being forwarded, this
+ might be accomplished by one or more of:
+
+(a) issuing a "relayed" DSN (if a positive DSN was requested) when a
+ message is forwarded to a confidential forwarding address, and
+ disabling requests for positive DSNs for the forwarded message,
+
+(b) declaring the message to be delivered, issuing a "delivered" DSN,
+ re-sending the message to the confidential forwarding address, and
+ arranging for no DSNs to be issued for the re-sent message,
+
+(c) omitting "Remote-*" or extension fields of a DSN whenever they would
+ otherwise contain confidential information (such as a confidential
+ forwarding address),
+
+(d) for messages forwarded to a confidential address, setting the
+ envelope return address (e.g. SMTP MAIL FROM address) to the NULL
+
+
+
+Moore & Vaudreuil Standards Track [Page 23]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ reverse-path ("<>") (so that no DSNs would be sent from a downstream
+ MTA to the original sender),
+
+(e) for messages forwarded to a confidential address, disabling delivery
+ notifications for the forwarded message (e.g. if the "next-hop" MTA
+ uses ESMTP and supports the DSN extension, by using the NOTIFY=NEVER
+ parameter to the RCPT command), or
+
+(f) when forwarding mail to a confidential address, having the
+ forwarding MTA rewrite the envelope return address for the forwarded
+ message and attempt delivery of that message as if the forwarding
+ MTA were the originator. On its receipt of final delivery status,
+ the forwarding MTA would issue a DSN to the original sender.
+
+ In general, any optional DSN field may be omitted if the Reporting
+ MTA site determines that inclusion of the field would impose too
+ great a compromise of site confidentiality. The need for such
+ confidentiality must be balanced against the utility of the omitted
+ information in trouble reports and DSNs gatewayed to foreign
+ environments.
+
+ Implementors are cautioned that many existing MTAs will send
+ nondelivery notifications to a return address in the message header
+ (rather than to the one in the envelope), in violation of SMTP and
+ other protocols. If a message is forwarded through such an MTA, no
+ reasonable action on the part of the forwarding MTA will prevent the
+ downstream MTA from compromising the forwarding address. Likewise,
+ if the recipient's MTA automatically responds to messages based on a
+ request in the message header (such as the nonstandard, but widely
+ used, Return-Receipt-To extension header), it will also compromise
+ the forwarding address.
+
+4.3 Non-Repudiation
+
+ Within the framework of today's internet mail, the DSNs defined in
+ this memo provide valuable information to the mail user; however,
+ even a "failed" DSN can not be relied upon as a guarantee that a
+ message was not received by the recipient. Even if DSNs are not
+ actively forged, conditions exist under which a message can be
+ delivered despite the fact that a failure DSN was issued.
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 24]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ For example, a race condition in the SMTP protocol allows for the
+ duplication of messages if the connection is dropped following a
+ completed DATA command, but before a response is seen by the SMTP
+ client. This will cause the SMTP client to retransmit the message,
+ even though the SMTP server has already accepted it.[9] If one of
+ those delivery attempts succeeds and the other one fails, a "failed"
+ DSN could be issued even though the message actually reached the
+ recipient.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 25]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+5. Appendix - collected grammar
+
+ NOTE: The following lexical tokens are defined in RFC 822: atom,
+ CHAR, comment, CR, CRLF, DIGIT, LF, linear-white-space, SPACE, text.
+ The date-time lexical token is defined in [8].
+
+action-field = "Action" ":" action-value
+
+action-value =
+ "failed" / "delayed" / "delivered" / "relayed" / "expanded"
+
+address-type = atom
+
+arrival-date-field = "Arrival-Date" ":" date-time
+
+delivery-status-content =
+ per-message-fields 1*( CRLF per-recipient-fields )
+
+diagnostic-code-field =
+ "Diagnostic-Code" ":" diagnostic-type ";" *text
+
+diagnostic-type = atom
+
+dsn-gateway-field = "DSN-Gateway" ":" mta-name-type ";" mta-name
+
+envelope-id = *text
+
+extension-field = extension-field-name ":" *text
+
+extension-field-name = atom
+
+final-recipient-field =
+ "Final-Recipient" ":" address-type ";" generic-address
+
+generic-address = *text
+
+last-attempt-date-field = "Last-Attempt-Date" ":" date-time
+
+mta-name = *text
+
+mta-name-type = atom
+
+original-envelope-id-field =
+ "Original-Envelope-Id" ":" envelope-id
+
+original-recipient-field =
+ "Original-Recipient" ":" address-type ";" generic-address
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 26]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+per-message-fields =
+ [ original-envelope-id-field CRLF ]
+ reporting-mta-field CRLF
+ [ dsn-gateway-field CRLF ]
+ [ received-from-mta-field CRLF ]
+ [ arrival-date-field CRLF ]
+ *( extension-field CRLF )
+
+per-recipient-fields =
+ [ original-recipient-field CRLF ]
+ final-recipient-field CRLF
+ action-field CRLF
+ status-field CRLF
+ [ remote-mta-field CRLF ]
+ [ diagnostic-code-field CRLF ]
+ [ last-attempt-date-field CRLF ]
+ [ will-retry-until-field CRLF ]
+ *( extension-field CRLF )
+
+received-from-mta-field =
+ "Received-From-MTA" ":" mta-name-type ";" mta-name
+
+remote-mta-field = "Remote-MTA" ":" mta-name-type ";" mta-name
+
+reporting-mta-field =
+ "Reporting-MTA" ":" mta-name-type ";" mta-name
+
+status-code = DIGIT "." 1*3DIGIT "." 1*3DIGIT
+
+ ; White-space characters and comments are NOT allowed within a
+ ; status-code, though a comment enclosed in parentheses MAY follow
+ ; the last numeric subfield of the status-code. Each numeric
+ ; subfield within the status-code MUST be expressed without
+ ; leading zero digits.
+
+status-field = "Status" ":" status-code
+
+will-retry-until-field = "Will-Retry-Until" ":" date-time
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 27]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+6. Appendix - Guidelines for gatewaying DSNs
+
+ NOTE: This section provides non-binding recommendations for the
+ construction of mail gateways that wish to provide semi-transparent
+ delivery reports between the Internet and another electronic mail
+ system. Specific DSN gateway requirements for a particular pair of
+ mail systems may be defined by other documents.
+
+6.1 Gatewaying from other mail systems to DSNs
+
+ A mail gateway may issue a DSN to convey the contents of a "foreign"
+ delivery or non-delivery notification over Internet mail. When there
+ are appropriate mappings from the foreign notification elements to
+ DSN fields, the information may be transmitted in those DSN fields.
+ Additional information (such as might be useful in a trouble ticket
+ or needed to tunnel the foreign notification through the Internet)
+ may be defined in extension DSN fields. (Such fields should be given
+ names that identify the foreign mail protocol, e.g. X400-* for X.400
+ NDN or DN protocol elements)
+
+ The gateway must attempt to supply reasonable values for the
+ Reporting-MTA, Final-Recipient, Action, and Status fields. These
+ will normally be obtained by translating the values from the remote
+ delivery or non-delivery notification into their Internet-style
+ equivalents. However, some loss of information is to be expected.
+ For example, the set of status-codes defined for DSNs may not be
+ adequate to fully convey the delivery diagnostic code from the
+ foreign system. The gateway should assign the most precise code
+ which describes the failure condition, falling back on "generic"
+ codes such as 2.0.0 (success), 4.0.0 (temporary failure), and 5.0.0
+ (permanent failure) when necessary. The actual foreign diagnostic
+ code should be retained in the Diagnostic-Code field (with an
+ appropriate diagnostic-type value) for use in trouble tickets or
+ tunneling.
+
+ The sender-specified recipient address, and the original envelope-id,
+ if present in the foreign transport envelope, should be preserved in
+ the Original-Recipient and Original-Envelope-ID fields.
+
+ The gateway should also attempt to preserve the "final" recipient
+ addresses and MTA names from the foreign system. Whenever possible,
+ foreign protocol elements should be encoded as meaningful printable
+ ASCII strings.
+
+ For DSNs produced from foreign delivery or nondelivery notifications,
+ the name of the gateway MUST appear in the DSN-Gateway field of the
+ DSN.
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 28]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+6.2 Gatewaying from DSNs to other mail systems
+
+ It may be possible to gateway DSNs from the Internet into a foreign
+ mail system. The primary purpose of such gatewaying is to convey
+ delivery status information in a form that is usable by the
+ destination system. A secondary purpose is to allow "tunneling" of
+ DSNs through foreign mail systems, in case the DSN may be gatewayed
+ back into the Internet.
+
+ In general, the recipient of the DSN (i.e., the sender of the
+ original message) will want to know, for each recipient: the closest
+ available approximation to the original recipient address, the
+ delivery status (success, failure, or temporary failure), and for
+ failed deliveries, a diagnostic code that describes the reason for
+ the failure.
+
+ If possible, the gateway should attempt to preserve the Original-
+ Recipient address and Original-Envelope-ID (if present), in the
+ resulting foreign delivery status report.
+
+ When reporting delivery failures, if the diagnostic-type subfield of
+ the Diagnostic-Code field indicates that the original diagnostic code
+ is understood by the destination environment, the information from
+ the Diagnostic-Code field should be used. Failing that, the
+ information in the Status field should be mapped into the closest
+ available diagnostic code used in the destination environment.
+
+ If it is possible to tunnel a DSN through the destination
+ environment, the gateway specification may define a means of
+ preserving the DSN information in the delivery status reports used by
+ that environment.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 29]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+7. Appendix - Guidelines for use of DSNs by mailing list exploders
+
+ NOTE: This section pertains only to the use of DSNs by "mailing
+ lists" as defined in [4], section 7.2.7.
+
+ DSNs are designed to be used by mailing list exploders to allow them
+ to detect and automatically delete recipients for whom mail delivery
+ fails repeatedly.
+
+ When forwarding a message to list subscribers, the mailing list
+ exploder should always set the envelope return address (e.g. SMTP
+ MAIL FROM address) to point to a special address which is set up to
+ received nondelivery reports. A "smart" mailing list exploder can
+ therefore intercept such nondelivery reports, and if they are in the
+ DSN format, automatically examine them to determine for which
+ recipients a message delivery failed or was delayed.
+
+ The Original-Recipient field should be used if available, since it
+ should exactly match the subscriber address known to the list. If
+ the Original-Recipient field is not available, the recipient field
+ may resemble the list subscriber address. Often, however, the list
+ subscriber will have forwarded his mail to a different address, or
+ the address may be subject to some re-writing, so heuristics may be
+ required to successfully match an address from the recipient field.
+ Care is needed in this case to minimize the possibility of false
+ matches.
+
+ The reason for delivery failure can be obtained from the Status and
+ Action fields, and from the Diagnostic-Code field (if the status-type
+ is recognized). Reports for recipients with action values other than
+ "failed" can generally be ignored; in particular, subscribers should
+ not be removed from a list due to "delayed" reports.
+
+ In general, almost any failure status code (even a "permanent" one)
+ can result from a temporary condition. It is therefore recommended
+ that a list exploder not delete a subscriber based on any single
+ failure DSN (regardless of the status code), but only on the
+ persistence of delivery failure over a period of time.
+
+ However, some kinds of failures are less likely than others to have
+ been caused by temporary conditions, and some kinds of failures are
+ more likely to be noticed and corrected quickly than others. Once
+ more precise status codes are defined, it may be useful to
+ differentiate between the status codes when deciding whether to
+ delete a subscriber. For example, on a list with a high message
+ volume, it might be desirable to temporarily suspend delivery to a
+ recipient address which causes repeated "temporary" failures, rather
+ than simply deleting the recipient. The duration of the suspension
+
+
+
+Moore & Vaudreuil Standards Track [Page 30]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ might depend on the type of error. On the other hand, a "user
+ unknown" error which persisted for several days could be considered a
+ reliable indication that address were no longer valid.
+
+8. Appendix - IANA registration forms for DSN types
+
+ The forms below are for use when registering a new address-type,
+ diagnostic-type, or MTA-name-type with the Internet Assigned Numbers
+ Authority (IANA). Each piece of information requested by a
+ registration form may be satisfied either by providing the
+ information on the form itself, or by including a reference to a
+ published, publicly available specification which includes the
+ necessary information. IANA MAY reject DSN type registrations
+ because of incomplete registration forms, imprecise specifications,
+ or inappropriate type names.
+
+ To register a DSN type, complete the applicable form below and send
+ it via Internet electronic mail to <IANA@IANA.ORG>.
+
+8.1 IANA registration form for address-type
+
+ A registration for a DSN address-type MUST include the following
+ information:
+
+(a) The proposed address-type name.
+
+(b) The syntax for mailbox addresses of this type, specified using BNF,
+ regular expressions, ASN.1, or other non-ambiguous language.
+
+(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.
+
+(d) [optional] A specification for how addresses of this type are to be
+ translated to and from Internet electronic mail addresses.
+
+8.2 IANA registration form for diagnostic-type
+
+ A registration for a DSN address-type MUST include the following
+ information:
+
+(a) The proposed diagnostic-type name.
+
+(b) A description of the syntax to be used for expressing diagnostic
+ codes of this type as graphic characters from the US-ASCII
+ repertoire.
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 31]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+(c) A list of valid diagnostic codes of this type and the meaning of
+ each code.
+
+(d) [optional] A specification for mapping from diagnostic codes of this
+ type to DSN status codes (as defined in [5]).
+
+8.3 IANA registration form for MTA-name-type
+
+ A registration for a DSN MTA-name-type must include the following
+ information:
+
+(a) The proposed MTA-name-type name.
+
+(b) A description of the syntax of MTA names of this type, using BNF,
+ regular expressions, ASN.1, or other non-ambiguous language.
+
+(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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 32]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+9. Appendix - Examples
+
+ NOTE: These examples are provided as illustration only, and are not
+ considered part of the DSN protocol specification. If an example
+ conflicts with the protocol definition above, the example is wrong.
+
+ Likewise, the use of *-type subfield names or extension fields in
+ these examples is not to be construed as a definition for those type
+ names or extension fields.
+
+ These examples were manually translated from bounced messages using
+ whatever information was available.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 33]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+9.1 This is a simple DSN issued after repeated attempts
+ to deliver a message failed. In this case, the DSN is
+ issued by the same MTA from which the message was originated.
+
+
+ Date: Thu, 7 Jul 1994 17:16:05 -0400
+ From: Mail Delivery Subsystem <MAILER-DAEMON@CS.UTK.EDU>
+ Message-Id: <199407072116.RAA14128@CS.UTK.EDU>
+ Subject: Returned mail: Cannot send message for 5 days
+ To: <owner-info-mime@cs.utk.edu>
+ MIME-Version: 1.0
+ Content-Type: multipart/report; report-type=delivery-status;
+ boundary="RAA14128.773615765/CS.UTK.EDU"
+
+ --RAA14128.773615765/CS.UTK.EDU
+
+ The original message was received at Sat, 2 Jul 1994 17:10:28 -0400
+ from root@localhost
+
+ ----- The following addresses had delivery problems -----
+ <louisl@larry.slip.umd.edu> (unrecoverable error)
+
+ ----- Transcript of session follows -----
+ <louisl@larry.slip.umd.edu>... Deferred: Connection timed out
+ with larry.slip.umd.edu.
+ Message could not be delivered for 5 days
+ Message will be deleted from queue
+
+ --RAA14128.773615765/CS.UTK.EDU
+ content-type: message/delivery-status
+
+ Reporting-MTA: dns; cs.utk.edu
+
+ Original-Recipient: rfc822;louisl@larry.slip.umd.edu
+ Final-Recipient: rfc822;louisl@larry.slip.umd.edu
+ Action: failed
+ Status: 4.0.0
+ Diagnostic-Code: smtp; 426 connection timed out
+ Last-Attempt-Date: Thu, 7 Jul 1994 17:15:49 -0400
+
+ --RAA14128.773615765/CS.UTK.EDU
+ content-type: message/rfc822
+
+ [original message goes here]
+ --RAA14128.773615765/CS.UTK.EDU--
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 34]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+9.2 This is another DSN issued by the sender's MTA, which
+ contains details of multiple delivery attempts. Some of
+ these were detected locally, and others by a remote MTA.
+
+
+ Date: Fri, 8 Jul 1994 09:21:47 -0400
+ From: Mail Delivery Subsystem <MAILER-DAEMON@CS.UTK.EDU>
+ Subject: Returned mail: User unknown
+ To: <owner-ups-mib@CS.UTK.EDU>
+ MIME-Version: 1.0
+ Content-Type: multipart/report; report-type=delivery-status;
+ boundary="JAA13167.773673707/CS.UTK.EDU"
+
+ --JAA13167.773673707/CS.UTK.EDU
+ content-type: text/plain; charset=us-ascii
+
+ ----- The following addresses had delivery problems -----
+ <arathib@vnet.ibm.com> (unrecoverable error)
+ <wsnell@sdcc13.ucsd.edu> (unrecoverable error)
+
+ --JAA13167.773673707/CS.UTK.EDU
+ content-type: message/delivery-status
+
+ Reporting-MTA: dns; cs.utk.edu
+
+ Original-Recipient: rfc822;arathib@vnet.ibm.com
+ Final-Recipient: rfc822;arathib@vnet.ibm.com
+ Action: failed
+ Status: 5.0.0 (permanent failure)
+ Diagnostic-Code: smtp;
+ 550 'arathib@vnet.IBM.COM' is not a registered gateway user
+ Remote-MTA: dns; vnet.ibm.com
+
+ Original-Recipient: rfc822;johnh@hpnjld.njd.hp.com
+ Final-Recipient: rfc822;johnh@hpnjld.njd.hp.com
+ Action: delayed
+ Status: 4.0.0 (hpnjld.njd.jp.com: host name lookup failure)
+
+ Original-Recipient: rfc822;wsnell@sdcc13.ucsd.edu
+ Final-Recipient: rfc822;wsnell@sdcc13.ucsd.edu
+ Action: failed
+ Status: 5.0.0
+ Diagnostic-Code: smtp; 550 user unknown
+ Remote-MTA: dns; sdcc13.ucsd.edu
+
+ --JAA13167.773673707/CS.UTK.EDU
+ content-type: message/rfc822
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 35]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ [original message goes here]
+ --JAA13167.773673707/CS.UTK.EDU--
+
+
+9.3 A delivery report generated by Message Router (MAILBUS) and
+ gatewayed by PMDF_MR to a DSN. In this case the gateway did not
+ have sufficient information to supply an original-recipient address.
+
+
+
+ Disclose-recipients: prohibited
+ Date: Fri, 08 Jul 1994 09:21:25 -0400 (EDT)
+ From: Message Router Submission Agent <AMMGR@corp.timeplex.com>
+ Subject: Status of : Re: Battery current sense
+ To: owner-ups-mib@CS.UTK.EDU
+ Message-id: <01HEGJ0WNBY28Y95LN@mr.timeplex.com>
+ MIME-version: 1.0
+ content-type: multipart/report; report-type=delivery-status;
+ boundary="84229080704991.122306.SYS30"
+
+ --84229080704991.122306.SYS30
+ content-type: text/plain
+
+ Invalid address - nair_s
+ %DIR-E-NODIRMTCH, No matching Directory Entry found
+
+ --84229080704991.122306.SYS30
+ content-type: message/delivery-status
+
+ Reporting-MTA: mailbus; SYS30
+
+ Final-Recipient: unknown; nair_s
+ Status: 5.0.0 (unknown permanent failure)
+ Action: failed
+
+ --84229080704991.122306.SYS30--
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 36]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+9.4 A delay report from a multiprotocol MTA. Note that there is no
+ returned content, so no third body part appears in the DSN.
+
+ From: <postmaster@nsfnet-relay.ac.uk>
+ Message-Id: <199407092338.TAA23293@CS.UTK.EDU>
+ Received: from nsfnet-relay.ac.uk by sun2.nsfnet-relay.ac.uk
+ id <g.12954-0@sun2.nsfnet-relay.ac.uk>;
+ Sun, 10 Jul 1994 00:36:51 +0100
+ To: owner-info-mime@cs.utk.edu
+ Date: Sun, 10 Jul 1994 00:36:51 +0100
+ Subject: WARNING: message delayed at "nsfnet-relay.ac.uk"
+ content-type: multipart/report; report-type=delivery-status;
+ boundary=foobar
+
+ --foobar
+ content-type: text/plain
+
+ The following message:
+
+ UA-ID: Reliable PC (...
+ Q-ID: sun2.nsf:77/msg.11820-0
+
+ has not been delivered to the intended recipient:
+
+ thomas@de-montfort.ac.uk
+
+ despite repeated delivery attempts over the past 24 hours.
+
+ The usual cause of this problem is that the remote system is
+ temporarily unavailable.
+
+ Delivery will continue to be attempted up to a total elapsed
+ time of 168 hours, ie 7 days.
+
+ You will be informed if delivery proves to be impossible
+ within this time.
+
+ Please quote the Q-ID in any queries regarding this mail.
+
+ --foobar
+ content-type: message/delivery-status
+
+ Reporting-MTA: dns; sun2.nsfnet-relay.ac.uk
+
+ Final-Recipient: rfc822;thomas@de-montfort.ac.uk
+ Status: 4.0.0 (unknown temporary failure)
+ Action: delayed
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 37]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+ --foobar--
+
+10. Acknowledgments
+
+ The authors wish to thank the following people for their reviews of
+ earlier drafts of this document and their suggestions for
+ improvement: Eric Allman, Harald Alvestrand, Allan Cargille, Jim
+ Conklin, Peter Cowen, Dave Crocker, Roger Fajman, Ned Freed, Marko
+ Kaittola, Steve Kille, John Klensin, John Gardiner Myers, Mark
+ Nahabedian, Julian Onions, Jacob Palme, Jean Charles Roy, and Gregory
+ Sheehan.
+
+11. References
+
+[1] Borenstein, N., Freed, N. "Multipurpose Internet Mail Extensions",
+ RFC 1521, Bellcore, Innosoft, September 1993.
+
+[2] Vaudreuil, G., "The Multipart/Report Content Type for the Reporting
+ of Mail System Administrative Messages", RFC 1892, Octal Network
+ Services, January 1996.
+
+[3] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
+ USC/Information Sciences Institute, August 1982.
+
+[4] Moore, K., "SMTP Service Extension for Delivery Status
+ Notifications", RFC 1891, University of Tennessee, January 1996.
+
+[5] Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 1893, Octal
+ Network Services, January 1996.
+
+[6] Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, UDEL, August 1982.
+
+[7] Moore, K. "MIME (Multipurpose Internet Mail Extensions) Part Two:
+ Message Header Extensions for Non-Ascii Text", RFC 1522, University
+ of Tennessee, September 1993.
+
+[8] Braden, R. (ed.) "Requirements for Internet Hosts - Application and
+ Support", STD 3, RFC 1123, USC/Information Sciences Institute,
+ October 1989.
+
+[9] Partridge, C., "Duplicate Messages and SMTP", RFC 1047, BBN,
+ February 1988.
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 38]
+
+RFC 1894 Delivery Status Notifications January 1996
+
+
+11. Authors' Addresses
+
+ Keith Moore
+ University of Tennessee
+ 107 Ayres Hall
+ Knoxville, TN 37996-1301
+ USA
+
+ EMail: moore@cs.utk.edu
+ Phone: +1 615 974 3126
+ Fax: +1 615 974 8296
+
+
+ Gregory M. Vaudreuil
+ Octel Network Services
+ 17080 Dallas Parkway
+ Dallas, TX 75248-1905
+ USA
+
+ EMail: Greg.Vaudreuil@Octel.Com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore & Vaudreuil Standards Track [Page 39]
+