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/ |