| rfc8098.original | rfc8098.txt | |||
|---|---|---|---|---|
| Network Working Group T. Hansen, Ed. | Internet Engineering Task Force (IETF) T. Hansen, Ed. | |||
| Internet-Draft AT&T Laboratories | Request for Comments: 8098 AT&T Laboratories | |||
| Obsoletes: 3798 (if approved) A. Melnikov, Ed. | STD: 85 A. Melnikov, Ed. | |||
| Updates: 2046, 3461 (if approved) Isode Ltd | Obsoletes: 3798 Isode Ltd | |||
| Intended status: Standards Track December 1, 2016 | Updates: 2046, 3461 February 2017 | |||
| Expires: June 4, 2017 | Category: Standards Track | |||
| ISSN: 2070-1721 | ||||
| Message Disposition Notification | Message Disposition Notification | |||
| draft-ietf-appsawg-mdn-3798bis-16.txt | ||||
| Abstract | Abstract | |||
| This memo defines a MIME content-type that may be used by a mail user | This memo defines a MIME content-type that may be used by a Mail User | |||
| agent (MUA) or electronic mail gateway to report the disposition of a | Agent (MUA) or electronic mail gateway to report the disposition of a | |||
| message after it has been successfully delivered to a recipient. | message after it has been successfully delivered to a recipient. | |||
| This content-type is intended to be machine-processable. Additional | This content-type is intended to be machine processable. Additional | |||
| message header fields are also defined to permit Message Disposition | message header fields are also defined to permit Message Disposition | |||
| Notifications (MDNs) to be requested by the sender of a message. The | Notifications (MDNs) to be requested by the sender of a message. The | |||
| purpose is to extend Internet Mail to support functionality often | purpose is to extend Internet Mail to support functionality often | |||
| found in other messaging systems, such as X.400 and the proprietary | found in other messaging systems, such as X.400 and the proprietary | |||
| "LAN-based" systems, and often referred to as "read receipts," | "LAN-based" systems, and are often referred to as "read receipts," | |||
| "acknowledgements", or "receipt notifications." The intention is to | "acknowledgements," or "receipt notifications." The intention is to | |||
| do this while respecting privacy concerns, which have often been | do this while respecting privacy concerns, which have often been | |||
| expressed when such functions have been discussed in the past. | expressed when such functions have been discussed in the past. | |||
| Because many messages are sent between the Internet and other | Because many messages are sent between the Internet and other | |||
| messaging systems (such as X.400 or the proprietary "LAN-based" | messaging systems (such as X.400 or the proprietary "LAN-based" | |||
| systems), the MDN protocol is designed to be useful in a multi- | systems), the MDN protocol is designed to be useful in a | |||
| protocol messaging environment. To this end, the protocol described | multiprotocol messaging environment. To this end, the protocol | |||
| in this memo provides for the carriage of "foreign" addresses, in | described in this memo provides for the carriage of "foreign" | |||
| addition to those normally used in Internet Mail. Additional | addresses, in addition to those normally used in Internet Mail. | |||
| attributes may also be defined to support "tunneling" of foreign | Additional attributes may also be defined to support "tunneling" of | |||
| notifications through Internet Mail. | foreign notifications through Internet Mail. | |||
| This document obsoletes RFC 3798, moving it to Internet Standard. It | This document obsoletes RFC 3798, moving it to an Internet Standard. | |||
| also updates RFC 2046 (message/partial Media Type handling) and RFC | It also updates RFC 2046 (message/partial media type handling) and | |||
| 3461 (Original-Recipient header field generation requirement). | RFC 3461 (Original-Recipient header field generation requirement). | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on June 4, 2017. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| http://www.rfc-editor.org/info/rfc8098. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Purposes . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Purposes . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 4 | 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Requesting Message Disposition Notifications . . . . . . . . 5 | 2. Requesting Message Disposition Notifications . . . . . . . . 4 | |||
| 2.1. The Disposition-Notification-To Header . . . . . . . . . 5 | 2.1. The Disposition-Notification-To Header . . . . . . . . . 5 | |||
| 2.2. The Disposition-Notification-Options Header . . . . . . . 7 | 2.2. The Disposition-Notification-Options Header . . . . . . . 7 | |||
| 2.3. The Original-Recipient Header Field . . . . . . . . . . . 8 | 2.3. The Original-Recipient Header Field . . . . . . . . . . . 8 | |||
| 2.4. Use with the Message/Partial Media Type . . . . . . . . . 9 | 2.4. Use with the Message/Partial Media Type . . . . . . . . . 9 | |||
| 3. Format of a Message Disposition Notification . . . . . . . . 10 | 3. Format of a Message Disposition Notification . . . . . . . . 9 | |||
| 3.1. The message/disposition-notification Media Type . . . . . 11 | 3.1. The Message/Disposition-Notification Media Type . . . . . 11 | |||
| 3.2. Message/disposition-notification Content Fields . . . . . 14 | 3.2. Message/Disposition-Notification Content Fields . . . . . 13 | |||
| 3.3. Extension-fields . . . . . . . . . . . . . . . . . . . . 21 | 3.3. Extension-Fields . . . . . . . . . . . . . . . . . . . . 20 | |||
| 4. Timeline of events . . . . . . . . . . . . . . . . . . . . . 21 | 4. Timeline of Events . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 5. Conformance and Usage Requirements . . . . . . . . . . . . . 22 | 5. Conformance and Usage Requirements . . . . . . . . . . . . . 21 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | |||
| 6.1. Forgery . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 6.1. Forgery . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 6.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 6.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 6.2.1. Disclosure of Product Information . . . . . . . . . . 25 | 6.2.1. Disclosure of Product Information . . . . . . . . . . 24 | |||
| 6.2.2. MUA Fingerprinting . . . . . . . . . . . . . . . . . 25 | 6.2.2. MUA Fingerprinting . . . . . . . . . . . . . . . . . 24 | |||
| 6.3. Non-Repudiation . . . . . . . . . . . . . . . . . . . . . 25 | 6.3. Non-repudiation . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 6.4. Mail Bombing . . . . . . . . . . . . . . . . . . . . . . 25 | 6.4. Mail Bombing . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 7. Collected ABNF Grammar . . . . . . . . . . . . . . . . . . . 26 | 7. Collected ABNF Grammar . . . . . . . . . . . . . . . . . . . 25 | |||
| 8. Guidelines for Gatewaying MDNs . . . . . . . . . . . . . . . 28 | 8. Guidelines for Gatewaying MDNs . . . . . . . . . . . . . . . 27 | |||
| 8.1. Gatewaying from other mail systems to MDNs . . . . . . . 28 | 8.1. Gatewaying from Other Mail Systems to MDNs . . . . . . . 27 | |||
| 8.2. Gatewaying from MDNs to other mail systems . . . . . . . 29 | 8.2. Gatewaying from MDNs to Other Mail Systems . . . . . . . 28 | |||
| 8.3. Gatewaying of MDN-requests to other mail systems . . . . 29 | 8.3. Gatewaying of MDN-Requests to Other Mail Systems . . . . 28 | |||
| 9. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | ||||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 | 9. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 10.1. Disposition-Notification-Options header field | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 | |||
| disposition-notification-parameter names . . . . . . . . 32 | 10.1. Disposition-Notification-Options Header Field | |||
| 10.2. Disposition modifier names . . . . . . . . . . . . . . . 33 | Disposition-Notification-Parameter Names . . . . . . . . 31 | |||
| 10.3. MDN extension field names . . . . . . . . . . . . . . . 33 | 10.2. Disposition Modifier Names . . . . . . . . . . . . . . . 31 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 33 | 10.3. MDN Extension Field Names . . . . . . . . . . . . . . . 32 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 34 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 34 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 32 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 35 | 11.2. Informative References . . . . . . . . . . . . . . . . . 33 | |||
| Appendix A. Changes from RFC 3798 . . . . . . . . . . . . . . . 36 | Appendix A. Changes from RFC 3798 . . . . . . . . . . . . . . . 34 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
| 1. Introduction | 1. Introduction | |||
| This memo defines a media type [RFC2046] for message disposition | This memo defines a media type [RFC2046] for Message Disposition | |||
| notifications (MDNs). An MDN can be used to notify the sender of a | Notifications (MDNs). An MDN can be used to notify the sender of a | |||
| message of any of several conditions that may occur after successful | message of any of several conditions that may occur after successful | |||
| delivery, such as display of the message contents, printing of the | delivery, such as display of the message contents, printing of the | |||
| message, deletion (without display) of the message, or the | message, deletion (without display) of the message, or the | |||
| recipient's refusal to provide MDNs. The "message/disposition- | recipient's refusal to provide MDNs. The "message/disposition- | |||
| notification" content-type defined herein is intended for use within | notification" content-type defined herein is intended for use within | |||
| the framework of the "multipart/report" content type defined in RFC- | the framework of the "multipart/report" content type defined in RFC- | |||
| REPORT [RFC6522]. | REPORT [RFC6522]. | |||
| This memo defines the format of the notifications and the RFC-MSGFMT | This memo defines the format of the notifications and the RFC-MSGFMT | |||
| [RFC5322] header fields used to request them. | [RFC5322] header fields used to request them. | |||
| This memo is an update to RFC 3798 and is intended to be published at | ||||
| Internet Standard Level. | ||||
| 1.1. Purposes | 1.1. Purposes | |||
| The MDNs defined in this memo are expected to serve several purposes: | The MDNs defined in this memo are expected to serve several purposes: | |||
| a. Inform human beings of the disposition of messages after | a. Inform human beings of the disposition of messages after | |||
| successful delivery, in a manner that is largely independent of | successful delivery in a manner that is largely independent of | |||
| human language; | human language; | |||
| b. Allow mail user agents to keep track of the disposition of | b. Allow mail user agents to keep track of the disposition of | |||
| messages sent, by associating returned MDNs with earlier message | messages sent by associating returned MDNs with earlier message | |||
| transmissions; | transmissions; | |||
| c. Convey disposition notification requests and disposition | c. Convey disposition notification requests and disposition | |||
| notifications between Internet Mail and "foreign" mail systems | notifications between Internet Mail and "foreign" mail systems | |||
| via a gateway; | via a gateway; | |||
| d. Allow "foreign" notifications to be tunneled through a MIME- | d. Allow "foreign" notifications to be tunneled through a MIME- | |||
| capable message system and back into the original messaging | capable messaging system and back into the original messaging | |||
| system that issued the original notification, or even to a third | system that issued the original notification, or even to a third | |||
| messaging system; | messaging system; | |||
| e. Allow language-independent, yet reasonably precise, indications | e. Allow language-independent, yet reasonably precise, indications | |||
| of the disposition of a message to be delivered. | of the disposition of a message to be delivered. | |||
| 1.2. Requirements | 1.2. Requirements | |||
| These purposes place the following constraints on the notification | These purposes place the following constraints on the notification | |||
| protocol: | protocol: | |||
| a. It must be readable by humans, and must be machine-parsable. | a. It must be readable by humans and must be machine parsable. | |||
| b. It must provide enough information to allow message senders (or | b. It must provide enough information to allow message senders (or | |||
| their user agents) to unambiguously associate an MDN with the | their user agents) to unambiguously associate an MDN with the | |||
| message that was sent and the original recipient address for | message that was sent and the original recipient address for | |||
| which the MDN was issued (if such information is available), even | which the MDN was issued (if such information is available), even | |||
| if the message was forwarded to another recipient address. | if the message was forwarded to another recipient address. | |||
| c. It must also be able to describe the disposition of a message | c. It must also be able to describe the disposition of a message | |||
| independent of any particular human language or of the | independent of any particular human language or of the | |||
| terminology of any particular mail system. | terminology of any particular mail system. | |||
| skipping to change at page 4, line 45 | skipping to change at page 4, line 36 | |||
| future requirements. | future requirements. | |||
| 1.3. Terminology | 1.3. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC-KEYWORDS | document are to be interpreted as described in RFC-KEYWORDS | |||
| [RFC2119]. | [RFC2119]. | |||
| All syntax descriptions use the ABNF specified by RFC-MSGFMT | All syntax descriptions use the ABNF specified by RFC-MSGFMT | |||
| [RFC5322], in which the lexical tokens (used below) are defined: | [RFC5322] in which the lexical tokens (used below) are defined: | |||
| "CRLF", "FWS", "CFWS", "field-name", "mailbox-list", "msg-id", and | "CRLF", "FWS", "CFWS", "field-name", "mailbox-list", "msg-id", and | |||
| "text". The following lexical tokens are defined in RFC-SMTP | "text". The following lexical token is defined in RFC-SMTP | |||
| [RFC5321]: "atom". | [RFC5321]: "atom". | |||
| 2. Requesting Message Disposition Notifications | 2. Requesting Message Disposition Notifications | |||
| Message disposition notifications are requested by including a | Message disposition notifications are requested by including a | |||
| Disposition-Notification-To header field in the message containing | Disposition-Notification-To header field in the message containing | |||
| one or more addresses specifying where dispositions should be sent. | one or more addresses specifying where dispositions should be sent. | |||
| Further information to be used by the recipient's Mail User Agent | Further information to be used by the recipient's Mail User Agent | |||
| (MUA) [RFC5598] in generating the MDN may be provided by also | (MUA) [RFC5598] in generating the MDN may be provided by also | |||
| including Original-Recipient and/or Disposition-Notification-Options | including Original-Recipient and/or Disposition-Notification-Options | |||
| header fields in the message. | header fields in the message. | |||
| 2.1. The Disposition-Notification-To Header | 2.1. The Disposition-Notification-To Header | |||
| A request for the receiving user agent to issue message disposition | A request for the receiving user agent to issue message disposition | |||
| notifications is made by placing a Disposition-Notification-To header | notifications is made by placing a Disposition-Notification-To header | |||
| field into the message. The syntax of the header field is | field into the message. The syntax of the header field is | |||
| mdn-request-header = "Disposition-Notification-To" ":" mailbox-list CRLF | mdn-request-header = "Disposition-Notification-To" ":" | |||
| mailbox-list CRLF | ||||
| A Disposition-Notification-To header field can appear at most once in | A Disposition-Notification-To header field can appear at most once in | |||
| a message. | a message. | |||
| The presence of a Disposition-Notification-To header field in a | The presence of a Disposition-Notification-To header field in a | |||
| message is merely a request for an MDN. The recipients' user agents | message is merely a request for an MDN. The recipients' user agents | |||
| are always free to silently ignore such a request. | are always free to silently ignore such a request. | |||
| An MDN MUST NOT itself have a Disposition-Notification-To header | An MDN MUST NOT itself have a Disposition-Notification-To header | |||
| field. An MDN MUST NOT be generated in response to an MDN. | field. An MDN MUST NOT be generated in response to an MDN. | |||
| A user agent MUST NOT issue more than one MDN on behalf of each | A user agent MUST NOT issue more than one MDN on behalf of each | |||
| particular recipient. That is, once an MDN has been issued on behalf | particular recipient. That is, once an MDN has been issued on behalf | |||
| of a recipient, no further MDNs may be issued on behalf of that | of a recipient, no further MDNs may be issued on behalf of that | |||
| recipient by the same user agent, even if another disposition is | recipient by the same user agent, even if another disposition is | |||
| performed on the message. However, if a message is forwarded, an MDN | performed on the message. However, if a message is forwarded, an MDN | |||
| may have been issued for the recipient doing the forwarding and the | may have been issued for the recipient doing the forwarding, and the | |||
| recipient of the forwarded message may also cause an MDN to be | recipient of the forwarded message may also cause an MDN to be | |||
| generated. | generated. | |||
| It is also possible that if the same message is being accessed by | It is also possible that if the same message is being accessed by | |||
| multiple user agents (for example using POP3), then multiple | multiple user agents (for example, using POP3), then multiple | |||
| dispositions might be generated for the same recipient. User agents | dispositions might be generated for the same recipient. User agents | |||
| SHOULD leverage support in the underlying message access protocol to | SHOULD leverage support in the underlying message access protocol to | |||
| prevent multiple MDNs from being generated. In particular, when the | prevent multiple MDNs from being generated. In particular, when the | |||
| user agent is accessing the message using RFC-IMAP [RFC3501], it | user agent is accessing the message using RFC-IMAP [RFC3501], it | |||
| SHOULD implement the procedures specified in RFC-IMAP-MDN [RFC3503]. | SHOULD implement the procedures specified in RFC-IMAP-MDN [RFC3503]. | |||
| While Internet standards normally do not specify the behavior of user | While Internet standards normally do not specify the behavior of user | |||
| interfaces, it is strongly recommended that the user agent obtain the | interfaces, it is strongly recommended that the user agent obtain the | |||
| user's consent before sending an MDN. This consent could be obtained | user's consent before sending an MDN. This consent could be obtained | |||
| for each message through some sort of prompt or dialog box, or | for each message through some sort of prompt or dialog box, or | |||
| skipping to change at page 6, line 23 | skipping to change at page 6, line 10 | |||
| MDNs MUST NOT be sent automatically if the address in the | MDNs MUST NOT be sent automatically if the address in the | |||
| Disposition-Notification-To header field differs from the address in | Disposition-Notification-To header field differs from the address in | |||
| the Return-Path header field (see RFC-MSGFMT [RFC5322]). In this | the Return-Path header field (see RFC-MSGFMT [RFC5322]). In this | |||
| case, confirmation from the user MUST be obtained, if possible. If | case, confirmation from the user MUST be obtained, if possible. If | |||
| obtaining consent is not possible (e.g., because the user is not | obtaining consent is not possible (e.g., because the user is not | |||
| online at the time or the client is not an interactive email client), | online at the time or the client is not an interactive email client), | |||
| then an MDN MUST NOT be sent. | then an MDN MUST NOT be sent. | |||
| Confirmation from the user MUST be obtained (or no MDN sent) if there | Confirmation from the user MUST be obtained (or no MDN sent) if there | |||
| is no Return-Path header field in the message, or if there is more | is no Return-Path header field in the message or if there is more | |||
| than one distinct address in the Disposition-Notification-To header | than one distinct address in the Disposition-Notification-To header | |||
| field. | field. | |||
| The comparison of the addresses is done using only the addr-spec | The comparison of the addresses is done using only the addr-spec | |||
| (local-part "@" domain) portion, excluding any angle brackets, phrase | (local-part "@" domain) portion, excluding any angle brackets, | |||
| and route. As prescribed by RFC 5322, the comparison is case- | phrase, and route. As prescribed by RFC 5322, the comparison is case | |||
| sensitive for the local-part and case-insensitive for the domain | sensitive for the local-part and case insensitive for the domain | |||
| part. The local-part comparison SHOULD be done after performing | part. The local-part comparison SHOULD be done after performing | |||
| local-part canonicalization (i.e. after removing the surrounding | local-part canonicalization, i.e., after removing the surrounding | |||
| double-quote characters, if any, as well as any escaping "\" | double-quote characters, if any, as well as any escaping "\" | |||
| characters. (See RFC-MSGFMT [RFC5322] for more details.) | characters. (See RFC-MSGFMT [RFC5322] for more details.) | |||
| Implementations MAY treat known domain aliases as equivalent for the | Implementations MAY treat known domain aliases as equivalent for the | |||
| purpose of comparison. | purpose of comparison. | |||
| Note that use of subaddressing (see [RFC5233]) can result in a | Note that use of subaddressing (see [RFC5233]) can result in a | |||
| failure to match two local-parts and thus result in possible | failure to match two local-parts and thus result in possible | |||
| suppression of the MDN. This document doesn't recommend special | suppression of the MDN. This document doesn't recommend special | |||
| handling for this case, as the receiving MUA can't reliably know | handling for this case, as the receiving MUA can't reliably know | |||
| whether or not the sender is using subaddressing. | whether or not the sender is using subaddressing. | |||
| If the message contains more than one Return-Path header field, the | If the message contains more than one Return-Path header field, the | |||
| implementation may pick one to use for the comparison, or treat the | implementation may pick one to use for the comparison or treat the | |||
| situation as a failure of the comparison. | situation as a failure of the comparison. | |||
| The reason for not automatically sending an MDN if 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 | fails or more than one address is specified is to reduce the | |||
| possibility of mail loops and of MDNs being used for mail bombing. | possibility of mail loops and of MDNs being used for mail bombing. | |||
| It's especially important that a message that contains a Disposition- | It's especially important that a message that contains a Disposition- | |||
| Notification-To header field also contain a Message-ID header field, | Notification-To header field also contain a Message-ID header field | |||
| to permit user agents to automatically correlate MDNs with their | to permit user agents to automatically correlate MDNs with their | |||
| original messages. | original messages. | |||
| If the request for message disposition notifications for some | If the request for message disposition notifications for some | |||
| recipients and not others is desired, two copies of the message | recipients and not others is desired, two copies of the message | |||
| should be sent, one with a Disposition-Notification-To header field | should be sent, one with a Disposition-Notification-To header field | |||
| and one without. Many of the other header fields of the message | and one without. Many of the other header fields of the message | |||
| (e.g., To, Cc) will be the same in both copies. The recipients in | (e.g., To, Cc) will be the same in both copies. The recipients in | |||
| the respective message envelopes determine from whom message | the respective message envelopes determine from whom message | |||
| disposition notifications are requested and from whom they are not. | disposition notifications are requested and from whom they are not. | |||
| skipping to change at page 7, line 29 | skipping to change at page 7, line 15 | |||
| Bcc) in which it is necessary to send multiple copies of a message | Bcc) in which it is necessary to send multiple copies of a message | |||
| with slightly different header fields. The combination of such | with slightly different header fields. The combination of such | |||
| situations and the need to request MDNs for a subset of all | situations and the need to request MDNs for a subset of all | |||
| recipients may result in more than two copies of a message being | recipients may result in more than two copies of a message being | |||
| sent, some with a Disposition-Notification-To header field and some | sent, some with a Disposition-Notification-To header field and some | |||
| without. | without. | |||
| If it is possible to determine that a recipient is a newsgroup, do | If it is possible to determine that a recipient is a newsgroup, do | |||
| not include a Disposition-Notification-To header field for that | not include a Disposition-Notification-To header field for that | |||
| recipient. Similarly, if an existing message is resent or gatewayed | recipient. Similarly, if an existing message is resent or gatewayed | |||
| to a newsgroup, the agent doing resending/gatewaying SHOULD strip the | to a newsgroup, the agent that is resending/gatewaying SHOULD strip | |||
| Disposition-Notification-To header field. See Section 5 for more | the Disposition-Notification-To header field. See Section 5 for more | |||
| discussion. Clients that see an otherwise valid Disposition- | discussion. Clients that see an otherwise valid Disposition- | |||
| Notification-To header field in a newsgroup message SHOULD NOT | Notification-To header field in a newsgroup message SHOULD NOT | |||
| generate an MDN. | generate an MDN. | |||
| 2.2. The Disposition-Notification-Options Header | 2.2. The Disposition-Notification-Options Header | |||
| Extensions to this specification may require that information be | Extensions to this specification may require that information be | |||
| supplied to the recipient's MUA for additional control over how and | supplied to the recipient's MUA for additional control over how and | |||
| what MDNs are generated. The Disposition-Notification-Options header | what MDNs are generated. The Disposition-Notification-Options header | |||
| field provides an extensible mechanism for such information. The | field provides an extensible mechanism for such information. The | |||
| syntax of this header field is as follows: | syntax of this header field is as follows: | |||
| Disposition-Notification-Options = | Disposition-Notification-Options = | |||
| "Disposition-Notification-Options" ":" [FWS] | "Disposition-Notification-Options" ":" [FWS] | |||
| disposition-notification-parameter-list CRLF | disposition-notification-parameter-list CRLF | |||
| disposition-notification-parameter-list = | disposition-notification-parameter-list = | |||
| disposition-notification-parameter | disposition-notification-parameter | |||
| *([FWS] ";" [FWS] disposition-notification-parameter) | *([FWS] ";" [FWS] disposition-notification-parameter) | |||
| disposition-notification-parameter = attribute [FWS] "=" | disposition-notification-parameter = attribute [FWS] "=" | |||
| [FWS] importance [FWS] "," [FWS] value *([FWS] "," [FWS] value) | [FWS] importance [FWS] "," [FWS] value | |||
| *([FWS] "," [FWS] value) | ||||
| importance = "required" / "optional" | importance = "required" / "optional" | |||
| attribute = atom | attribute = atom | |||
| value = word | value = word | |||
| A Disposition-Notification-Options header field can appear at most | A Disposition-Notification-Options header field can appear once, at | |||
| once in a message. | most, in a message. | |||
| An importance of "required" indicates that interpretation of the | An importance of "required" indicates that interpretation of the | |||
| disposition-notification-parameter is necessary for proper generation | disposition-notification-parameter is necessary for proper generation | |||
| of an MDN in response to this request. An importance of "optional" | of an MDN in response to this request. An importance of "optional" | |||
| indicates that an MUA that does not understand the meaning of this | indicates that an MUA that does not understand the meaning of this | |||
| disposition-notification-parameter MAY generate an MDN in response | disposition-notification-parameter MAY generate an MDN in response | |||
| anyway, ignoring the value of the disposition-notification-parameter. | anyway, ignoring the value of the disposition-notification-parameter. | |||
| No disposition-notification-parameter attribute names are defined in | No disposition-notification-parameter attribute names are defined in | |||
| this specification. Attribute names may be defined in the future by | this specification. Attribute names may be defined in the future by | |||
| later revisions or extensions to this specification. disposition- | later revisions or extensions to this specification. Disposition- | |||
| notification-parameter attribute names MUST be registered with the | notification-parameter attribute names MUST be registered with the | |||
| Internet Assigned Numbers Authority (IANA) using "Specification | Internet Assigned Numbers Authority (IANA) using the "Specification | |||
| required" registration policy. The "X-" prefix has historically been | Required" registration policy [RFC5226]. The "X-" prefix has | |||
| used to denote unregistered "experimental" protocol elements, that | historically been used to denote unregistered "experimental" protocol | |||
| are assumed not to become common use. Deployment experience of this | elements that are assumed not to become common use. Deployment | |||
| and other protocols have shown that this assumption is often false. | experience of this and other protocols has shown that this assumption | |||
| This document allows the use of the "X-" prefix primarily to allow | is often false. This document allows the use of the "X-" prefix | |||
| the registration of attributes that are already in common use. The | primarily to allow the registration of attributes that are already in | |||
| prefix has no meaning for new attributes. Its use in substantially | common use. The prefix has no meaning for new attributes. Its use | |||
| new attributes may cause confusion and is therefore discouraged. | in substantially new attributes may cause confusion and is therefore | |||
| (See Section 10 for a registration form.) | discouraged. (See Section 10 for a registration form.) | |||
| 2.3. The Original-Recipient Header Field | 2.3. The Original-Recipient Header Field | |||
| Since electronic mail addresses may be rewritten while the message is | Since electronic mail addresses may be rewritten while the message is | |||
| in transit, it is useful for the original recipient address to be | in transit, it is useful for the original recipient address to be | |||
| made available by the delivering Message Transfer Agent (MTA) | made available by the delivering Message Transfer Agent (MTA) | |||
| [RFC5598]. The delivering MTA may be able to obtain this information | [RFC5598]. The delivering MTA may be able to obtain this information | |||
| from the ORCPT parameter of the SMTP RCPT TO command, as defined in | from the ORCPT parameter of the SMTP RCPT TO command, as defined in | |||
| RFC-SMTP [RFC5321] and RFC-DSN-SMTP [RFC3461]. | RFC-SMTP [RFC5321] and RFC-DSN-SMTP [RFC3461]. | |||
| RFC-DSN-SMTP [RFC3461] is amended as follows: If the ORCPT | RFC-DSN-SMTP [RFC3461] is amended as follows: if the ORCPT | |||
| information is available, the delivering MTA SHOULD insert an | information is available, the delivering MTA SHOULD insert an | |||
| Original-Recipient header field at the beginning of the message | Original-Recipient header field at the beginning of the message | |||
| (along with the Return-Path header field). The delivering MTA MAY | (along with the Return-Path header field). The delivering MTA MAY | |||
| delete any other Original-Recipient header fields that occur in the | delete any other Original-Recipient header fields that occur in the | |||
| message. The syntax of this header field is as follows: | message. The syntax of this header field is as follows: | |||
| original-recipient-header = | original-recipient-header = | |||
| "Original-Recipient" ":" OWS address-type OWS ";" OWS generic-address OWS | "Original-Recipient" ":" OWS address-type OWS | |||
| ";" OWS generic-address OWS | ||||
| OWS = [CFWS] | OWS = [CFWS] | |||
| ; Optional whitespace. | ; Optional whitespace. | |||
| ; MDN generators SHOULD use "*WSP" | ; MDN generators SHOULD use "*WSP" | |||
| ; (typically a single space or nothing. | ; (Typically a single space or nothing. | |||
| ; It SHOULD be nothing at the end of a field), | ; It SHOULD be nothing at the end of a field.), | |||
| ; unless an RFC 5322 "comment" is required. | ; unless an RFC 5322 "comment" is required. | |||
| ; | ; | |||
| ; MDN parsers MUST parse it as "[CFWS]". | ; MDN parsers MUST parse it as "[CFWS]". | |||
| The address-type and generic-address token are as specified in the | The address-type and generic-address tokens are as specified in the | |||
| description of the Original-Recipient field in Section 3.2.3. | description of the Original-Recipient field in Section 3.2.3. | |||
| The purpose of carrying the original recipient information and | The purpose of carrying the original recipient information and | |||
| returning it in the MDN is to permit automatic correlation of MDNs | returning it in the MDN is to permit automatic correlation of MDNs | |||
| with the original message on a per-recipient basis. | with the original message on a per-recipient basis. | |||
| 2.4. Use with the Message/Partial Media Type | 2.4. Use with the Message/Partial Media Type | |||
| The use of the header fields Disposition-Notification-To, | The use of the header fields Disposition-Notification-To, | |||
| Disposition-Notification-Options, and Original-Recipient with the | Disposition-Notification-Options, and Original-Recipient with the | |||
| MIME message/partial content type (RFC-MIME-MEDIA [RFC2046]]) | MIME message/partial content type (RFC-MIME-MEDIA [RFC2046]) requires | |||
| requires further definition. | further definition. | |||
| When a message is segmented into two or more message/partial | When a message is segmented into two or more message/partial | |||
| fragments, the three header fields mentioned in the above paragraph | fragments, the three header fields mentioned in the above paragraph | |||
| SHOULD be placed in the "inner" or "enclosed" message (using the | SHOULD be placed in the "inner" or "enclosed" message (using the | |||
| terms of RFC-MIME-MEDIA [RFC2046]). If these header fields are found | terms of RFC-MIME-MEDIA [RFC2046]). If these header fields are found | |||
| in the header fields of any of the fragments, they are ignored. | in the header fields of any of the fragments, they are ignored. | |||
| When the multiple message/partial fragments are reassembled, the | When the multiple message/partial fragments are reassembled, the | |||
| following applies. If these header fields occur along with the other | following applies. If these header fields occur along with the other | |||
| header fields of a message/partial fragment message, they pertain to | header fields of a message/partial fragment message, they pertain to | |||
| skipping to change at page 11, line 28 | skipping to change at page 11, line 5 | |||
| The Message-ID header field (if present) for an MDN MUST be different | The Message-ID header field (if present) for an MDN MUST be different | |||
| from the Message-ID of the message for which the MDN is being issued. | 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 | A particular MDN describes the disposition of exactly one message for | |||
| exactly one recipient. Multiple MDNs may be generated as a result of | exactly one recipient. Multiple MDNs may be generated as a result of | |||
| one message submission, one per recipient. However, due to the | one message submission, one per recipient. However, due to the | |||
| circumstances described in Section 2.1, it's possible that some of | circumstances described in Section 2.1, it's possible that some of | |||
| the recipients for whom MDNs were requested will not generate MDNs. | the recipients for whom MDNs were requested will not generate MDNs. | |||
| 3.1. The message/disposition-notification Media Type | 3.1. The Message/Disposition-Notification Media Type | |||
| The message/disposition-notification Media Type is defined as | The message/disposition-notification media type is defined as | |||
| follows: | follows: | |||
| Type name: message | Type name: message | |||
| Subtype name: disposition-notification | Subtype name: disposition-notification | |||
| Required parameters: none | Required parameters: none | |||
| Optional parameters: none | Optional parameters: none | |||
| Encoding considerations: "7bit" encoding is sufficient and MUST be | Encoding considerations: "7bit" encoding is sufficient and MUST be | |||
| used to maintain readability when viewed by non- | used to maintain readability when viewed by non- | |||
| MIME mail readers. | MIME mail readers. | |||
| Security considerations: discussed in Section 6 of [RFCXXXX]. | Security considerations: discussed in Section 6 of RFC 8098. | |||
| Interoperability considerations: none | Interoperability considerations: none | |||
| Published specification: [RFCXXXX] | Published specification: RFC 8098 | |||
| Applications that use this media type: Mail Transfer Agents and | Applications that use this media type: Mail Transfer Agents and | |||
| email clients that support multipart/report | email clients that support multipart/report | |||
| generation and/or parsing. | generation and/or parsing. | |||
| Fragment identifier considerations: N/A | Fragment identifier considerations: N/A | |||
| Additional information: | Additional information: | |||
| Deprecated alias names for this type: N/A | Deprecated alias names for this type: N/A | |||
| Magic number(s): none | Magic number(s): none | |||
| File extension(s): .disposition-notification | File extension(s): .disposition-notification | |||
| Macintosh file type code(s): The 'TEXT' type | Macintosh file type code(s): The 'TEXT' type | |||
| code is suggested as files of this type are | code is suggested as files of this type are | |||
| typically used for diagnostic purposes and | typically used for diagnostic purposes and | |||
| suitable for analysis in a text editor. A | suitable for analysis in a text editor. A | |||
| uniform type identifier (UTI) of "public.utf8- | Uniform Type Identifier (UTI) of "public.utf8- | |||
| email-message-header" is suggested. This type | email-message-header" is suggested. This type | |||
| conforms to "public.plain-text". | conforms to "public.plain-text". | |||
| Person & email address to contact for further information: ART Area | Person & email address to contact for further information: ART Area | |||
| Mailing List <art@ietf.org> | Mailing List <art@ietf.org> | |||
| Intended usage: COMMON | Intended usage: COMMON | |||
| Restrictions on usage: This media type contains textual data in the | Restrictions on usage: This media type contains textual data in the | |||
| US-ASCII charset, which is always 7-bit. | US-ASCII charset, which is always 7-bit. | |||
| Author: See the Authors' Addresses section of [RFCXXXX] | Author: See the Authors' Addresses section of RFC 8098. | |||
| Change controller: IETF | Change controller: IETF | |||
| Provisional registration? no | Provisional registration? no | |||
| (While the 7bit restriction applies to the message/disposition- | (While the 7bit restriction applies to the message/disposition- | |||
| notification portion of the multipart/report content, it does not | notification portion of the multipart/report content, it does not | |||
| apply to the optional third portion of the multipart/report content.) | apply to the optional third portion of the multipart/report content.) | |||
| The message/disposition-notification report type for use in the | The message/disposition-notification report type for use in the | |||
| multipart/report is "disposition-notification". | multipart/report is "disposition-notification". | |||
| The body of a message/disposition-notification consists of one or | The body of a message/disposition-notification consists of one or | |||
| more "fields" formatted according to the ABNF of RFC-MSGFMT [RFC5322] | more "fields" formatted according to the ABNF of RFC-MSGFMT [RFC5322] | |||
| header "fields". The syntax of the message/disposition-notification | header "fields". The syntax of the message/disposition-notification | |||
| skipping to change at page 13, line 29 | skipping to change at page 12, line 41 | |||
| final-recipient-field CRLF | final-recipient-field CRLF | |||
| [ original-message-id-field CRLF ] | [ original-message-id-field CRLF ] | |||
| disposition-field CRLF | disposition-field CRLF | |||
| *( error-field CRLF ) | *( error-field CRLF ) | |||
| *( extension-field CRLF ) | *( extension-field CRLF ) | |||
| extension-field = extension-field-name ":" *([FWS] text) | extension-field = extension-field-name ":" *([FWS] text) | |||
| extension-field-name = field-name | extension-field-name = field-name | |||
| Note that the order of the above fields is recommended, but not | Note that the order of the above fields is recommended but not fixed. | |||
| fixed. Extension fields can appear anywhere. | Extension fields can appear anywhere. | |||
| 3.1.1. General conventions for fields | 3.1.1. General Conventions for Fields | |||
| Since these fields are defined according to the rules of RFC-MSGFMT | Since these fields are defined according to the rules of RFC-MSGFMT | |||
| [RFC5322], the same conventions for continuation lines and comments | [RFC5322], the same conventions for continuation lines and comments | |||
| apply. Notification fields may be continued onto multiple lines by | apply. Notification fields may be continued onto multiple lines by | |||
| beginning each additional line with a SPACE or HTAB. Text that | beginning each additional line with a SPACE or HTAB. Text that | |||
| appears in parentheses is considered a comment and not part of the | appears in parentheses is considered a comment and not part of the | |||
| contents of that notification field. Field names are case- | contents of that notification field. Field names are case | |||
| insensitive, so the names of notification fields may be spelled in | insensitive, so the names of notification fields may be spelled in | |||
| any combination of upper and lower case letters. [RFC5322] comments | any combination of uppercase and lowercase letters. [RFC5322] | |||
| in notification fields may use the "encoded-word" construct defined | comments in notification fields may use the "encoded-word" construct | |||
| in RFC-MIME-HEADER [RFC2047]. | defined in RFC-MIME-HEADER [RFC2047]. | |||
| 3.1.2. "*-type" subfields | 3.1.2. "*-type" Subfields | |||
| Several fields consist of a "-type" subfield, followed by a semi- | Several fields consist of a "-type" subfield, followed by a semi- | |||
| colon, followed by "*text". | colon, followed by "*text". For these fields, the keyword used in | |||
| For these fields, the keyword used in the address-type or MTA-type | the address-type or MTA-type subfield indicates the expected format | |||
| subfield indicates the expected format of the address or MTA-name | of the address or MTA-name that follows. | |||
| that follows. | ||||
| The "-type" subfields are defined as follows: | The "-type" subfields are defined as follows: | |||
| a. An "address-type" specifies the format of a mailbox address. For | a. An "address-type" specifies the format of a mailbox address. For | |||
| example, Internet Mail addresses use the "rfc822" address-type. | example, Internet Mail addresses use the "rfc822" address-type. | |||
| Other values can appear in this field as specified in the | Other values can appear in this field as specified in the | |||
| "Address Types" IANA subregistry established by RFC-DSN-FORMAT | "Address Types" IANA subregistry established by RFC-DSN-FORMAT | |||
| [RFC3464]. | [RFC3464]. | |||
| address-type = atom | address-type = atom | |||
| atom = <The version from RFC 5321 (not from RFC 5322) is used in this document.> | atom = <The version from RFC 5321 (not from RFC 5322) | |||
| is used in this document.> | ||||
| b. An "MTA-name-type" specifies the format of a mail transfer agent | 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 | 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- | MTA name is the domain name of that host, and the "dns" MTA-name- | |||
| type is used. Other values can appear in this field as specified | type is used. Other values can appear in this field as specified | |||
| in the "MTA Name Types" IANA subregistry established by RFC-DSN- | in the "MTA Name Types" IANA subregistry established by RFC-DSN- | |||
| FORMAT [RFC3464]. | FORMAT [RFC3464]. | |||
| mta-name-type = atom | mta-name-type = atom | |||
| Values for address-type and mta-name-type are case-insensitive. | Values for address-type and mta-name-type are case insensitive. | |||
| Thus, address-type values of "RFC822" and "rfc822" are equivalent. | Thus, address-type values of "RFC822" and "rfc822" are equivalent. | |||
| The Internet Assigned Numbers Authority (IANA) maintains a registry | The Internet Assigned Numbers Authority (IANA) maintains a registry | |||
| of address-type and mta-name-type values, along with descriptions of | of address-type and mta-name-type values, along with descriptions of | |||
| the meanings of each, or a reference to one or more specifications | the meanings of each or a reference to one or more specifications | |||
| that provide such descriptions. (The "rfc822" address-type is | that provide such descriptions. (The "rfc822" address-type is | |||
| defined in RFC-DSN-SMTP [RFC3461].) Registration forms for address- | defined in RFC-DSN-SMTP [RFC3461].) Registration forms for address- | |||
| type and mta-name-type appear in RFC-DSN-FORMAT [RFC3464]. | type and mta-name-type appear in RFC-DSN-FORMAT [RFC3464]. | |||
| 3.2. Message/disposition-notification Content Fields | 3.2. Message/Disposition-Notification Content Fields | |||
| 3.2.1. The Reporting-UA Field | ||||
| 3.2.1. The Reporting-UA field | ||||
| reporting-ua-field = "Reporting-UA" ":" OWS ua-name OWS [ ";" OWS ua-product OWS ] | reporting-ua-field = "Reporting-UA" ":" OWS ua-name OWS | |||
| [ ";" OWS ua-product OWS ] | ||||
| ua-name = *text-no-semi | ua-name = *text-no-semi | |||
| ua-product = *([FWS] text) | ua-product = *([FWS] text) | |||
| text-no-semi = %d1-9 / ; "text" characters excluding NUL, CR, | text-no-semi = %d1-9 / ; "text" characters excluding NUL, CR, | |||
| %d11 / %d12 / %d14-58 / %d60-127 ; LF, or semi-colon | %d11 / %d12 / %d14-58 / %d60-127 ; LF, or semi-colon | |||
| The Reporting-UA field is defined as follows: | The Reporting-UA field is defined as follows: | |||
| An MDN describes the disposition of a message after it has been | An MDN describes the disposition of a message after it has been | |||
| delivered to a recipient. In all cases, the Reporting-UA is the MUA | delivered to a recipient. In all cases, the Reporting-UA is the MUA | |||
| that performed the disposition described in the MDN. | that performed the disposition described in the MDN. | |||
| The "Reporting-UA" field contains information about the MUA that | The "Reporting-UA" field contains information about the MUA that | |||
| generated the MDN, which is often used by servers to help identify | generated the MDN, which is often used by servers to help identify | |||
| the scope of reported interoperability problems, to work around or | the scope of reported interoperability problems, to work around or | |||
| tailor responses to avoid particular MUA limitations, and for | tailor responses to avoid particular MUA limitations, and for | |||
| analytics regarding MUA or operating system use. A MUA SHOULD send a | analytics regarding MUA or operating system use. An MUA SHOULD send | |||
| "Reporting-UA" field unless specifically configured not to do so. | a "Reporting-UA" field unless specifically configured not to do so. | |||
| If the reporting MUA consists of more than one component (e.g., a | If the reporting MUA consists of more than one component (e.g., a | |||
| base program and plug-ins), this may be indicated by including a list | base program and plug-ins), this may be indicated by including a list | |||
| of product names. | of product names. | |||
| A reporting MUA SHOULD limit generated product identifiers to what is | A reporting MUA SHOULD limit generated product identifiers to what is | |||
| necessary to identify the product; a sender MUST NOT generate | necessary to identify the product; a sender MUST NOT generate | |||
| advertising or other nonessential information within the product | advertising or other nonessential information within the product | |||
| identifier. | identifier. | |||
| A reporting MUA SHOULD NOT generate a "Reporting-UA" field containing | A reporting MUA SHOULD NOT generate a "Reporting-UA" field containing | |||
| needlessly fine-grained detail and SHOULD limit the addition of | needlessly fine-grained detail and SHOULD limit the addition of | |||
| subproducts by third parties. Overly long and detailed "Reporting- | subproducts by third parties. Overly long and detailed "Reporting- | |||
| UA" field values increase the risk of a user being identified against | UA" field values increase the risk of a user being identified against | |||
| their wishes ("fingerprinting"). | their wishes ("fingerprinting"). | |||
| Likewise, implementations are encouraged not to use the product | Likewise, implementations are encouraged not to use the product | |||
| tokens of other implementations in order to declare compatibility | tokens of other implementations in order to declare compatibility | |||
| with them, as this circumvents the purpose of the field. If a MUA | with them, as this circumvents the purpose of the field. If an MUA | |||
| masquerades as a different MUA, recipients can assume that the user | masquerades as a different MUA, recipients can assume that the user | |||
| intentionally desires to see responses tailored for that identified | intentionally desires to see responses tailored for that identified | |||
| MUA, even if they might not work as well for the actual MUA being | MUA, even if they might not work as well for the actual MUA being | |||
| used. | used. | |||
| Example: | Example: | |||
| Reporting-UA: Foomail 97.1 | Reporting-UA: Foomail 97.1 | |||
| 3.2.2. The MDN-Gateway field | 3.2.2. The MDN-Gateway Field | |||
| The MDN-Gateway field indicates the name of the gateway or MTA that | The MDN-Gateway field indicates the name of the gateway or MTA that | |||
| translated a foreign (non-Internet) message disposition notification | translated a foreign (non-Internet) message disposition notification | |||
| into this MDN. This field MUST appear in any MDN that was translated | into this MDN. This field MUST appear in any MDN that was translated | |||
| by a gateway from a foreign system into MDN format, and MUST NOT | by a gateway from a foreign system into MDN format and MUST NOT | |||
| appear otherwise. | appear otherwise. | |||
| mdn-gateway-field = "MDN-Gateway" ":" OWS mta-name-type OWS ";" OWS mta-name OWS | mdn-gateway-field = "MDN-Gateway" ":" OWS mta-name-type OWS | |||
| ";" OWS mta-name OWS | ||||
| mta-name = *text | mta-name = *text | |||
| For gateways into Internet Mail, the MTA-name-type will normally be | For gateways into Internet Mail, the MTA-name-type will normally be | |||
| "dns", and the mta-name will be the Internet domain name of the | "dns", and the mta-name will be the Internet domain name of the | |||
| gateway. | gateway. | |||
| 3.2.3. Original-Recipient field | 3.2.3. Original-Recipient Field | |||
| The Original-Recipient field indicates the original recipient address | The Original-Recipient field indicates the original recipient address | |||
| as specified by the sender of the message for which the MDN is being | as specified by the sender of the message for which the MDN is being | |||
| issued. For Internet Mail messages, the value of the Original- | issued. For Internet Mail messages, the value of the Original- | |||
| Recipient field is obtained from the Original-Recipient header field | Recipient field is obtained from the Original-Recipient header field | |||
| from the message for which the MDN is being generated. If there is | from the message for which the MDN is being generated. If there is | |||
| an Original-Recipient header field in the message, or if information | an Original-Recipient header field in the message, or if information | |||
| about the original recipient is reliably available some other way, | about the original recipient is reliably available some other way, | |||
| then the Original-Recipient field MUST be included. Otherwise, the | then the Original-Recipient field MUST be included. Otherwise, the | |||
| Original-Recipient field MUST NOT be included. If there is more than | Original-Recipient field MUST NOT be included. If there is more than | |||
| one Original-Recipient header field in the message, the MUA may | one Original-Recipient header field in the message, the MUA may | |||
| choose the one to use, or act as if no Original-Recipient header | choose the one to use or act as if no Original-Recipient header field | |||
| field is present. | is present. | |||
| original-recipient-field = | original-recipient-field = | |||
| "Original-Recipient" ":" OWS address-type OWS ";" OWS generic-address OWS | "Original-Recipient" ":" OWS address-type OWS | |||
| ";" OWS generic-address OWS | ||||
| generic-address = *text | generic-address = *text | |||
| The address-type field indicates the type of the original recipient | The address-type field indicates the type of the original recipient | |||
| address. If the message originated within the Internet, the address- | address. If the message originated within the Internet, the address- | |||
| type field will normally be "rfc822", and the address will be | type field will normally be "rfc822", and the address will be | |||
| according to the syntax specified in RFC-MSGFMT [RFC5322]. The value | according to the syntax specified in RFC-MSGFMT [RFC5322]. The value | |||
| "unknown" should be used if the Reporting MUA cannot determine the | "unknown" should be used if the Reporting MUA cannot determine the | |||
| type of the original recipient address from the message envelope. | type of the original recipient address from the message envelope. | |||
| This address is the same as that provided by the sender and can be | This address is the same as that provided by the sender and can be | |||
| used to automatically correlate MDN reports with original messages on | used to automatically correlate MDN reports with original messages on | |||
| a per recipient basis. | a per-recipient basis. | |||
| 3.2.4. Final-Recipient field | 3.2.4. Final-Recipient Field | |||
| The Final-Recipient field indicates the recipient for which the MDN | The Final-Recipient field indicates the recipient for which the MDN | |||
| is being issued. This field MUST be present. | is being issued. This field MUST be present. | |||
| The syntax of the field is as follows: | The syntax of the field is as follows: | |||
| final-recipient-field = | final-recipient-field = "Final-Recipient" ":" OWS address-type OWS | |||
| "Final-Recipient" ":" OWS address-type OWS ";" OWS generic-address OWS | ";" OWS generic-address OWS | |||
| The generic-address subfield of the Final-Recipient field SHOULD | The generic-address subfield of the Final-Recipient field SHOULD | |||
| contain the mailbox address of the recipient (which will be the same | contain the mailbox address of the recipient (which will be the same | |||
| as the From header field of the MDN) as it was when the MDN was | as the From header field of the MDN) as it was when the MDN was | |||
| generated by the MUA. | generated by the MUA. | |||
| One example of when this field might not contain the final | One example of when this field might not contain the final | |||
| recipient address of the message is when an alias (e.g. "customer- | recipient address of the message is when an alias (e.g., | |||
| support@example.com") forwards mail to a specific personal address | <customer-support@example.com>) forwards mail to a specific | |||
| (e.g. "bob@example.com"). Bob might want to be able to send MDNs, | personal address (e.g., <bob@example.com>). Bob might want to be | |||
| but not give away his personal email address. In this case the | able to send MDNs but not give away his personal email address. | |||
| Final-Recipient field can be "customer-support@example.com" | In this case, the Final-Recipient field can be | |||
| instead of "bob@example.com". | <customer-support@example.com> instead of <bob@example.com>. | |||
| The Final-Recipient address may differ from the address originally | The Final-Recipient address may differ from the address originally | |||
| provided by the sender, because it may have been transformed during | provided by the sender, because it may have been transformed during | |||
| forwarding and gatewaying into a totally unrecognizable mess. | forwarding and gatewaying into a totally unrecognizable mess. | |||
| However, in the absence of the optional Original-Recipient field, the | However, in the absence of the optional Original-Recipient field, the | |||
| Final-Recipient field and any returned content may be the only | Final-Recipient field and any returned content may be the only | |||
| information available with which to correlate the MDN with a | information available with which to correlate the MDN with a | |||
| particular message recipient. | particular message recipient. | |||
| The address-type subfield indicates the type of address expected by | The address-type subfield indicates the type of address expected by | |||
| the reporting MTA in that context. Recipient addresses obtained via | the reporting MTA in that context. Recipient addresses obtained via | |||
| SMTP will normally be of address-type "rfc822", but can be other | SMTP will normally be of address-type "rfc822", but can be other | |||
| values from the "Address Types" subregistry of the "Delivery Status | values from the "Address Types" subregistry of the "Delivery Status | |||
| Notification (DSN) Types" IANA registry. | Notification (DSN) Types" IANA registry. | |||
| Since mailbox addresses (including those used in the Internet) may be | Since mailbox addresses (including those used in the Internet) may be | |||
| case sensitive, the case of alphabetic characters in the address MUST | case sensitive, the case of alphabetic characters in the address MUST | |||
| be preserved. | be preserved. | |||
| 3.2.5. Original-Message-ID field | 3.2.5. Original-Message-ID Field | |||
| The Original-Message-ID field indicates the message-ID of the message | 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- | for which the MDN is being issued. It is obtained from the | |||
| ID header field of the message for which the MDN is issued. This | Message-ID header field of the message for which the MDN is issued. | |||
| field MUST be present if and only if the original message contained a | This field MUST be present if and only if the original message | |||
| Message-ID header field. The syntax of the field is as follows: | contained a Message-ID header field. The syntax of the field is as | |||
| follows: | ||||
| original-message-id-field = | original-message-id-field = | |||
| "Original-Message-ID" ":" msg-id | "Original-Message-ID" ":" msg-id | |||
| The msg-id token is as specified in RFC-MSGFMT [RFC5322]. | The msg-id token is as specified in RFC-MSGFMT [RFC5322]. | |||
| 3.2.6. Disposition field | 3.2.6. Disposition Field | |||
| The Disposition field indicates the action performed by the | The Disposition field indicates the action performed by the Reporting | |||
| Reporting-MUA on behalf of the user. This field MUST be present. | MUA on behalf of the user. This field MUST be present. | |||
| The syntax for the Disposition field is: | The syntax for the Disposition field is: | |||
| disposition-field = | disposition-field = | |||
| "Disposition" ":" OWS disposition-mode OWS ";" | "Disposition" ":" OWS disposition-mode OWS ";" | |||
| OWS disposition-type | OWS disposition-type | |||
| [ OWS "/" OWS disposition-modifier | [ OWS "/" OWS disposition-modifier | |||
| *( OWS "," OWS disposition-modifier ) ] OWS | *( OWS "," OWS disposition-modifier ) ] OWS | |||
| disposition-mode = action-mode OWS "/" OWS sending-mode | disposition-mode = action-mode OWS "/" OWS sending-mode | |||
| skipping to change at page 18, line 32 | skipping to change at page 17, line 46 | |||
| sending-mode = "MDN-sent-manually" / "MDN-sent-automatically" | sending-mode = "MDN-sent-manually" / "MDN-sent-automatically" | |||
| disposition-type = "displayed" / "deleted" / "dispatched" / | disposition-type = "displayed" / "deleted" / "dispatched" / | |||
| "processed" | "processed" | |||
| disposition-modifier = "error" / disposition-modifier-extension | disposition-modifier = "error" / disposition-modifier-extension | |||
| disposition-modifier-extension = atom | disposition-modifier-extension = atom | |||
| The disposition-mode, disposition-type, and disposition-modifier | The disposition-mode, disposition-type, and disposition-modifier | |||
| values may be spelled in any combination of upper and lower case US- | values may be spelled in any combination of uppercase and lowercase | |||
| ASCII characters. | US-ASCII characters. | |||
| 3.2.6.1. Disposition modes | 3.2.6.1. Disposition Modes | |||
| Disposition mode consists of 2 parts: action mode and sending mode. | Disposition mode consists of two parts: action mode and sending mode. | |||
| The following action modes are defined: | The following action modes are defined: | |||
| "manual-action" The disposition described by the disposition type | "manual-action" The disposition described by the disposition type | |||
| was a result of an explicit instruction by the | was a result of an explicit instruction by the | |||
| user rather than some sort of automatically | user rather than some sort of automatically | |||
| performed action. (This might include the case | performed action. (This might include the case | |||
| when the user has manually configured her MUA to | when the user has manually configured her MUA to | |||
| automatically respond to valid MDN requests.) | automatically respond to valid MDN requests.) | |||
| Unless prescribed otherwise in a particular mail | Unless prescribed otherwise in a particular mail | |||
| environment, in order to preserve user's privacy, | environment, in order to preserve the user's | |||
| this MUST be the default for MUAs. | privacy, this MUST be the default for MUAs. | |||
| "automatic-action" The disposition described by the disposition type | "automatic-action" The disposition described by the disposition type | |||
| was a result of an automatic action, rather than | was a result of an automatic action rather than | |||
| an explicit instruction by the user for this | an explicit instruction by the user for this | |||
| message. This is typically generated by a Mail | message. This is typically generated by a Mail | |||
| Delivery Agent (e.g. MDN generations by Sieve | Delivery Agent (e.g., MDN generations by Sieve | |||
| reject action [RFC5429], Fax-over-Email | reject action [RFC5429], Fax-over-Email | |||
| [RFC3249], Voice Messaging System (VPIM) | [RFC3249], VPIM [RFC3801], or upon delivery to a | |||
| [RFC3801] or upon delivery to a mailing list). | mailing list). | |||
| "Manual-action" and "automatic-action" are mutually exclusive. One | "Manual-action" and "automatic-action" are mutually exclusive. One | |||
| or the other MUST be specified. | or the other MUST be specified. | |||
| The following sending modes are defined: | The following sending modes are defined: | |||
| "MDN-sent-manually" The user explicitly gave permission for this | "MDN-sent-manually" The user explicitly gave permission for this | |||
| particular MDN to be sent. Unless prescribed | particular MDN to be sent. Unless prescribed | |||
| otherwise in a particular mail environment, in | otherwise in a particular mail environment, in | |||
| order to preserve user's privacy, this MUST be | order to preserve the user's privacy, this MUST | |||
| the default for MUAs. | be the default for MUAs. | |||
| "MDN-sent-automatically" The MDN was sent because the MUA had | "MDN-sent-automatically" | |||
| previously been configured to do so | The MDN was sent because the MUA had previously | |||
| automatically. | been configured to do so automatically. | |||
| "MDN-sent-manually" and "MDN-sent-automatically" are mutually | "MDN-sent-manually" and "MDN-sent-automatically" are mutually | |||
| exclusive. One or the other MUST be specified. | exclusive. One or the other MUST be specified. | |||
| 3.2.6.2. Disposition types | 3.2.6.2. Disposition Types | |||
| The following disposition-types are defined: | The following disposition-types are defined: | |||
| "displayed" The message has been displayed by the MUA to | "displayed" The message has been displayed by the MUA to | |||
| someone reading the recipient's mailbox. There | someone reading the recipient's mailbox. There | |||
| is no guarantee that the content has been read or | is no guarantee that the content has been read or | |||
| understood. | understood. | |||
| "dispatched" The message has been sent somewhere in some | "dispatched" The message has been sent somewhere in some | |||
| manner (e.g., printed, faxed, forwarded) without | manner (e.g., printed, faxed, forwarded) without | |||
| skipping to change at page 20, line 16 | skipping to change at page 19, line 27 | |||
| (i.e., by some sort of rules or server) without | (i.e., by some sort of rules or server) without | |||
| being displayed to the user. The user may or may | being displayed to the user. The user may or may | |||
| not see the message later, or there may not even | not see the message later, or there may not even | |||
| be a human user associated with the mailbox. | be a human user associated with the mailbox. | |||
| "deleted" The message has been deleted. The recipient may | "deleted" The message has been deleted. The recipient may | |||
| or may not have seen the message. The recipient | or may not have seen the message. The recipient | |||
| might "undelete" the message at a later time and | might "undelete" the message at a later time and | |||
| read the message. | read the message. | |||
| 3.2.6.3. Disposition modifiers | 3.2.6.3. Disposition Modifiers | |||
| Only the extension disposition modifiers is defined: | Only the extension disposition modifiers are defined: | |||
| disposition-modifier-extension | disposition-modifier-extension | |||
| Disposition modifiers may be defined in the | Disposition modifiers may be defined in the | |||
| future by later revisions or extensions to this | future by later revisions or extensions to this | |||
| specification. MDN disposition value names MUST | specification. MDN disposition value names MUST | |||
| be registered with the Internet Assigned Numbers | be registered with the Internet Assigned Numbers | |||
| Authority (IANA) using "Specification required" | Authority (IANA) using the "Specification | |||
| registration policy. (See Section 10 for a | Required" registration policy. (See Section 10 | |||
| registration form.) MDNs with disposition | for a registration form.) MDNs with disposition | |||
| modifier names not understood by the receiving | modifier names not understood by the receiving | |||
| MUA MAY be silently ignored or placed in the | MUA MAY be silently ignored or placed in the | |||
| user's mailbox without special interpretation. | user's mailbox without special interpretation. | |||
| They MUST NOT cause any error message to be sent | They MUST NOT cause any error message to be sent | |||
| to the sender of the MDN. | to the sender of the MDN. | |||
| It is not required that an MUA be able to generate all of the | It is not required that an MUA be able to generate all of the | |||
| possible values of the Disposition field. | possible values of the Disposition field. | |||
| A user agent MUST NOT issue more than one MDN on behalf of each | A user agent MUST NOT issue more than one MDN on behalf of each | |||
| particular recipient. That is, once an MDN has been issued on behalf | particular recipient. That is, once an MDN has been issued on behalf | |||
| of a recipient, no further MDNs may be issued on behalf of that | of a recipient, no further MDNs may be issued on behalf of that | |||
| recipient, even if another disposition is performed on the message. | recipient, even if another disposition is performed on the message. | |||
| However, if a message is forwarded, a "dispatched" MDN MAY be issued | However, if a message is forwarded, a "dispatched" MDN MAY be issued | |||
| for the recipient doing the forwarding and the recipient of the | for the recipient doing the forwarding and the recipient of the | |||
| forwarded message may also cause an MDN to be generated. | forwarded message may also cause an MDN to be generated. | |||
| 3.2.7. Error Field | 3.2.7. Error Field | |||
| The Error field is used to supply additional information in the form | The Error field is used to supply additional information in the form | |||
| of text messages when the "error" disposition modifier appear. The | of text messages when the "error" disposition modifier appears. The | |||
| syntax is as follows: | syntax is as follows: | |||
| error-field = "Error" ":" *([FWS] text) | error-field = "Error" ":" *([FWS] text) | |||
| Note that syntax of these header fields doesn't include comments, so | Note that syntax of these header fields doesn't include comments, so | |||
| "encoded-word" construct defined in RFC-MIME-HEADER [RFC2047] can't | the "encoded-word" construct defined in RFC-MIME-HEADER [RFC2047] | |||
| be used to convey non ASCII text. Application that need to convey | can't be used to convey non-ASCII text. Applications that need to | |||
| non ASCII text in these fields should consider implementing message/ | convey non-ASCII text in these fields should consider implementing | |||
| global-disposition-notification media type specified in [RFC6533] | the message/global-disposition-notification media type specified in | |||
| instead of this specification. | [RFC6533] instead of this specification. | |||
| 3.3. Extension-fields | 3.3. Extension-Fields | |||
| Additional MDN fields may be defined in the future by later revisions | Additional MDN fields may be defined in the future by later revisions | |||
| or extensions to this specification. MDN field names MUST be | or extensions to this specification. MDN field names MUST be | |||
| registered with the Internet Assigned Numbers Authority (IANA) using | registered with the Internet Assigned Numbers Authority (IANA) using | |||
| "Specification required" registration policy. (See Section 10 for a | the "Specification Required" registration policy. (See Section 10 | |||
| registration form.) MDN Extension-fields may be defined for the | for a registration form.) MDN Extension-fields may be defined for | |||
| following reasons: | the following reasons: | |||
| a. To allow additional information from foreign disposition reports | a. To allow additional information from foreign disposition reports | |||
| to be tunneled through Internet MDNs. The names of such MDN | to be tunneled through Internet MDNs. The names of such MDN | |||
| fields should begin with an indication of the foreign environment | fields should begin with an indication of the foreign environment | |||
| name (e.g., X400-Physical-Forwarding-Address). | name (e.g., X400-Physical-Forwarding-Address). | |||
| b. To allow transmission of diagnostic information that is specific | b. To allow transmission of diagnostic information that is specific | |||
| to a particular mail user agent (MUA). The names of such MDN | to a particular Mail User Agent (MUA). The names of such MDN | |||
| fields should begin with an indication of the MUA implementation | fields should begin with an indication of the MUA implementation | |||
| that produced the MDN (e.g., Foomail-information). | that produced the MDN (e.g., Foomail-information). | |||
| 4. Timeline of events | 4. Timeline of Events | |||
| The following timeline shows when various events in the processing of | The following timeline shows when various events in the processing of | |||
| a message and generation of MDNs take place: | a message and generation of MDNs take place: | |||
| -- User composes message | -- User composes message. | |||
| -- User tells MUA to send message. | -- User tells MUA to send message. | |||
| -- MUA passes message to Mail Submission Agent (MSA), original | -- MUA passes message to Mail Submission Agent (MSA) and original | |||
| recipient information passed along. | recipient information is passed along. | |||
| -- MSA sends message to next MTA. | -- MSA sends message to next MTA. | |||
| -- Final MTA receives message. | -- Final MTA receives message. | |||
| -- Final MTA delivers message to recipient's mailbox (possibly | -- Final MTA delivers message to recipient's mailbox (possibly | |||
| generating a Delivery Status Notification (DSN)). | generating a Delivery Status Notification (DSN)). | |||
| -- (Recipient's) MUA discovers a new message in recipient's mailbox | -- (Recipient's) MUA discovers a new message in recipient's mailbox | |||
| and decides whether an MDN should be generated. If the MUA has | and decides whether an MDN should be generated. If the MUA has | |||
| information that an MDN has already been generated for this | information that an MDN has already been generated for this | |||
| message, no further MDN processing described below is performed. | message, no further MDN processing described below is performed. | |||
| If MUA decides that no MDN can be generated, no further MDN | If MUA decides that no MDN can be generated, no further MDN | |||
| processing described below is performed. | processing described below is performed. | |||
| -- MUA performs automatic processing and might generate corresponding | -- MUA performs automatic processing and might generate corresponding | |||
| MDNs ("dispatched", "processed" or "deleted" disposition type with | MDNs ("dispatched", "processed", or "deleted" disposition type | |||
| "automatic-action" and "MDN-sent-automatically" disposition | with "automatic-action" and "MDN-sent-automatically" disposition | |||
| modes). The MUA remembers that an MDN was generated. | modes). The MUA remembers that an MDN was generated. | |||
| -- MUA displays list of messages to user. | -- MUA displays list of messages to user. | |||
| -- User selects a message and requests that some action be performed | -- User selects a message and requests that some action be performed | |||
| on it. | on it. | |||
| -- MUA performs requested action; if an automatic MDN has not already | -- MUA performs requested action; if an automatic MDN has not already | |||
| been generated, with user's permission, sends an appropriate MDN | been generated, with user's permission, sends an appropriate MDN | |||
| ("displayed", "dispatched", "processed", or "deleted" disposition | ("displayed", "dispatched", "processed", or "deleted" disposition | |||
| skipping to change at page 23, line 13 | skipping to change at page 22, line 9 | |||
| an MDN unless the mail protocols provide the address originally | an MDN unless the mail protocols provide the address originally | |||
| specified by the sender at the time of submission. Ordinary SMTP | specified by the sender at the time of submission. Ordinary SMTP | |||
| does not make that guarantee, but the SMTP extension defined in RFC- | does not make that guarantee, but the SMTP extension defined in RFC- | |||
| DSN-SMTP [RFC3461] permits such information to be carried in the | DSN-SMTP [RFC3461] permits such information to be carried in the | |||
| envelope if it is available. The Original-Recipient header field | envelope if it is available. The Original-Recipient header field | |||
| defined in this document provides a way for the MTA to pass the | defined in this document provides a way for the MTA to pass the | |||
| original recipient address to the MUA. | original recipient address to the MUA. | |||
| Each sender-specified recipient address may result in more than one | Each sender-specified recipient address may result in more than one | |||
| MDN. If an MDN is requested for a recipient that is forwarded to | MDN. If an MDN is requested for a recipient that is forwarded to | |||
| multiple recipients of an "alias" (as defined in RFC-DSN-SMTP | multiple recipients of an "alias" (as defined in Section 6.2.7.3 of | |||
| [RFC3461], section 6.2.7.3), each of the recipients may issue an MDN. | RFC-DSN-SMTP [RFC3461]), each of the recipients may issue an MDN. | |||
| Successful distribution of a message to a mailing list exploder or | Successful distribution of a message to a mailing list exploder or | |||
| gateway to Usenet newsgroup SHOULD be considered the final | gateway to Usenet newsgroup SHOULD be considered the final | |||
| disposition of the message. A mailing list exploder MAY issue an MDN | disposition of the message. A mailing list exploder MAY issue an MDN | |||
| with a disposition type of "processed" and disposition modes of | with a disposition type of "processed" and disposition modes of | |||
| "automatic-action" and "MDN-sent-automatically" indicating that the | "automatic-action" and "MDN-sent-automatically" indicating that the | |||
| message has been forwarded to the list. In this case, the request | message has been forwarded to the list. In this case, the request | |||
| for MDNs is not propagated to the members of the list. | for MDNs is not propagated to the members of the list. | |||
| Alternatively (if successful distribution of a message to a mailing | Alternatively (if successful distribution of a message to a mailing | |||
| list exploder/Usenet newsgroup is not considered the final | list exploder / Usenet newsgroup is not considered the final | |||
| disposition of the message), the mailing list exploder can issue no | disposition of the message), the mailing list exploder can issue no | |||
| MDN and propagate the request for MDNs to all members of the list. | MDN and propagate the request for MDNs to all members of the list. | |||
| The latter behavior is not recommended for any but small, closely | The latter behavior is not recommended for any but small, closely | |||
| knit lists, as it might cause large numbers of MDNs to be generated | knit lists, as it might cause large numbers of MDNs to be generated | |||
| and may cause confidential subscribers to the list to be revealed. | and may cause confidential subscribers to the list to be revealed. | |||
| The mailing list exploder can also direct MDNs to itself, correlate | The mailing list exploder can also direct MDNs to itself, correlate | |||
| them, and produce a report to the original sender of the message. | them, and produce a report to the original sender of the message. | |||
| This specification places no restrictions on the processing of MDNs | This specification places no restrictions on the processing of MDNs | |||
| received by user agents or mailing lists. | received by user agents or mailing lists. | |||
| skipping to change at page 24, line 6 | skipping to change at page 22, line 48 | |||
| MDNs can be (and are, in practice) forged as easily as ordinary | MDNs can be (and are, in practice) forged as easily as ordinary | |||
| Internet electronic mail. User agents and automatic mail handling | Internet electronic mail. User agents and automatic mail handling | |||
| facilities (such as mail distribution list exploders) that wish to | facilities (such as mail distribution list exploders) that wish to | |||
| make automatic use of MDNs should take appropriate precautions to | make automatic use of MDNs should take appropriate precautions to | |||
| minimize the potential damage from denial-of-service attacks. | minimize the potential damage from denial-of-service attacks. | |||
| Security threats related to forged MDNs include the sending of: | Security threats related to forged MDNs include the sending of: | |||
| a. A falsified disposition notification when the indicated | a. A falsified disposition notification when the indicated | |||
| disposition of the message has not actually occurred, | disposition of the message has not actually occurred, and | |||
| b. Unsolicited MDNs | b. Unsolicited MDNs. | |||
| Similarly, a forged spam or phishing email message can contain | Similarly, a forged spam or phishing email message can contain | |||
| Disposition-Notification-To header field that can trick the recipient | Disposition-Notification-To header field that can trick the recipient | |||
| to send an MDN. MDN processing should only be invoked once | to send an MDN. MDN processing should only be invoked once | |||
| authenticity of email message is verified. | authenticity of an email message is verified. | |||
| 6.2. Privacy | 6.2. Privacy | |||
| Another dimension of security is privacy. There may be cases in | Another dimension of security is privacy. There may be cases in | |||
| which a message recipient does not wish the disposition of messages | which a message recipient does not wish the disposition of messages | |||
| addressed to him to be known, or is concerned that the sending of | addressed to him to be known, or is concerned that the sending of | |||
| MDNs may reveal other sensitive information (e.g., when the message | MDNs may reveal other sensitive information (e.g., when the message | |||
| was read, using which email client, which OS was used). In this | was read, using which email client, and which OS was used). In this | |||
| situation, it is acceptable for the MUA to silently ignore requests | situation, it is acceptable for the MUA to silently ignore requests | |||
| for MDNs. | for MDNs. | |||
| If the Disposition-Notification-To header field is passed on | If the Disposition-Notification-To header field is passed on | |||
| unmodified when a message is distributed to the subscribers of a | unmodified when a message is distributed to the subscribers of a | |||
| mailing list, the subscribers to the list may be revealed to the | mailing list, the subscribers to the list may be revealed to the | |||
| sender of the original message by the generation of MDNs. | sender of the original message by the generation of MDNs. | |||
| Headers of the original message returned in part 3 of the multipart/ | Headers of the original message returned in part 3 of the multipart/ | |||
| report, as well as content of the message/disposition-notification | report, as well as content of the message/disposition-notification | |||
| part could reveal confidential information about host names and/or | part, could reveal confidential information about host names and/or | |||
| network topology inside a firewall. | network topology inside a firewall. | |||
| Disposition mode (Section 3.2.6.1) can leak information about | Disposition mode (Section 3.2.6.1) can leak information about | |||
| recipient's MUA configuration, in particular whether MDNs are | recipient's MUA configuration, in particular, whether MDNs are | |||
| acknowledged manually or automatically. If this is a concern, MUAs | acknowledged manually or automatically. If this is a concern, MUAs | |||
| can return "manual-action/MDN-sent-manually" disposition mode in | can return "manual-action/MDN-sent-manually" disposition mode in | |||
| generated MDNs. | generated MDNs. | |||
| In general, any optional MDN field may be omitted if the Reporting | In general, any optional MDN field may be omitted if the Reporting | |||
| MUA site or user determines that inclusion of the field would impose | MUA site or user determines that inclusion of the field would impose | |||
| too great a compromise of site confidentiality. The need for such | too great a compromise of site confidentiality. The need for such | |||
| confidentiality must be balanced against the utility of the omitted | confidentiality must be balanced against the utility of the omitted | |||
| information in MDNs. | information in MDNs. | |||
| In some cases, someone with access to the message stream may use the | In some cases, someone with access to the message stream may use the | |||
| MDN request mechanism to monitor the mail reading habits of a target. | MDN request mechanism to monitor the mail reading habits of a target. | |||
| If the target is known to generate MDN reports, they could add a | If the target is known to generate MDN reports, they could add a | |||
| disposition-notification-to field containing the envelope from | disposition-notification-to field containing the envelope from | |||
| address. This risk can be minimized by not sending MDN's | address. This risk can be minimized by not sending MDN's | |||
| automatically. | automatically. | |||
| 6.2.1. Disclosure of Product Information | 6.2.1. Disclosure of Product Information | |||
| The "Reporting-UA" field (Section 3.2.1) User-Agent (Section 5.5.3) | The "Reporting-UA" field (Section 3.2.1), User-Agent (Section 5.5.3), | |||
| and header fields often reveal information about the respective | and header fields often reveal information about the respective | |||
| sender's software systems. In theory, this can make it easier for an | sender's software systems. In theory, this can make it easier for an | |||
| attacker to exploit known security holes; in practice, attackers tend | attacker to exploit known security holes; in practice, attackers tend | |||
| to try all potential holes regardless of the apparent software | to try all potential holes regardless of the apparent software | |||
| versions being used. Also note that the "Reporting-UA" field doesn't | versions being used. Also note that the "Reporting-UA" field doesn't | |||
| provide any new information in comparison to the "User-Agent" and/or | provide any new information in comparison to the "User-Agent" and/or | |||
| (undocumented) "X-Mailer" header fields used by many MUAs. | (undocumented) "X-Mailer" header fields used by many MUAs. | |||
| 6.2.2. MUA Fingerprinting | 6.2.2. MUA Fingerprinting | |||
| The "Reporting-UA" field (Section 3.2.1) might contain enough | The "Reporting-UA" field (Section 3.2.1) might contain enough | |||
| information to uniquely identify a specific device, usually when | information to uniquely identify a specific device, usually when | |||
| combined with other characteristics, particularly if the user agent | combined with other characteristics, particularly if the user agent | |||
| sends excessive details about the user's system or extensions. Even | sends excessive details about the user's system or extensions. Even | |||
| when the guidance in Section 3.2.1 is followed to avoid | when the guidance in Section 3.2.1 is followed to avoid | |||
| fingerprinting, other sources of unique information may still be | fingerprinting, other sources of unique information may still be | |||
| present, such as the Accept-Language header fields. | present, such as the Accept-Language header fields. | |||
| 6.3. Non-Repudiation | 6.3. Non-repudiation | |||
| MDNs do not provide non-repudiation with proof of delivery. Within | MDNs do not provide non-repudiation with proof of delivery. Within | |||
| the framework of today's Internet Mail, the MDNs defined in this | the framework of today's Internet Mail, the MDNs defined in this | |||
| document provide valuable information to the mail user; however, MDNs | document provide valuable information to the mail user; however, MDNs | |||
| cannot be relied upon as a guarantee that a message was or was not | cannot be relied upon as a guarantee that a message was or was not | |||
| seen by the recipient. Even if MDNs are not actively forged, they | seen by the recipient. Even if MDNs are not actively forged, they | |||
| may be lost in transit. The recipient may bypass the MDN issuing | may be lost in transit. The recipient may bypass the MDN issuing | |||
| mechanism in some manner. | mechanism in some manner. | |||
| One possible solution for this purpose can be found in RFC-SEC- | One possible solution for this purpose can be found in RFC-SEC- | |||
| SERVICES [RFC2634]. | SERVICES [RFC2634]. | |||
| 6.4. Mail Bombing | 6.4. Mail Bombing | |||
| The MDN request mechanism introduces an additional way of mailbombing | The MDN request mechanism introduces an additional way of mail | |||
| a mailbox. The MDN request notification provides an address to which | bombing a mailbox. The MDN request notification provides an address | |||
| MDN's should be sent. It is possible for an attacking agent to send | to which MDN's should be sent. It is possible for an attacking agent | |||
| a potentially large set of messages to otherwise unsuspecting third | to send a potentially large set of messages to otherwise unsuspecting | |||
| party recipients with a false "disposition-notification-to:" address. | third party recipients with a false "disposition-notification-to:" | |||
| Automatic, or simplistic processing of such requests would result in | address. Automatic or simplistic processing of such requests would | |||
| a flood of MDN notifications to the target of the attack. | result in a flood of MDN notifications to the target of the attack. | |||
| Additionally, as generated MDN notifications can include full content | Additionally, as generated MDN notifications can include the full | |||
| of messages that caused them and thus they can be bigger than such | content of messages that caused them and thus they can be bigger than | |||
| messages, they can be used for bandwidth amplification attacks. Such | such messages, they can be used for bandwidth amplification attacks. | |||
| an attack could overrun the storage capacity of the targeted mailbox | Such an attack could overrun the storage capacity of the targeted | |||
| and/or of the mail transport system, and deny service. | mailbox and/or of the mail transport system, and deny service. | |||
| For that reason, MDN's SHOULD NOT be sent automatically where the | For that reason, MDN's SHOULD NOT be sent automatically where the | |||
| "disposition-notification-to:" address is different from the SMTP | "disposition-notification-to:" address is different from the SMTP | |||
| "MAIL FROM" address (which is carried in the Return-Path header | "MAIL FROM" address (which is carried in the Return-Path header | |||
| field). See Section 2.1 for further discussion. | field). See Section 2.1 for further discussion. | |||
| 7. Collected ABNF Grammar | 7. Collected ABNF Grammar | |||
| NOTE: The following lexical tokens are defined in RFC-MSGFMT | NOTE: The following lexical tokens are defined in RFC-MSGFMT | |||
| [RFC5322]: CRLF, FWS, CFWS, field-name, mailbox-list, msg-id, text, | [RFC5322]: CRLF, FWS, CFWS, field-name, mailbox-list, msg-id, text, | |||
| comment, word. The following lexical tokens are defined in RFC-SMTP | comment, and word. The following lexical tokens are defined in RFC- | |||
| [RFC5321]: atom. (Note that RFC-MSGFMT [RFC5322] also defines | SMTP [RFC5321]: atom. (Note that RFC-MSGFMT [RFC5322] also defines | |||
| "atom", but the version from RFC-SMTP [RFC5321] is more restrictive | "atom", but the version from RFC-SMTP [RFC5321] is more restrictive | |||
| and this more restrictive version is used in this document.) | and this more restrictive version is used in this document.) The | |||
| "encoded-word" construct defined in RFC-MIME-HEADER [RFC2047] is | "encoded-word" construct defined in RFC-MIME-HEADER [RFC2047] is | |||
| allowed everywhere where RFC-MSGFMT [RFC5322] "comment" is used, for | allowed everywhere where RFC-MSGFMT [RFC5322] "comment" is used, for | |||
| example in CFWS. | example, in CFWS. | |||
| OWS = [CFWS] | OWS = [CFWS] | |||
| ; Optional whitespace. | ; Optional whitespace. | |||
| ; MDN generators SHOULD use "*WSP" | ; MDN generators SHOULD use "*WSP" | |||
| ; (typically a single space or nothing. | ; (typically a single space or nothing, and | |||
| ; It SHOULD be nothing at the end of a field), | ; it SHOULD be nothing at the end of a field), | |||
| ; unless an RFC 5322 "comment" is required. | ; unless an RFC 5322 "comment" is required. | |||
| ; | ; | |||
| ; MDN parsers MUST parse it as "[CFWS]". | ; MDN parsers MUST parse it as "[CFWS]". | |||
| Message header fields: | Message header fields: | |||
| mdn-request-header = | mdn-request-header = | |||
| "Disposition-Notification-To" ":" mailbox-list CRLF | "Disposition-Notification-To" ":" mailbox-list CRLF | |||
| Disposition-Notification-Options = | Disposition-Notification-Options = | |||
| "Disposition-Notification-Options" ":" [FWS] | "Disposition-Notification-Options" ":" [FWS] | |||
| disposition-notification-parameter-list CRLF | disposition-notification-parameter-list CRLF | |||
| disposition-notification-parameter-list = | disposition-notification-parameter-list = | |||
| disposition-notification-parameter | disposition-notification-parameter | |||
| *([FWS] ";" [FWS] disposition-notification-parameter) | *([FWS] ";" [FWS] | |||
| disposition-notification-parameter) | ||||
| disposition-notification-parameter = attribute [FWS] "=" [FWS] | disposition-notification-parameter = attribute [FWS] "=" [FWS] | |||
| importance [FWS] "," [FWS] value *([FWS] "," [FWS] value) | importance [FWS] "," [FWS] value *([FWS] "," | |||
| [FWS] value) | ||||
| importance = "required" / "optional" | importance = "required" / "optional" | |||
| attribute = atom | attribute = atom | |||
| value = word | ||||
| original-recipient-header = | value = word | |||
| "Original-Recipient" ":" OWS address-type OWS ";" OWS generic-address OWS CRLF | original-recipient-header = | |||
| "Original-Recipient" ":" OWS address-type OWS | ||||
| ";" OWS generic-address OWS CRLF | ||||
| Report content: | Report content: | |||
| disposition-notification-content = | disposition-notification-content = | |||
| [ reporting-ua-field CRLF ] | [ reporting-ua-field CRLF ] | |||
| [ mdn-gateway-field CRLF ] | [ mdn-gateway-field CRLF ] | |||
| [ original-recipient-field CRLF ] | [ original-recipient-field CRLF ] | |||
| final-recipient-field CRLF | final-recipient-field CRLF | |||
| [ original-message-id-field CRLF ] | [ original-message-id-field CRLF ] | |||
| disposition-field CRLF | disposition-field CRLF | |||
| *( error-field CRLF ) | *( error-field CRLF ) | |||
| *( extension-field CRLF ) | *( extension-field CRLF ) | |||
| address-type = atom | address-type = atom | |||
| mta-name-type = atom | mta-name-type = atom | |||
| reporting-ua-field = "Reporting-UA" ":" OWS ua-name OWS [ ";" OWS ua-product OWS ] | reporting-ua-field = "Reporting-UA" ":" OWS ua-name OWS [ | |||
| ";" OWS ua-product OWS ] | ||||
| ua-name = *text-no-semi | ua-name = *text-no-semi | |||
| ua-product = *([FWS] text) | ua-product = *([FWS] text) | |||
| text-no-semi = %d1-9 / ; "text" characters excluding NUL, CR, | text-no-semi = %d1-9 / ; "text" characters excluding NUL, CR, | |||
| %d11 / %d12 / %d14-58 / %d60-127 ; LF, or semi-colon | %d11 / %d12 / %d14-58 / %d60-127 ; LF, or semi-colon | |||
| mdn-gateway-field = "MDN-Gateway" ":" OWS mta-name-type OWS ";" OWS mta-name | mdn-gateway-field = "MDN-Gateway" ":" OWS mta-name-type OWS | |||
| ";" OWS mta-name | ||||
| mta-name = *text | mta-name = *text | |||
| original-recipient-field = | original-recipient-field = | |||
| "Original-Recipient" ":" OWS address-type OWS ";" OWS generic-address OWS | "Original-Recipient" ":" OWS address-type OWS | |||
| ";" OWS generic-address OWS | ||||
| generic-address = *text | generic-address = *text | |||
| final-recipient-field = | final-recipient-field = | |||
| "Final-Recipient" ":" OWS address-type OWS ";" OWS generic-address OWS | "Final-Recipient" ":" OWS address-type OWS | |||
| ";" OWS generic-address OWS | ||||
| original-message-id-field = "Original-Message-ID" ":" msg-id | original-message-id-field = "Original-Message-ID" ":" msg-id | |||
| disposition-field = | disposition-field = | |||
| "Disposition" ":" OWS disposition-mode OWS ";" | "Disposition" ":" OWS disposition-mode OWS ";" | |||
| OWS disposition-type | OWS disposition-type | |||
| [ OWS "/" OWS disposition-modifier | [ OWS "/" OWS disposition-modifier | |||
| *( OWS "," OWS disposition-modifier ) ] OWS | *( OWS "," OWS disposition-modifier ) ] OWS | |||
| disposition-mode = action-mode OWS "/" OWS sending-mode | disposition-mode = action-mode OWS "/" OWS sending-mode | |||
| action-mode = "manual-action" / "automatic-action" | action-mode = "manual-action" / "automatic-action" | |||
| sending-mode = "MDN-sent-manually" / "MDN-sent-automatically" | sending-mode = "MDN-sent-manually" / "MDN-sent-automatically" | |||
| disposition-type = "displayed" / "deleted" / "dispatched" / | disposition-type = "displayed" / "deleted" / "dispatched" / | |||
| "processed" | "processed" | |||
| disposition-modifier = "error" / disposition-modifier-extension | disposition-modifier = "error" / disposition-modifier-extension | |||
| disposition-modifier-extension = atom | disposition-modifier-extension = atom | |||
| error-field = "Error" ":" *([FWS] text) | error-field = "Error" ":" *([FWS] text) | |||
| extension-field = extension-field-name ":" *([FWS] text) | extension-field = extension-field-name ":" *([FWS] text) | |||
| extension-field-name = field-name | extension-field-name = field-name | |||
| 8. Guidelines for Gatewaying MDNs | 8. Guidelines for Gatewaying MDNs | |||
| NOTE: This section provides non-binding recommendations for the | NOTE: This section provides non-binding recommendations for the | |||
| construction of mail gateways that wish to provide semi-transparent | construction of mail gateways that wish to provide semi-transparent | |||
| disposition notifications between the Internet and another electronic | disposition notifications between the Internet and another electronic | |||
| mail system. Specific MDN gateway requirements for a particular pair | mail system. Specific MDN gateway requirements for a particular pair | |||
| of mail systems may be defined by other documents. | of mail systems may be defined by other documents. | |||
| 8.1. Gatewaying from other mail systems to MDNs | 8.1. Gatewaying from Other Mail Systems to MDNs | |||
| A mail gateway may issue an MDN to convey the contents of a "foreign" | A mail gateway may issue an MDN to convey the contents of a "foreign" | |||
| disposition notification over Internet Mail. When there are | disposition notification over Internet Mail. When there are | |||
| appropriate mappings from the foreign notification elements to MDN | appropriate mappings from the foreign notification elements to MDN | |||
| fields, the information may be transmitted in those MDN fields. | fields, the information may be transmitted in those MDN fields. | |||
| Additional information (such as might be needed to tunnel the foreign | Additional information (such as what might be needed to tunnel the | |||
| notification through the Internet) may be defined in extension MDN | foreign notification through the Internet) may be defined in | |||
| fields. (Such fields should be given names that identify the foreign | extension MDN fields. (Such fields should be given names that | |||
| mail protocol, e.g., X400-* for X.400 protocol elements). | identify the foreign mail protocol, e.g., X400-* for X.400 protocol | |||
| elements [X.400]). | ||||
| The gateway must attempt to supply reasonable values for the | The gateway must attempt to supply reasonable values for the | |||
| Reporting-UA, Final-Recipient, and Disposition fields. These will | Reporting-UA, Final-Recipient, and Disposition fields. These will | |||
| normally be obtained by translating the values from the foreign | normally be obtained by translating the values from the foreign | |||
| notification into their Internet-style equivalents. However, some | notification into their Internet-style equivalents. However, some | |||
| loss of information is to be expected. | loss of information is to be expected. | |||
| The sender-specified recipient address and the original message-id, | The sender-specified recipient address and the original message-id, | |||
| if present in the foreign notification, should be preserved in the | if present in the foreign notification, should be preserved in the | |||
| Original-Recipient and Original-Message-ID fields. | Original-Recipient and Original-Message-ID fields. | |||
| The gateway should also attempt to preserve the "final" recipient | The gateway should also attempt to preserve the "final" recipient | |||
| address from the foreign system. Whenever possible, foreign protocol | address from the foreign system. Whenever possible, foreign protocol | |||
| elements should be encoded as meaningful printable ASCII strings. | elements should be encoded as meaningful printable ASCII strings. | |||
| For MDNs produced from foreign disposition notifications, the name of | For MDNs produced from foreign disposition notifications, the name of | |||
| the gateway MUST appear in the MDN-Gateway field of the MDN. | the gateway MUST appear in the MDN-Gateway field of the MDN. | |||
| 8.2. Gatewaying from MDNs to other mail systems | 8.2. Gatewaying from MDNs to Other Mail Systems | |||
| It may be possible to gateway MDNs from the Internet into a foreign | It may be possible to gateway MDNs from the Internet into a foreign | |||
| mail system. The primary purpose of such gatewaying is to convey | mail system. The primary purpose of such gatewaying is to convey | |||
| disposition information in a form that is usable by the destination | disposition information in a form that is usable by the destination | |||
| system. A secondary purpose is to allow "tunneling" of MDNs through | system. A secondary purpose is to allow "tunneling" of MDNs through | |||
| foreign mail systems in case the MDN may be gatewayed back into the | foreign mail systems in case the MDN may be gatewayed back into the | |||
| Internet. | Internet. | |||
| In general, the recipient of the MDN (i.e., the sender of the | In general, the recipient of the MDN (i.e., the sender of the | |||
| original message) will want to know, for each recipient: the closest | original message) will want to know, for each recipient: the closest | |||
| available approximation to the original recipient address, and the | available approximation to the original recipient address and the | |||
| disposition (displayed, printed, etc.). | disposition (displayed, printed, etc.). | |||
| If possible, the gateway should attempt to preserve the Original- | If possible, the gateway should attempt to preserve the Original- | |||
| Recipient address and Original-Message-ID (if present) in the | Recipient address and Original-Message-ID (if present) in the | |||
| resulting foreign disposition report. | resulting foreign disposition report. | |||
| If it is possible to tunnel an MDN through the destination | If it is possible to tunnel an MDN through the destination | |||
| environment, the gateway specification may define a means of | environment, the gateway specification may define a means of | |||
| preserving the MDN information in the disposition reports used by | preserving the MDN information in the disposition reports used by | |||
| that environment. | that environment. | |||
| 8.3. Gatewaying of MDN-requests to other mail systems | 8.3. Gatewaying of MDN-Requests to Other Mail Systems | |||
| By use of the separate disposition-notification-to request header | By use of the separate disposition-notification-to request header | |||
| field, this specification offers a richer functionality than most, if | field, this specification offers a richer functionality than most, if | |||
| not all, other email systems. In most other email systems, the | not all, other email systems. In most other email systems, the | |||
| notification recipient is identical to the message sender as | notification recipient is identical to the message sender as | |||
| indicated in the "from" address. There are two interesting cases | indicated in the "from" address. There are two interesting cases | |||
| when gatewaying into such systems: | when gatewaying into such systems: | |||
| 1. If the address in the disposition-notification-to header field is | 1. If the address in the disposition-notification-to header field is | |||
| identical to the address in the SMTP "MAIL FROM", the expected | identical to the address in the SMTP "MAIL FROM", the expected | |||
| skipping to change at page 30, line 14 | skipping to change at page 29, line 17 | |||
| into a foreign system without a separate notification address | into a foreign system without a separate notification address | |||
| will result in unintended behavior. This is especially important | will result in unintended behavior. This is especially important | |||
| when the message arrives via a mailing list expansion software | when the message arrives via a mailing list expansion software | |||
| that may specifically replace the SMTP "MAIL FROM" address with | that may specifically replace the SMTP "MAIL FROM" address with | |||
| an alternate address. In such cases, the MDN request should not | an alternate address. In such cases, the MDN request should not | |||
| be gatewayed and should be silently dropped. This is consistent | be gatewayed and should be silently dropped. This is consistent | |||
| with other forms of non-support for MDN. | with other forms of non-support for MDN. | |||
| 9. Example | 9. Example | |||
| NOTE: This example is provided as illustration only, and is not | NOTE: This example is provided as illustration only and is not | |||
| considered part of the MDN protocol specification. If the example | considered part of the MDN protocol specification. If the example | |||
| conflicts with the protocol definition above, the example is wrong. | conflicts with the protocol definition above, the example is wrong. | |||
| Likewise, the use of *-type subfield names or extension fields in | Likewise, the use of *-type subfield names or extension fields in | |||
| this example is not to be construed as a definition for those type | this example is not to be construed as a definition for those type | |||
| names or extension fields. | names or extension fields. | |||
| This is an MDN issued after a message has been displayed to the user | This is an MDN issued after a message has been displayed to the user | |||
| of an Internet Mail user agent. | of an Internet Mail user agent. | |||
| skipping to change at page 31, line 39 | skipping to change at page 30, line 39 | |||
| --RAA14128.773615765/example.com | --RAA14128.773615765/example.com | |||
| content-type: message/rfc822 | content-type: message/rfc822 | |||
| [original message optionally goes here] | [original message optionally goes here] | |||
| --RAA14128.773615765/example.com-- | --RAA14128.773615765/example.com-- | |||
| 10. IANA Considerations | 10. IANA Considerations | |||
| There are two actions for IANA: | IANA has completed the following actions: | |||
| 1. IANA is asked to update the registration template for the | 1. IANA has updated the registration template for the message/ | |||
| message/disposition-notification media type to the one in | disposition-notification media type to match what appears in | |||
| Section 3.1 of this document, and to update the reference for | Section 3.1 of this document and updated the reference for the | |||
| that media type to point to this document instead of to RFC 3798. | media type to point to this document (instead of to RFC 3798). | |||
| 2. The registries specified here already exist, and this section is | 2. The registries specified here already exist; this section updates | |||
| updating their documentation. IANA is asked to change the | their documentation. IANA has changed the reference document for | |||
| reference document for the three Message Disposition Notification | the three Message Disposition Notification Parameters registries | |||
| Parameters registries to point to this document instead of to RFC | to point to this document (instead of to RFC 3798). | |||
| 3798. | ||||
| This document specifies three types of parameters that must be | This document specifies three types of parameters that must be | |||
| registered with the Internet Assigned Numbers Authority (IANA). All | registered with the Internet Assigned Numbers Authority (IANA). All | |||
| of them use [RFC5226] "Specification required" IANA registration | of them use the "Specification Required" IANA registration policy | |||
| policy. | [RFC5226]. | |||
| The forms below are for use when registering a new disposition- | The forms below are for use when registering a new disposition- | |||
| notification-parameter name for the Disposition-Notification-Options | notification-parameter name for the Disposition-Notification-Options | |||
| header field, a new disposition modifier name, or a new MDN extension | header field, a new disposition modifier name, or a new MDN extension | |||
| field. Each piece of information required by a registration form may | field. Each piece of information required by a registration form may | |||
| be satisfied either by providing the information on the form itself, | be satisfied either by providing the information on the form itself | |||
| or by including a reference to a published, publicly available | or by including a reference to a published and publicly available | |||
| specification that includes the necessary information. IANA MAY | specification that includes the necessary information. IANA MAY | |||
| reject registrations because of incomplete registration forms or | reject registrations because of incomplete registration forms or | |||
| incomplete specifications. | incomplete specifications. | |||
| To register, complete the following applicable form and send it via | To register, complete the following applicable form and send it via | |||
| electronic mail to <IANA@IANA.ORG>. | electronic mail to <IANA@IANA.ORG>. | |||
| 10.1. Disposition-Notification-Options header field disposition- | 10.1. Disposition-Notification-Options Header Field | |||
| notification-parameter names | Disposition-Notification-Parameter Names | |||
| A registration for a Disposition-Notification-Options header field | A registration for a Disposition-Notification-Options header field | |||
| disposition-notification-parameter name MUST include the following | disposition-notification-parameter name MUST include the following | |||
| information: | information: | |||
| a. The proposed disposition-notification-parameter name. | a. The proposed disposition-notification-parameter name. | |||
| b. The syntax for disposition-notification-parameter values, | b. The syntax for disposition-notification-parameter values, | |||
| specified using BNF, ABNF, regular expressions, or other non- | specified using BNF, ABNF, regular expressions, or other non- | |||
| ambiguous language. | ambiguous language. | |||
| c. If disposition-notification-parameter values are not composed | c. If disposition-notification-parameter values are not composed | |||
| entirely of graphic characters from the US-ASCII repertoire, a | entirely of graphic characters from the US-ASCII repertoire, a | |||
| specification for how they are to be encoded as graphic US-ASCII | specification for how they are to be encoded as graphic US-ASCII | |||
| characters in a Disposition-Notification-Options header field. | characters in a Disposition-Notification-Options header field. | |||
| d. A reference to a permanent and readily available public | d. A reference to a permanent and readily available public | |||
| specification that describes the semantics of the disposition- | specification that describes the semantics of the disposition- | |||
| notification-parameter values. | notification-parameter values. | |||
| 10.2. Disposition modifier names | 10.2. Disposition Modifier Names | |||
| A registration for a disposition-modifier name (used in the | A registration for a disposition-modifier name (used in the | |||
| Disposition field of a message/disposition-notification) MUST include | Disposition field of a message/disposition-notification) MUST include | |||
| the following information: | the following information: | |||
| a. The proposed disposition-modifier name. | a. The proposed disposition-modifier name. | |||
| b. A reference to a permanent and readily available public | b. A reference to a permanent and readily available public | |||
| specification that describes the semantics of the disposition | specification that describes the semantics of the disposition | |||
| modifier. | modifier. | |||
| 10.3. MDN extension field names | 10.3. MDN Extension Field Names | |||
| A registration for an MDN extension-field name MUST include the | A registration for an MDN extension-field name MUST include the | |||
| following information: | following information: | |||
| a. The proposed extension field name. | a. The proposed extension field name. | |||
| b. The syntax for extension values, specified using BNF, ABNF, | b. The syntax for extension values, specified using BNF, ABNF, | |||
| regular expressions, or other non-ambiguous language. | regular expressions, or other non-ambiguous language. | |||
| c. If extension-field values are not composed entirely of graphic | c. If extension-field values are not composed entirely of graphic | |||
| characters from the US-ASCII repertoire, a specification for how | characters from the US-ASCII repertoire, a specification for how | |||
| they are to be encoded as graphic US-ASCII characters in a | they are to be encoded as graphic US-ASCII characters in a | |||
| Disposition-Notification-Options header field. | Disposition-Notification-Options header field. | |||
| d. A reference to a permanent and readily available public | d. A reference to a permanent and readily available public | |||
| specification that describes the semantics of the extension | specification that describes the semantics of the extension | |||
| field. | field. | |||
| 11. Acknowledgements | 11. References | |||
| The contributions of Bruce Lilly, Alfred Hoenes, Barry Leiba, Ben | ||||
| Campbell, Pete Resnick, Donald Eastlake and Alissa Cooper are | ||||
| gratefully acknowledged for this revision. | ||||
| The contributions of Roger Fajman and Greg Vaudreuil to earlier | ||||
| versions of this document are also gratefully acknowledged. | ||||
| 12. References | ||||
| 12.1. Normative References | 11.1. Normative References | |||
| [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, | [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, | |||
| DOI 10.17487/RFC5321, October 2008, | DOI 10.17487/RFC5321, October 2008, | |||
| <http://www.rfc-editor.org/info/rfc5321>. | <http://www.rfc-editor.org/info/rfc5321>. | |||
| [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, | [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, | |||
| DOI 10.17487/RFC5322, October 2008, | DOI 10.17487/RFC5322, October 2008, | |||
| <http://www.rfc-editor.org/info/rfc5322>. | <http://www.rfc-editor.org/info/rfc5322>. | |||
| [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
| skipping to change at page 35, line 10 | skipping to change at page 33, line 35 | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3503] Melnikov, A., "Message Disposition Notification (MDN) | [RFC3503] Melnikov, A., "Message Disposition Notification (MDN) | |||
| profile for Internet Message Access Protocol (IMAP)", | profile for Internet Message Access Protocol (IMAP)", | |||
| RFC 3503, DOI 10.17487/RFC3503, March 2003, | RFC 3503, DOI 10.17487/RFC3503, March 2003, | |||
| <http://www.rfc-editor.org/info/rfc3503>. | <http://www.rfc-editor.org/info/rfc3503>. | |||
| 12.2. Informative References | 11.2. Informative References | |||
| [RFC2634] Hoffman, P., Ed., "Enhanced Security Services for S/MIME", | [RFC2634] Hoffman, P., Ed., "Enhanced Security Services for S/MIME", | |||
| RFC 2634, DOI 10.17487/RFC2634, June 1999, | RFC 2634, DOI 10.17487/RFC2634, June 1999, | |||
| <http://www.rfc-editor.org/info/rfc2634>. | <http://www.rfc-editor.org/info/rfc2634>. | |||
| [RFC3249] Cancio, V., Moldovan, M., Tamura, H., and D. Wing, | [RFC3249] Cancio, V., Moldovan, M., Tamura, H., and D. Wing, | |||
| "Implementers Guide for Facsimile Using Internet Mail", | "Implementers Guide for Facsimile Using Internet Mail", | |||
| RFC 3249, DOI 10.17487/RFC3249, September 2002, | RFC 3249, DOI 10.17487/RFC3249, September 2002, | |||
| <http://www.rfc-editor.org/info/rfc3249>. | <http://www.rfc-editor.org/info/rfc3249>. | |||
| skipping to change at page 36, line 5 | skipping to change at page 34, line 33 | |||
| [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, | [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, | |||
| DOI 10.17487/RFC5598, July 2009, | DOI 10.17487/RFC5598, July 2009, | |||
| <http://www.rfc-editor.org/info/rfc5598>. | <http://www.rfc-editor.org/info/rfc5598>. | |||
| [RFC6533] Hansen, T., Ed., Newman, C., and A. Melnikov, | [RFC6533] Hansen, T., Ed., Newman, C., and A. Melnikov, | |||
| "Internationalized Delivery Status and Disposition | "Internationalized Delivery Status and Disposition | |||
| Notifications", RFC 6533, DOI 10.17487/RFC6533, February | Notifications", RFC 6533, DOI 10.17487/RFC6533, February | |||
| 2012, <http://www.rfc-editor.org/info/rfc6533>. | 2012, <http://www.rfc-editor.org/info/rfc6533>. | |||
| [X.400] International Telecommunications Union, "Message handling | ||||
| system and service overview", ITU-T Recommendation | ||||
| F.400/X.400, June 1999. | ||||
| Appendix A. Changes from RFC 3798 | Appendix A. Changes from RFC 3798 | |||
| Changed IANA registration for different subregistries to | Changed IANA registration for different subregistries to | |||
| "Specification Required" to match what is already used by IANA. | "Specification Required" to match what is already used by IANA. | |||
| Updated IANA registration template for message/disposition- | Updated IANA registration template for message/disposition- | |||
| notification. | notification. | |||
| "X-" fields no longer reserved for experimental use and can now be | "X-" fields no longer reserved for experimental use and can now be | |||
| registered in compliance with RFC 6648. | registered in compliance with RFC 6648. | |||
| skipping to change at page 36, line 27 | skipping to change at page 35, line 11 | |||
| Strengthen requirements on obtaining user consent in order to protect | Strengthen requirements on obtaining user consent in order to protect | |||
| user privacy. | user privacy. | |||
| Removed discussion of using source routes with MDNs, as source route | Removed discussion of using source routes with MDNs, as source route | |||
| is a deprecated Email feature. | is a deprecated Email feature. | |||
| The values of "dispatched" and "processed" were lost from the ABNF | The values of "dispatched" and "processed" were lost from the ABNF | |||
| for "disposition-type". (Erratum #691) | for "disposition-type". (Erratum #691) | |||
| Because the warning disposition modifier was previously removed, | Because the warning disposition modifier was previously removed, the | |||
| warning-field has also been removed. (Erratum #692) | warning-field has also been removed. (Erratum #692) | |||
| Because the failed disposition type was previously removed, failure- | Because the failed disposition type was previously removed, the | |||
| field has also been removed. | failure-field has also been removed. | |||
| The ABNF for ua-name and ua-product included semi-colon, which could | The ABNF for ua-name and ua-product included a semi-colon, which | |||
| not be distinguished from *text in the production. The ua-name was | could not be distinguished from *text in the production. The ua-name | |||
| restricted to not include semi-colon. Semi-colon can still appear in | was restricted to not include semi-colon. Semi-colon can still | |||
| the ua-product. | appear in the ua-product. | |||
| Removed recommendation to include the MUA DNS host name in the | Removed recommendation to include the MUA DNS host name in the | |||
| "Reporting-UA" MDN field. | "Reporting-UA" MDN field. | |||
| The ABNF did not indicate all places that whitespace was allowable, | The ABNF did not indicate all places that whitespace was allowable, | |||
| in particular folding whitespace, although all implementations allow | in particular folding whitespace, although all implementations allow | |||
| whitespace and folding in the header fields just like any other | whitespace and folding in the header fields just like any other | |||
| RFC5322 [RFC5322]-formatted header field. There were also a number | header field formatted as described in RFC 5322 RFC5322 [RFC5322]. | |||
| of places in the ABNF that inconsistently permitted comments and | There were also a number of places in the ABNF that inconsistently | |||
| whitespace in one leg of the production and not another. The ABNF | permitted comments and whitespace in one leg of the production and | |||
| now specifies FWS and CFWS in several places that should have already | not another. The ABNF now specifies FWS and CFWS in several places | |||
| been specified by the grammar. | that should have already been specified by the grammar. | |||
| Extension-field was defined in the collected grammar but not in the | Extension-field was defined in the collected grammar but not in the | |||
| main text. | main text. | |||
| The comparison of mailboxes in Disposition-Notification-To to the | The comparison of mailboxes in Disposition-Notification-To to the | |||
| Return-Path addr-spec was clarified. | Return-Path addr-spec was clarified. | |||
| The use of the grammar production "parameter" was confusing with the | The use of the grammar production "parameter" was confusing with the | |||
| RFC2045 [RFC2045] production of the same name, as well as other uses | RFC 2045 [RFC2045] production of the same name, as well as other uses | |||
| of the same term. These have been clarified. | of the same term. These have been clarified. | |||
| A clarification was added on the extent of the 7bit nature of MDNs. | A clarification was added on the extent of the 7bit nature of MDNs. | |||
| Uses of the terms "may" and "might" were clarified. | Uses of the terms "may" and "might" were clarified. | |||
| A clarification was added on the order of the fields in the message/ | A clarification was added on the order of the fields in the message/ | |||
| disposition-notification content. | disposition-notification content. | |||
| Acknowledgements | ||||
| The contributions of Bruce Lilly, Alfred Hoenes, Barry Leiba, Ben | ||||
| Campbell, Pete Resnick, Donald Eastlake, and Alissa Cooper are | ||||
| gratefully acknowledged for this revision. | ||||
| The contributions of Roger Fajman and Greg Vaudreuil to earlier draft | ||||
| versions of this document are also gratefully acknowledged. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Tony Hansen (editor) | Tony Hansen (editor) | |||
| AT&T Laboratories | AT&T Laboratories | |||
| 200 Laurel Ave. South | 200 Laurel Ave. South | |||
| Middletown, NJ 07748 | Middletown, NJ 07748 | |||
| USA | United States of America | |||
| Email: tony@att.com | Email: tony@att.com | |||
| Alexey Melnikov (editor) | Alexey Melnikov (editor) | |||
| Isode Ltd | Isode Ltd | |||
| 14 Castle Mews | 14 Castle Mews | |||
| Hampton, Middlesex TW12 2NP | Hampton, Middlesex TW12 2NP | |||
| UK | United Kingdom | |||
| Email: Alexey.Melnikov@isode.com | Email: Alexey.Melnikov@isode.com | |||
| End of changes. 178 change blocks. | ||||
| 370 lines changed or deleted | 384 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||