Receipt Working Group Roger Fajman Internet Draft National Institutes of Health Expires: 11 October 1997 6 April 1997 An Extensible Message Format for Message Disposition Notifications draft-ietf-receipt-mdn-03.txt Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as refer- ence material or to cite them other than as "work in progress." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Any questions, comments, and reports of defects or ambiguities in this specification may be sent to the mailing list for the RECEIPT working group of the IETF, using the address . Requests to subscribe to the mailing list should be addressed to . 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 inter- operability. Abstract This memo defines a MIME content-type that may be used by a mail user agent (UA) or electronic mail gateway to report the disposition of a message after it has been sucessfully delivered to a recipient. This content-type is intended to be machine-processable. Additional message headers are also defined to permit Message Disposition Notifications (MDNs) to be requested by the sender of a message. The purpose is to extend Internet Mail to support functionality often found in other messaging systems, such as X.400 and the proprietary "LAN-based" systems, and often referred to as "read receipts," "acknowledgements," or "receipt notifications." The intention is to do this while respecting the privacy concerns that Fajman Expires 11 October 1997 Page 1 Message Disposition Notifications 6 April 1997 Internet Draft have often been expressed when such functions have been discussed in the past. Because many messages are sent between the Internet and other messaging systems (such as X.400 or the proprietary "LAN-based" systems), the MDN 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, in addition to those normally used in Internet Mail. Additional | attributes may also be defined to support "tunneling" of foreign notifications through Internet Mail. | 1. Introduction This memo defines a MIME [5] content-type for message disposition | notifications (MDNs). An MDN can be used to notify the sender of a message of any of several conditions that may occur after successful delivery, such as display of the message contents, printing of the message, deletion (without display) of the message, or the recipient's refusal to provide MDNs. The "message/disposition-notification" content-type defined herein is intended for use within the framework of the "multipart/report" content type defined in RFC 1892 [7]. | This memo defines the format of the notifications and the RFC 822 headers used to request them. 1.1 Purposes The MDNs defined in this memo are expected to serve several pur- poses: (a) Inform human beings of the disposition of messages after succcessful delivery, in a manner which is largely independent of human language; (b) Allow mail user agents to keep track of the disposition of messages sent, by associating returned MDNs with earlier message transmissions; (c) Convey disposition notification requests and disposition notifications between Internet Mail and "foreign" mail systems via a gateway; (d) 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; Fajman Expires 11 October 1997 Page 2 Message Disposition Notifications 6 April 1997 Internet Draft (e) Allow language-independent, yet reasonably precise, indications of the disposition of a message to be delivered. 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 an MDN with the message that was sent and the original recipient address for which the MDN is issued (if such information is available), even if the message was forwarded to another recipient address. (c) It must also be able to describe the disposition of a message independent of any particular human language or of the ter- minology of any particular mail system. (d) The specification must be extensible in order to accomodate future requirements. 2. Requesting Message Disposition Notifications Message disposition notifications are requested by including a Disposition-notification-to header in the message. Further informa- tion to be used by the recipient's UA in generating the MDN may be provided by including Original-recipient and/or Disposition- notification-options headers in the message. 2.1 The Disposition-Notification-To Header A request that the receiving user agent issue message disposition notifications is made by placing a Disposition-notification-to header into the message. The syntax of the header, using the ABNF | of RFC 822 [2], is | mdn-request-header = "Disposition-notification-to" ":" 1#mailbox The address token is as specified in RFC 822 [2]. | The presence of a Disposition-notification-to header in a message is merely a request for an MDN. The recipients' user agents are always free to silently ignore such a request. Alternatively, an explicit Fajman Expires 11 October 1997 Page 3 Message Disposition Notifications 6 April 1997 Internet Draft denial of the request for information about the disposition of the message may be sent using the "denied" disposition in an MDN. | One and only one MDN may be issued on behalf of each particular recipient by their user agent. That is, once an MDN has been issued on behalf of a recipient, no further MDNs may be issued on behalf of that recipient, even if another disposition is performed on the message. However, if a message is forwarded, a "processed" MDN may | been issued for the recipient doing the forwarding and the recipient | of the forwarded message may also cause an MDN to be generated. While Internet standards normally do not specify the behavior of user interfaces, it is strongly recommended that the user agent obtain the user's consent before sending an MDN. This consent could be obtained for each message through some sort of prompt or dialog box, or globally through the user's setting of a preference. The user might also indicate globally that MDNs are never to be sent or that a "denied" MDN is always sent in response to a request for an MDN. It is also strongly recommended that MDNs never be sent automati- cally if the address in the Disposition-notification-to header differs from the address in the Return-path header (see RFC 822 [2]). In this case, confirmation from the user should be obtained, | if possible. If obtaining consent is not possible (e.g., because the user is not online at the time), then no MDN should be sent. It is also recommended that confirmation from the user always be obtained (or no MDN sent) if there is no Return-path header in the message, or if there is more than one distinct address in the Disposition-notification-to header. The comparison of the addresses should be done using only the addr-spec (local-part "@" domain) portion, excluding any phrase and route. If the message contains more than one Return-path header, the implementation may pick one to use for the comparison, or treat the situation as a failure of the comparison. The reason for not automatically sending an MDN if the comparison fails or more than one address is specified is to reduce the pos- | sibilities for mail loops and use of MDNs for mail bombing. | A message that contains a Disposition-notification-to header SHOULD also contain a Message-ID header as specified in RFC 822 [2]. This | will permit automatic correlation of MDNs with original messages by user agents. If it is desired to request message disposition notifications for some recipients and not others, two copies of the message should be sent, one with an Disposition-notification-to header and one without. Many of the other headers of the message (e.g., To, cc) | Fajman Expires 11 October 1997 Page 4 Message Disposition Notifications 6 April 1997 Internet Draft will be the same in both copies. The recipients in the respective | message envelopes determine for whom message disposition notifica- tions are requested and for whom they are not. If desired, the Message-ID header may be the same in both copies of the message. Note that there are other reasons (e.g., bcc) to send multiple | copies of a message with slightly different headers, so that may | result in more than two copies of a message being sent, some with a | Disposition-notification to header and some without. | 2.2 The Disposition-Notification-Options Header Future extensions to this specification may require that information | be supplied to the recipient's UA for additional control over how and what MDNs are generated. The Disposition-notification-options header provides an extensible mechanism for such information. The | syntax of this header, using the ABNF of RFC 822 [2], is | Disposition-notification-options = "Disposition-notification-options" ":" disposition-notification-parameters Disposition-notification-parameters = parameter *(";" parameter) parameter = attribute "=" importance "," 1#value importance = "R" / "O" The definitions of attribute and value are as in the definition of the Content-type header in RFC 2046 [5]. | An importance of R indicates that interpretation of the parameter is required for proper generation of an MDN in response to this re- quest. If a UA does not understand the meaning of the parameter, it MUST not generate an MDN in response to the request. An importance of O (the letter) indicates that a UA that does not understand the meaning of this parameter MAY generate an MDN in response anyway, ignoring the value of the parameter. No parameters are defined in this specification. Parameters may be defined in the future by later revisions or extensions to this specification. Parameter attribute names beginning with "X-" will never be defined as standard names; such names are reserved for experimental use. MDN parameter names NOT beginning with "X-" MUST be registered with the Internet Assigned Numbers Authority (IANA) and described in a standards-track RFC or an experimental RFC | approved by the IESG. | If a required parameter is not understood or contains some sort of | syntax error, the receiving UA SHOULD issue an MDN with a disposi- | Fajman Expires 11 October 1997 Page 5 Message Disposition Notifications 6 April 1997 Internet Draft tion type of "failure" and include a Failure field that further | describes the problem. MDNs with the a disposition type of | "failure" and a "Failure" field MAY also be generated when other | types of syntax errors in the parameters of the Disposition- | notificatiob-options header. | 2.3 The Original-Recipient Header Since electronic mail addresses may be rewritten while the message is in transit, it is useful for the original recipient address to be made available by the delivering MTA. The MTA may be able to obtain this information from the ORCPT parameter of the SMTP MAIL FROM command, as defined in RFC 1891 [8]. If this information is avail- | able, the delivering MTA SHOULD insert an Original-recipient header into the message and delete any other Original-recipient headers | that occur in the message. The syntax of this header, using the | ABNF of RFC 822 [2], is as follows | original-recipient-header = "Original-Recipient" ":" address-type ";" generic-address The address-type and generic-address token are as as specified in the description of the Original-recipient field in section 3.2.3. The purpose of carrying the original recipient information and returning it in the MDN is to permit automatic correlation of MDNs with the original message on a per-recipient basis. | | 2.4 Use with the Message/Partial Content Type | | The use of the headers Disposition-notification-to, Disposition- | notification-options, and Original-Recipient with the MIME | Message/partial content type (RFC #### [#]) requires further defini- | tion. If these headers occur along with the other headers of a | message/partial fragment message, they pertain to an MDN to be | generated for the fragment. If these headers occur in the headers | of the "inner" or "enclosed" message (using the terms of RFC #### | [#]), they pertain to an MDN to be generated for the reassembled | message. Section 7.2.2.1 of RFC #### [#]) is amended to specify | that, in addition to the headers specified there, the three headers | described in this specification are to be appended, in order, to the | headers of the reassembled message. Any occurances of the three | headers defined here in the headers of the initial enclosing message | must not be copied to the reassembled message. | Fajman Expires 11 October 1997 Page 6 Message Disposition Notifications 6 April 1997 Internet Draft 3. Format of a Message Disposition Notification A message disposition notification is a MIME message with a top- level content-type of multipart/report (defined in RFC 1892 [7]). | When a multipart/report content is used to transmit an MDN: (a) The report-type parameter of the multipart/report content is "disposition-notification". (b) The first component of the multipart/report contains a human- readable explanation of the MDN, as described in RFC 1892 [7]. | (c) The second component of the multipart/report is of content-type message/disposition-notification, described in section 3.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. NOTE: For message dispostion notifications gatewayed from foreign systems, the headers of the original message may not be available. In this case the third component of the MDN 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 and date fields from the original message. The MDN MUST be addressed (in both the message header and the transport envelope) to the address from the Disposition- notification-to header which from the original message for which the MDN was generated. The From field of the message header of the MDN MUST contain the address of the person on whose behalf the message disposition notification is being issued. The envelope sender address (i.e., SMTP MAIL FROM) of the MDN should be null (<>), specifying that no Delivery Status Notification messages or other messages indicating successful or unsuccessful delivery are to be sent in response to an MDN. A message disposition notification MUST NOT itself request an MDN. That is, it MUST NOT contain a Disposition-notification-to header. The Message-ID header (if present) for an MDN MUST be different from the Message-ID of the message for which the MDN is being issued. A particular MDN describes the disposition of exactly one message for exactly one recipient. Multiple MDNs may be generated as a Fajman Expires 11 October 1997 Page 7 Message Disposition Notifications 6 April 1997 Internet Draft result of one message submission, one per recipient. However, due to various circumstances, MDNs may not be generated for some recipients for which MDNs were requested. 3.1 The message/disposition-notification content-type The message/disposition-notification content-type is defined as follows: MIME type name: message MIME subtype name: disposition-notification 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 6 of this memo|. The message/disposition-notification report type for use in the multipart/report is "disposition-notification". The body of a message/delivery-status consists of one or more "fields" formatted according to the ABNF of RFC 822 header "fields" (see [2]). Using the ABNF of RFC 822, the syntax of the | message/disposition-notification content is as follows: disposition-notification-content = [ reporting-ua-field CRLF ] [ mdn-gateway-field CRLF ] [ original-recipient-field CRLF ] final-recipient-field CRLF [ original-message-id-field CRLF ] disposition-field CRLF *( failure-field CRLF ) | *( error-field CRLF ) | *( warning-field CRLF ) | *( extension-field CRLF ) 3.1.1 General conventions for fields Since these fields are defined according to the rules of RFC 822 [2], the same conventions for continuation lines and comments apply. | Notification fields may be continued onto multiple lines by begin- ning 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 notification fields may use the "encoded-word" construct defined in RFC 2047 [6]. | Fajman Expires 11 October 1997 Page 8 Message Disposition Notifications 6 April 1997 Internet Draft 3.1.2 "*-type" subfields Several fields consist of a "-type" subfield, followed by a semi- colon, followed by "*text". For these fields, the keyword used in the address-type or MTA-type subfield indicates the expected format of the address or MTA-name that follows. 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) An "MTA-name-type" specifies the format of a mail transfer agent 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 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-type and mta-name-type values, along with descriptions of the meanings of each, or a reference to a one or more specifications that provide such descriptions. (The "rfc822" address-type is defined in RFC 1891 [8].) Registration forms for | address-type and mta-name-type appear in RFC 1894 [9]. | IANA will not accept registrations for any address-type name that begins with "X-". These type names are reserved for experimental use. 3.1.3 Lexical tokens imported from RFC 822 The following lexical tokens, defined in RFC 822 [2], are used in | the ABNF grammar for MDNs: addr-spec, atom, CHAR, comment, CR, CRLF, DIGIT, LF, linear-white-space, SPACE, text. The date-time lexical token is defined in RFC 1123 [3]. | Fajman Expires 11 October 1997 Page 9 Message Disposition Notifications 6 April 1997 Internet Draft 3.2 Message/disposition-notification Fields 3.2.1 The Reporting-UA field reporting-ua-field = "Reporting-UA" ":" ua-name ua-name = *text The Reporting-UA field is defined as follows: A MDN describes the disposition of a message after it has been delivered a recipient. In all cases, the Reporting-UA is the UA that performed the disposition described in the MDN. This field is optional, but recommended. For Internet Mail user agents, it is recommended that this field contain both the DNS name of the par- ticular instance of the UA that generated the MDN and the name of the product. For example, Reporting-UA: rogers-mac.dcrt.nih.gov (Foomail 97.1) 3.2.2 The MDN-Gateway field The MDN-Gateway field indicates the name of the gateway or MTA that translated a foreign (non-Internet) message disposition notification into this MDN. This field MUST appear in any MDN which was trans- lated by a gateway from a foreign system into MDN format, and MUST NOT appear otherwise. mdn-gateway-field = "MDN-Gateway" ":" mta-name-type ";" mta-name 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. 3.2.3 Original-Recipient field The Original-Recipient field indicates the original recipient address as specified by the sender of the message for which the MDN is being issued. For Internet Mail messages the value of the Original-Recipient field is obtained from the Original-Recipient header from the message for which the MDN is being generated. If there is no Original-Recipient header in the message, then the Original-Recipient field MUST be omitted. If there is an Original- Recipient header in the original message (or original recipient information is available some other way), then the Original- Recipient field must be supplied. Fajman Expires 11 October 1997 Page 10 Message Disposition Notifications 6 April 1997 Internet Draft 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 RFC 822 [2]. The value | "unknown" should be used if the Reporting UA cannot determine the type of the original recipient address from the message envelope. This address is the same as that provided by the sender and can be used to automatically correlate MDN reports with original messages on a per recipient basis. 3.2.4 Final-Recipient field The Final-Recipient field indicates the recipient for which the MDN is being issued. This field MUST be present. 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 From header) as it was when the message was accepted by the UA. 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 MDN with a par- ticular message recipient. 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". Since mailbox addresses (including those used in the Internet) may be case sensitive, the case of alphabetic characters in the address MUST be preserved. Fajman Expires 11 October 1997 Page 11 Message Disposition Notifications 6 April 1997 Internet Draft 3.2.5 Original-Message-ID field The Original-Message-ID field indicates the message-ID of the message for which the MDN is being issued. It is obtained from the Message-ID header of the message for which the MDN is issued. This field MUST be present if the original message contained a Message-ID header. The syntax of the field is original-message-id-field = "Original-Message-ID" ":" msg-id The msg-id token is as specified in RFC 822 [2]. | 3.2.6 Disposition field The Disposition field indicates the action performed by the Reporting-UA on behalf of the user. This field MUST be present. The syntax for the Disposition field is: | disposition-field = "Disposition" ":" disposition-type | 1*( "," dispostion-modifier ) | disposition-type = "displayed" | / "processed" | / "deleted" | / "denied" | / "failed" | | disposition-modifier = ( "useraction" / "autoaction" ) | / ( "usersent" / "autosent" ) | / ( "error" / "warning" ) | / ( "obsoleted" / "expired" / "terminated" | ) | / disposition-modifier-extension | disposition-modifier-extension = atom | The disposition-type and disposition-modifier may be spelled in any | combination of upper and lower case characters. The following | disposition-types are defined: | "displayed" The message has been displayed by the UA to someone | reading the recipient's mailbox. There is no | guarantee that the content has been read or under- stood. | "processed" The message has been processed in some manner (e.g., printed, faxed, forwarded) without being displayed to | Fajman Expires 11 October 1997 Page 12 Message Disposition Notifications 6 April 1997 Internet Draft the user. The user may or may not see the message later. | "deleted" The message has been deleted. The recipient may or | may not have seen the message. The recipient might "undelete" the message at a later time and read the message. | "denied" The recipient does not wish the sender to be informed | of the message's disposition. A UA may also | siliently ignore message disposition requests in this | situation. | | "failed" A failure occurred that prevented the proper gener- | ation of an MDN. More information about the cause of | the failure may be contained in a Failure field. The | "failed" disposition type is not to be used for the | situation in which there is is some problem in | processing the message other than interpreting the | request for an MDN. The "processed" or other dis- | position type with appropriate disposition modifiers | is to be used in such situations. | | The following disposition modifiers are defined: | | "useraction" The disposition described by the | disposition type was a result of | an explicit instruction by the | user rather than some sort of | automatically performed action. | | "autoaction" The disposition described by the | disposition type was a result of | an automatic action, rather than | an explicit instruction by the | user for this message. | | "Useraction" and "autoaction" are | mutually exclusive. One or the | other must be specified. | | "usersent" The user explicity gave permis- | sion for this particular MDN to | be sent. "Usersent" is meaning- | ful with "useraction", but not | with "autoaction". | | "autosent" The MDN was sent because the UA | had previously been configured to | do so automatically. "Autosent" | Fajman Expires 11 October 1997 Page 13 Message Disposition Notifications 6 April 1997 Internet Draft is meaningful with both "userac- | tion" and "autoaction". | | "Usersent" and "autosent" are | mutually exclusive. One or the | other must be specified. | | "error" An error of some sort occurred | that prevented successful | processing of the message. | Further information is contained | in an Error field. | | "warning" The message was successfully | processed but some sort of | exceptional condition occurred. | Further information is contained | in a Warning field. | | "obsoleted" The message has been automati- cally rendered obsolete by another message received. The recipient may still access and read the message later. "expired" The message has reached its expiration date and has been automatically removed from the recipient's mailbox. "terminated" The recipient's mailbox has been terminated and all message in it automatically removed. | "Obsoleted", "expired", and | "terminated" are to be used with | the "deleted" disposition type | and the "autoaction" and | "autosent" disposition modifiers. | | disposition-modifier-extension Additional disposition modifiers | may be defined in the future by | later revisions or extensions to this specification. Disposition value names beginning with "X-" will never be defined as standard values; such names are reserved for experimental use. MDN disposition value names NOT beginning with "X-" MUST be Fajman Expires 11 October 1997 Page 14 Message Disposition Notifications 6 April 1997 Internet Draft registered with the Internet Assigned Numbers Authority (IANA) and described in a standards- | track RFC or an experimental RFC | approved by the IESG. MDNs with | disposition value names not understood by the receiving UA MAY be silently ignored or placed in the user's mailbox without special interpretation. They MUST not cause any error message to be sent to the sender of the MDN. | If an UA developer does not wish | to register the meanings of such | disposition modifier extensions, | "X-" modifiers may be used for | this purpose. To avoid name | collisions, the name of the UA | implementation should follow the | "X-", (e.g. "X-Foomail-fratzed"). | It is not required that a UA be able to generate all of the possible values of the Disposition field. One and only one MDN may be issued on behalf of each particular recipient by their user agent. That is, once an MDN has been issued on behalf of a recipient, no further MDNs may be issued on behalf of that recipient, even if another disposition is performed on the message. However, if a message is forwarded, a "processed" MDN may | been issued for the recipient doing the forwarding and the recipient | of the forwarded message may also cause an MDN to be generated. | | 3.2.7 Failure, Error and Warning fields | | The Failure, Error and Warning fields are used to supply additional | information in the form of text messages when the "failure" disposi- | tion type, "error" disposition modifier, and/or the "warning" | disposition modifer appear. The syntax is | | failure-field = "Failure" ":" *text | | error-field = "Error" ":" *text | | warning-field = "Warning" ":" *text | Fajman Expires 11 October 1997 Page 15 Message Disposition Notifications 6 April 1997 Internet Draft 3.3 Extension fields Additional MDN fields may be defined in the future by later revi- sions 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. MDN field names NOT beginning with "X-" MUST be registered with the Internet Assigned Numbers Authority (IANA) and described in a standards-track RFC or | an experimental RFC approved by the IESG. | Extension MDN fields may be defined for the following reasons: (a) To allow additional information from foreign disposition reports to be tunneled through Internet MDNs. The names of such MDN fields should begin with an indication of the foreign environment name (e.g. X400-Physical-Forwarding-Address). (b) To allow transmission of diagnostic information which is specific to a particular user agent (UA). The names of such MDN fields should begin with an indication of the UA implemen- tation which produced the MDN. (e.g. Foomail-information). If an UA 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 UA implementation should follow the "X-", (e.g. "X-Foomail-Log-ID"). 4. Timeline of events The following timeline shows when various events in the processing of a message and generation of MDNs take place: --- User composes message | |-- User tells UA to send message | |-- UA passes message to MTA (original recipient information | passed along) | |-- MTA sends message to next MTA . . . |-- Final MTA receives message | |-- Final MTA delivers message to UA (possibily generating DSN) | |-- UA performs automatic processing and generates corresponding | MDNs ("processed", "deleted", "denied" or "failed" disposition | Fajman Expires 11 October 1997 Page 16 Message Disposition Notifications 6 April 1997 Internet Draft | type with "autoaction" and "autosent" disposition modifiers) | | |-- UA displays list of messages to user | |-- User selects a message and requests that some action be | performed on it. | |-- UA performs requested action and, with user's permission, | sends appropriate MDN ("displayed", "processed", "deleted", | | "denied" or "failure" disposition type with "useraction" and | | "usersent" or "autosent" disposition modifiers). | | |-- User possibly performs other actions on message, but no | further MDNs are generated. | 5. Conformance and Usage Requirements A UA or gateway conforms to this specification if it generates MDNs according to the protocol defined in this memo. It is not necessary to be able to generate all of the possible values of the Disposition field. UAs and gateways MUST NOT generate the Original-Recipient field of an MDN unless the mail protocols provide 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 RFC 1891 [8] permits such information to be carried in the envelope if | it is available. The Original-Recipient header defined in this document provides a way for the MTA to pass the original recipient address to the UA. Each sender-specified recipient address may result in more than one MDN. If an MDN is requested for a recipient that is forwarded to multiple recipients of an "alias" (as defined in RFC 1891 [8], | section 7.2.7), each of the recipients may issue an MDN. Successful distribution of a message to a mailing list exploder may be considered final disposition of the message. A mailing list exploder may issue an MDN with a disposition type of "processed" and | disposition modifiers of "autoaction" and "autosent" indicating that | the message has been forwarded to the list. In this case, the | request for MDNs is not propogated to the members of the list. Alternatively, the mailing list exploder may issue no MDN and propogate the request for MDNs to all members of the list. The later behavior is not recommended for any but small, closely knit lists, as it might cause large numbers of MDNs to be generated and may cause confidential subscribers to the list to be revealed. It is also permissible for the mailing list exploder to direct MDNs to Fajman Expires 11 October 1997 Page 17 Message Disposition Notifications 6 April 1997 Internet Draft itself, correlate them, and produce a report to the original sender of the message. This specification places no restrictions on the processing of MDNs received by user agents or mailing lists. 6. Security considerations The following security considerations apply when using MDNs: 6.1 Forgery MDNs 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 MDNs should take appropriate precautions to minimize the potential damage from denial-of-service attacks. Security threats related to forged MDNs include the sending of: (a) A falsified disposition notification when the indicated dis- position of the message has not actually ocurred, (b) Unsolicited MDNs 6.2 Confidentiality Another dimension of security is confidentiality. There may be cases in which a message recipient does not wish the disposition of messages addressed to him to be known or is concerned that the sending of MDNs may reveal other confidential information (e.g., when the message was read). In this situation, it is acceptable for the UA to issue "denied" MDNs or to silently ignore requests for | MDNs. If the Disposition-notification-to header is passed on unmodified when a message is distributed to the subscribers of a mailing list, the subscribers to the list may be revealed to the sender of the original message by the generation of MDNs. In general, any optional MDN field may be omitted if the Reporting UA site or user 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 MDNs. Fajman Expires 11 October 1997 Page 18 Message Disposition Notifications 6 April 1997 Internet Draft 6.3 Non-Repudiation Within the framework of today's Internet Mail, the MDNs defined in | this document provide valuable information to the mail user; however, MDNs can not be relied upon as a guarantee that a message was or was not not seen by the recipient. Even if MDNs are not actively forged, they may be lost in transit. The MDN issuing mechanism may be bypassed in some manner by the recipient. Fajman Expires 11 October 1997 Page 19 Message Disposition Notifications 6 April 1997 Internet Draft 7. Appendix - collected grammar NOTE: The following lexical tokens are defined in RFC 822: addr- spec, address, atom, CHAR, comment, CR, CRLF, DIGIT, LF, linear- white-space, SPACE, text. The date-time lexical token is defined in RFC 1123 [3]. | Message headers: mdn-request-header = "Disposition-notification-to" ":" 1#mailbox Disposition-notification-options = "Disposition-notification-options" ":" disposition-notification-parameters Disposition-notification-parameters = parameter *(";" parameter) parameter = attribute "=" importance "," 1#value importance = "R" / "O" original-recipient-header = "Original-Recipient" ":" address-type ";" generic-address Report content: disposition-notification-content = [ reporting-ua-field CRLF ] [ mdn-gateway-field CRLF ] [ original-recipient-field CRLF ] final-recipient-field CRLF [ original-message-id-field CRLF ] disposition-field CRLF *( failure-field CRLF ) | *( error-field CRLF ) | *( warning-field CRLF ) | *( extension-field CRLF ) address-type = atom mta-name-type = atom reporting-ua-field = "Reporting-UA" ":" ua-name ua-name = *text mdn-gateway-field = "MDN-Gateway" ":" mta-name-type ";" mta-name original-recipient-field = "Original-Recipient" ":" address-type ";" generic-address Fajman Expires 11 October 1997 Page 20 Message Disposition Notifications 6 April 1997 Internet Draft generic-address = *text final-recipient-field = "Final-Recipient" ":" address-type ";" generic-address disposition-field = "Disposition" ":" disposition-value | disposition-field = "Disposition" ":" disposition-type | 1*( "," dispostion-modifier ) | | disposition-type = "displayed" | / "processed" | / "deleted" | / "denied" | / "failed" | | disposition-modifier = ( "useraction" / "autoaction" ) | / ( "usersent" / "autosent" ) | / ( "error" / "warning" ) | / ( "obsoleted" / "expired" / "terminated" ) | / disposition-modifier-extension | | disposition-modifier-extension = atom | original-message-id-field = "Original-Message-ID" ":" msg-id subscriber-address = *text extension-field = extension-field-name ":" *text extension-field-name = atom Fajman Expires 11 October 1997 Page 21 Message Disposition Notifications 6 April 1997 Internet Draft 8. Appendix - Guidelines for gatewaying MDNs NOTE: This section provides non-binding recommendations for the construction of mail gateways that wish to provide semi-transparent disposition notifications between the Internet and another electronic mail system. Specific MDN gateway requirements for a particular pair of mail systems may be defined by other documents. 8.1 Gatewaying from other mail systems to MDNs A mail gateway may issue an MDN to convey the contents of a "for- eign" disposition notification over Internet Mail. When there are | appropriate mappings from the foreign notification elements to MDN fields, the information may be transmitted in those MDN fields. Additional information (such as might be needed to tunnel the foreign notification through the Internet) may be defined in exten- sion MDN fields. (Such fields should be given names that identify the foreign mail protocol, e.g. X400-* for X.400 protocol elements) The gateway must attempt to supply reasonable values for the Reporting-UA, Final-Recipient, and Disposition fields. These will normally be obtained by translating the values from the foreign notification into their Internet-style equivalents. However, some loss of information is to be expected. The sender-specified recipient address, and the original message-id, if present in the foreign notification, should be preserved in the Original-Recipient and Original-Message-ID fields. The gateway should also attempt to preserve the "final" recipient address from the foreign system. Whenever possible, foreign protocol elements should be encoded as meaningful printable ASCII strings. For MDNs produced from foreign disposition notifications, the name of the gateway MUST appear in the MDN-Gateway field of the MDN. Fajman Expires 11 October 1997 Page 22 Message Disposition Notifications 6 April 1997 Internet Draft 8.2 Gatewaying from MDNs to other mail systems It may be possible to gateway MDNs from the Internet into a foreign mail system. The primary purpose of such gatewaying is to convey disposition information in a form that is usable by the destination system. A secondary purpose is to allow "tunneling" of MDNs through foreign mail systems, in case the MDN may be gatewayed back into the Internet. In general, the recipient of the MDN (i.e., the sender of the original message) will want to know, for each recipient: the closest available approximation to the original recipient address, and the disposition (displayed, printed, etc.). If possible, the gateway should attempt to preserve the Original- Recipient address and Original-Message-ID (if present), in the resulting foreign disposition report. If it is possible to tunnel an MDN through the destination environ- ment, the gateway specification may define a means of preserving the MDN information in the disposition reports used by that environment. Fajman Expires 11 October 1997 Page 23 Message Disposition Notifications 6 April 1997 Internet Draft 9. Appendix - Examples NOTE: These examples are provided as illustration only, and are not considered part of the MDN 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. | | 9.1 This is an MDN issued after a message has been displayed to the user of an Internet Mail user agent. | Date: Wed, 20 Sep 1995 00:19:00 (EDT) -0400 From: Joe Recipient Message-Id: <199509200019.12345@mega.edu> Subject: Disposition notification To: Jane Sender MIME-Version: 1.0 Content-Type: multipart/report; report-type=disposition-notification; boundary="RAA14128.773615765/mega.edu" --RAA14128.773615765/mega.edu The message sent on 1995 Sep 19 at 13:30:00 (EDT) -0400 to Joe Recipient with subject "First draft of report" has been displayed. This is no guarantee that the message has been read or understood. --RAA14128.773615765/mega.edu content-type: message/disposition-notification Reporting-UA: joes-pc.cs.mega.edu (Foomail 97.1) Original-Recipient: rfc822;Joe_Recipient@mega.edu Final-Recipient: rfc822;Joe_Recipient@mega.edu Original-Message-ID: <199509192301.12345@mega.edu> Disposition: displayed, useraction, usersent | --RAA14128.773615765/mega.edu content-type: message/rfc822 [original message goes here] --RAA14128.773615765/mega.edu-- Fajman Expires 11 October 1997 Page 24 Message Disposition Notifications 6 April 1997 Internet Draft 10. Acknowledgments This document is based on the Delivery Status Notifications docu- | ment, RFC 1894 [9], by Keith Moore and Greg Vaudreuil. Contribu- | tions were made by members of the IETF Receipt Working Group, | including Harald Alverstrand, Ian Bell, Urs Eppenberger, Ned Freed, | Jim Galvin, Carl Hage, Mike Lake, Keith Moore, Paul Overell, Pete | Resnick, Chuck Shih. | [Author's note -- If you would like to be included, let me know and I will add your name.] Fajman Expires 11 October 1997 Page 25 Message Disposition Notifications 6 April 1997 Internet Draft 11. References [1] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821, | USC/Information Sciences Institute, August 1982. | | [2] Crocker, D., "Standard for the Format of ARPA Internet Text | Messages", STD 11, RFC 822, UDEL, August 1982. | | [3] Braden, R. (ed.) "Requirements for Internet Hosts - Application | and Support", RFC 1123, October 1989. | | [4] Borenstein, N., Freed, N. "Multipurpose Internet Mail Exten- | sions (MIME) Part One: Format of Internet Message Bodies", RFC | 12045 Bellcore, Innosoft, April 1996. ##verify## | [5] Borenstein, N., Freed, N. "Multipurpose Internet Mail Exten- | sions (MIME) Part Two: Media Types", RFC 2046, Bellcore, | Innosoft, April 1996. ##verify## | | [6] Moore, K. "Multipurpose Internet Mail Extensions (MIME) Part | Three: Message Header Extensions for Non-Ascii Text", RFC | 2047, University of Tennessee, April 1996. ##verify## | | [7] Vaudreuil, G. "The Multipart/Report Content Type for the | Reporting of Mail System Administrative Messages", RFC 1892, Octel Network Services, January 1996. [8] Moore, K. "SMTP Service Extension for Delivery Status | Notifications", RFC 1891, University of Tennessee, January 1996. [9] Moore, K. and Vaudreuil, G. "An Extensible Format for Delivery | Status Notifications, RFC 1894, University of Tennessee, Octel Network Services, January 1996. Fajman Expires 11 October 1997 Page 26 Message Disposition Notifications 6 April 1997 Internet Draft 12. Author's Address Roger Fajman National Institutes of Health Building 12A, Room 3063 | 12 South Drive MSC 5659 Bethesda, Maryland 20892-5659 USA Email: raf@cu.nih.gov Voice: +1 301 402 4265 Fax: +1 301 480 6241 Fajman Expires 11 October 1997 Page 27