idnits 2.17.1 draft-hansen-mdn-3798bis-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. -- The draft header indicates that this document obsoletes RFC3798, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: disposition-modifier-extension Disposition modifiers may be defined in the future by later revisions or extensions to this specification. Disposition value names beginning with "X-" will never be defined as standard values; such names are reserved for experimental use. MDN disposition value names NOT beginning with "X-" MUST be registered with the Internet Assigned Numbers Authority (IANA) and described in a standards-track RFC or an experimental RFC approved by the IESG. (See Section 10 for a registration form.) MDNs with disposition modifier names not understood by the receiving MUA MAY be silently ignored or placed in the user's mailbox without special interpretation. They MUST not cause any error message to be sent to the sender of the MDN. == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 3, 2014) is 3584 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Looks like a reference, but probably isn't: 'FWS' on line 1011 ** Obsolete normative reference: RFC 2821 (ref. '1') (Obsoleted by RFC 5321) ** Obsolete normative reference: RFC 3462 (ref. '6') (Obsoleted by RFC 6522) Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group T. Hansen, Ed. 3 Internet-Draft AT&T Laboratories 4 Obsoletes: 3798 (if approved) A. Melnikov, Ed. 5 Intended status: Standards Track Isode Ltd 6 Expires: January 4, 2015 July 3, 2014 8 Message Disposition Notification 9 draft-hansen-mdn-3798bis-02.txt 11 Abstract 13 This memo defines a MIME content-type that may be used by a mail user 14 agent (MUA) or electronic mail gateway to report the disposition of a 15 message after it has been successfully delivered to a recipient. 16 This content-type is intended to be machine-processable. Additional 17 message header fields are also defined to permit Message Disposition 18 Notifications (MDNs) to be requested by the sender of a message. The 19 purpose is to extend Internet Mail to support functionality often 20 found in other messaging systems, such as X.400 and the proprietary 21 "LAN-based" systems, and often referred to as "read receipts," 22 "acknowledgements", or "receipt notifications." The intention is to 23 do this while respecting privacy concerns, which have often been 24 expressed when such functions have been discussed in the past. 26 Because many messages are sent between the Internet and other 27 messaging systems (such as X.400 or the proprietary "LAN-based" 28 systems), the MDN protocol is designed to be useful in a multi- 29 protocol messaging environment. To this end, the protocol described 30 in this memo provides for the carriage of "foreign" addresses, in 31 addition to those normally used in Internet Mail. Additional 32 attributes may also be defined to support "tunneling" of foreign 33 notifications through Internet Mail. 35 Status of This Memo 37 This Internet-Draft is submitted in full conformance with the 38 provisions of BCP 78 and BCP 79. 40 Internet-Drafts are working documents of the Internet Engineering 41 Task Force (IETF). Note that other groups may also distribute 42 working documents as Internet-Drafts. The list of current Internet- 43 Drafts is at http://datatracker.ietf.org/drafts/current/. 45 Internet-Drafts are draft documents valid for a maximum of six months 46 and may be updated, replaced, or obsoleted by other documents at any 47 time. It is inappropriate to use Internet-Drafts as reference 48 material or to cite them other than as "work in progress." 49 This Internet-Draft will expire on January 4, 2015. 51 Copyright Notice 53 Copyright (c) 2014 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (http://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 This document may contain material from IETF Documents or IETF 67 Contributions published or made publicly available before November 68 10, 2008. The person(s) controlling the copyright in some of this 69 material may not have granted the IETF Trust the right to allow 70 modifications of such material outside the IETF Standards Process. 71 Without obtaining an adequate license from the person(s) controlling 72 the copyright in such materials, this document may not be modified 73 outside the IETF Standards Process, and derivative works of it may 74 not be created outside the IETF Standards Process, except to format 75 it for publication as an RFC or to translate it into languages other 76 than English. 78 Table of Contents 80 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 81 1.1. Purposes . . . . . . . . . . . . . . . . . . . . . . . . 3 82 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 4 83 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 84 2. Requesting Message Disposition Notifications . . . . . . . . 5 85 2.1. The Disposition-Notification-To Header . . . . . . . . . 5 86 2.2. The Disposition-Notification-Options Header . . . . . . . 7 87 2.3. The Original-Recipient Header . . . . . . . . . . . . . . 8 88 2.4. Use with the Message/Partial Content Type . . . . . . . . 9 89 3. Format of a Message Disposition Notification . . . . . . . . 9 90 3.1. The message/disposition-notification content-type . . . . 11 91 3.2. Message/disposition-notification Fields . . . . . . . . . 13 92 3.3. Extension-fields . . . . . . . . . . . . . . . . . . . . 18 93 4. Timeline of events . . . . . . . . . . . . . . . . . . . . . 19 94 5. Conformance and Usage Requirements . . . . . . . . . . . . . 20 95 6. Security Considerations . . . . . . . . . . . . . . . . . . . 21 96 6.1. Forgery . . . . . . . . . . . . . . . . . . . . . . . . . 21 97 6.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 21 98 6.3. Non-Repudiation . . . . . . . . . . . . . . . . . . . . . 22 99 6.4. Mail Bombing . . . . . . . . . . . . . . . . . . . . . . 22 100 7. Collected Grammar . . . . . . . . . . . . . . . . . . . . . . 22 101 8. Guidelines for Gatewaying MDNs . . . . . . . . . . . . . . . 24 102 8.1. Gatewaying from other mail systems to MDNs . . . . . . . 24 103 8.2. Gatewaying from MDNs to other mail systems . . . . . . . 25 104 8.3. Gatewaying of MDN-requests to other mail systems . . . . 25 105 9. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 106 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 107 10.1. Disposition-Notification-Options header field 108 disposition-notification-parameter names . . . . . . . . 27 109 10.2. Disposition modifier names . . . . . . . . . . . . . . . 28 110 10.3. MDN extension field names . . . . . . . . . . . . . . . 28 111 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 112 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 113 12.1. Normative References . . . . . . . . . . . . . . . . . . 29 114 12.2. Informative References . . . . . . . . . . . . . . . . . 29 115 Appendix A. Changes from RFC 3798 . . . . . . . . . . . . . . . 29 116 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 118 1. Introduction 120 This memo defines a RFC-MIME-MEDIA [4] content-type for message 121 disposition notifications (MDNs). An MDN can be used to notify the 122 sender of a message of any of several conditions that may occur after 123 successful delivery, such as display of the message contents, 124 printing of the message, deletion (without display) of the message, 125 or the recipient's refusal to provide MDNs. The "message/ 126 disposition-notification" content-type defined herein is intended for 127 use within the framework of the "multipart/report" content type 128 defined in RFC-REPORT [6]. 130 This memo defines the format of the notifications and the RFC-MSGFMT 131 [2] header fields used to request them. 133 This memo is an update to RFC 3798 and is intended to be published at 134 Internet Standard Level. 136 This memo is currently marked with the 'pre5378Trust200902' IPR 137 statements until a release has been obtained from all previous 138 authors and editors of this text. 140 1.1. Purposes 142 The MDNs defined in this memo are expected to serve several purposes: 144 a. Inform human beings of the disposition of messages after 145 successful delivery, in a manner that is largely independent of 146 human language; 148 b. Allow mail user agents to keep track of the disposition of 149 messages sent, by associating returned MDNs with earlier message 150 transmissions; 152 c. Convey disposition notification requests and disposition 153 notifications between Internet Mail and "foreign" mail systems 154 via a gateway; 156 d. Allow "foreign" notifications to be tunneled through a MIME- 157 capable message system and back into the original messaging 158 system that issued the original notification, or even to a third 159 messaging system; 161 e. Allow language-independent, yet reasonably precise, indications 162 of the disposition of a message to be delivered. 164 1.2. Requirements 166 These purposes place the following constraints on the notification 167 protocol: 169 a. It must be readable by humans, and must be machine-parsable. 171 b. It must provide enough information to allow message senders (or 172 their user agents) to unambiguously associate an MDN with the 173 message that was sent and the original recipient address for 174 which the MDN was issued (if such information is available), even 175 if the message was forwarded to another recipient address. 177 c. It must also be able to describe the disposition of a message 178 independent of any particular human language or of the 179 terminology of any particular mail system. 181 d. The specification must be extensible in order to accommodate 182 future requirements. 184 1.3. Terminology 186 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 187 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 188 document are to be interpreted as described in RFC-KEYWORDS [9]. 190 All syntax descriptions use the ABNF specified by RFC-MSGFMT [2], in 191 which the lexical tokens (used below) are defined: "atom", "CRLF", 192 "FWS", "CFWS", "field-name", "mailbox", "msg-id", and "text". The 193 following lexical tokens are defined in the definition of the 194 Content-Type header field in RFC-MIME-BODY [3]: "attribute" and 195 "value". 197 2. Requesting Message Disposition Notifications 199 Message disposition notifications are requested by including a 200 Disposition-Notification-To header field in the message. Further 201 information to be used by the recipient's MUA in generating the MDN 202 may be provided by also including Original-Recipient and/or 203 Disposition-Notification-Options header fields in the message. 205 2.1. The Disposition-Notification-To Header 207 A request for the receiving user agent to issue message disposition 208 notifications is made by placing a Disposition-Notification-To header 209 field into the message. The syntax of the header field is 211 mdn-request-header = "Disposition-Notification-To" ":" [FWS] 212 mailbox *("," [FWS] mailbox) 214 The presence of a Disposition-Notification-To header field in a 215 message is merely a request for an MDN. The recipients' user agents 216 are always free to silently ignore such a request. 218 An MDN MUST NOT itself have a Disposition-Notification-To header 219 field. An MDN MUST NOT be generated in response to an MDN. 221 A user agent MUST NOT issue more than one MDN on behalf of each 222 particular recipient. That is, once an MDN has been issued on behalf 223 of a recipient, no further MDNs may be issued on behalf of that 224 recipient, even if another disposition is performed on the message. 225 However, if a message is forwarded, an MDN may have been issued for 226 the recipient doing the forwarding and the recipient of the forwarded 227 message may also cause an MDN to be generated. 229 While Internet standards normally do not specify the behavior of user 230 interfaces, it is strongly recommended that the user agent obtain the 231 user's consent before sending an MDN. This consent could be obtained 232 for each message through some sort of prompt or dialog box, or 233 globally through the user's setting of a preference. 235 MDNs SHOULD NOT be sent automatically if the address in the 236 Disposition-Notification-To header field differs from the address in 237 the Return-Path header field (see RFC-MSGFMT [2]). In this case, 238 confirmation from the user SHOULD be obtained, if possible. If 239 obtaining consent is not possible (e.g., because the user is not 240 online at the time), then an MDN SHOULD NOT be sent. 242 Confirmation from the user SHOULD be obtained (or no MDN sent) if 243 there is no Return-Path header field in the message, or if there is 244 more than one distinct address in the Disposition-Notification-To 245 header field. 247 The comparison of the addresses should be done using only the addr- 248 spec (local-part "@" domain) portion, excluding any angle brackets, 249 phrase and route. The comparison MUST be case-sensitive for the 250 local-part and case-insensitive for the domain part. [[ more work 251 needed here ]] 253 [[CREF1: (From Bruce) the domains might differ, yet refer to the same 254 place (equivalent MX mail exchangers, A vs. CNAME DNS records, DNS 255 names vs. domain literals, etc.) These are not addressed in 3798. 256 ]] 258 [[CREF2: (From Bruce) local-parts and domains might differ as literal 259 text, but be equivalent when put in canonical form. The issues are 260 discussed in RFC 3696 -- but beware -- 3696 has a number of errors; 261 refer to RFC 5322 for the actual quoting and escaping rules. ]] 263 [[CREF3: (From Bruce) internationalization issues might further 264 compound comparison issues between local-parts and domains 265 (specifying that the on-the-wire forms must be compared might 266 suffice) ]] 268 [[CREF4: (From Bruce) there exist some conventions (not standardized 269 as far as I know) regarding subaddressing applied to local parts, 270 e.g. as in tony+rfc3798@maillennium.att.com (that example also 271 illustrates an issue regarding subdomains) ]] 273 [[CREF5: (From Bruce) Of those, the angle bracket issue ought to be 274 understood, but clarification could benefit implementors, especially 275 as RFC 5322 defined the Return-Path syntax somewhat peculiarly. 276 Canonicalization of local-parts and domains should probably be 277 required prior to comparison, and use of on-the-wire forms should 278 probably also be specified. DNS equivalence issues might be tricky 279 for some implementations (e.g. offline reading); perhaps the 280 specification could use RFC 2119 "MAY" to give implementations leeway 281 to consider A vs. CNAME and DNS vs domain literal equivalence for 282 situations where DNS is available to the implementation (I'm not sure 283 about MX). About the only thing that can be said w.r.t. 284 subaddressing and subdomains is a caution to sending MUA and address- 285 rewriting MTA authors that a mismatch might result in no MDN being 286 produced. ]] 288 If the message contains more than one Return-Path header field, the 289 implementation may pick one to use for the comparison, or treat the 290 situation as a failure of the comparison. 292 The reason for not automatically sending an MDN if the comparison 293 fails or more than one address is specified is to reduce the 294 possibility of mail loops and of MDNs being used for mail bombing. 296 A message that contains a Disposition-Notification-To header field 297 SHOULD also contain a Message-ID header field as specified in RFC- 298 MSGFMT [2]. This will permit automatic correlation of MDNs with 299 their original messages by user agents. 301 If the request for message disposition notifications for some 302 recipients and not others is desired, two copies of the message 303 should be sent, one with a Disposition-Notification-To header field 304 and one without. Many of the other header fields of the message 305 (e.g., To, Cc) will be the same in both copies. The recipients in 306 the respective message envelopes determine for whom message 307 disposition notifications are requested and for whom they are not. 308 If desired, the Message-ID header field may be the same in both 309 copies of the message. Note that there are other situations (e.g., 310 Bcc) in which it is necessary to send multiple copies of a message 311 with slightly different header fields. The combination of such 312 situations and the need to request MDNs for a subset of all 313 recipients may result in more than two copies of a message being 314 sent, some with a Disposition-Notification-To header field and some 315 without. 317 Messages posted to newsgroups SHOULD NOT have a Disposition- 318 Notification-To header field. 320 2.2. The Disposition-Notification-Options Header 322 Future extensions to this specification may require that information 323 be supplied to the recipient's MUA for additional control over how 324 and what MDNs are generated. The Disposition-Notification-Options 325 header field provides an extensible mechanism for such information. 326 The syntax of this header field is as follows: 328 Disposition-Notification-Options = 329 "Disposition-Notification-Options" ":" [FWS] 330 disposition-notification-parameter-list 331 disposition-notification-parameter-list = 332 disposition-notification-parameter 333 *(";" [FWS] disposition-notification-parameter) 334 disposition-notification-parameter = attribute [FWS] "=" 335 [FWS] importance "," [FWS] value *("," [FWS] value) 336 importance = "required" / "optional" 338 An importance of "required" indicates that interpretation of the 339 disposition-notification-parameter is necessary for proper generation 340 of an MDN in response to this request. An importance of "optional" 341 indicates that an MUA that does not understand the meaning of this 342 disposition-notification-parameter MAY generate an MDN in response 343 anyway, ignoring the value of the disposition-notification-parameter. 345 No disposition-notification-parameter attribute names are defined in 346 this specification. Attribute names may be defined in the future by 347 later revisions or extensions to this specification. Disposition- 348 notification-parameter attribute names beginning with "X-" will never 349 be defined as standard names; such names are reserved for 350 experimental use. disposition-notification-parameter attribute names 351 not beginning with "X-" MUST be registered with the Internet Assigned 352 Numbers Authority (IANA) and described in a standards-track RFC or an 353 experimental RFC approved by the IESG. [[ more work needed here ]] 354 (See Section 10 for a registration form.) 356 2.3. The Original-Recipient Header 358 Since electronic mail addresses may be rewritten while the message is 359 in transit, it is useful for the original recipient address to be 360 made available by the delivering MTA. The delivering MTA may be able 361 to obtain this information from the ORCPT parameter of the SMTP RCPT 362 TO command, as defined in RFC-SMTP [1] and RFC-DSN-SMTP [7]. 364 RFC-DSN-SMTP [7] is amended as follows: If the ORCPT information is 365 available, the delivering MTA SHOULD insert an Original-Recipient 366 header field at the beginning of the message (along with the Return- 367 Path header field). The delivering MTA MAY delete any other 368 Original-Recipient header fields that occur in the message. The 369 syntax of this header field is as follows: 371 original-recipient-header = 372 "Original-Recipient" ":" address-type ";" generic-address 374 The address-type and generic-address token are as specified in the 375 description of the Original-Recipient field in Section 3.2.3. 377 The purpose of carrying the original recipient information and 378 returning it in the MDN is to permit automatic correlation of MDNs 379 with the original message on a per-recipient basis. 381 2.4. Use with the Message/Partial Content Type 383 The use of the header fields Disposition-Notification-To, 384 Disposition-Notification-Options, and Original-Recipient with the 385 MIME message/partial content type (RFC-MIME-MEDIA [4]]) requires 386 further definition. 388 When a message is segmented into two or more message/partial 389 fragments, the three header fields mentioned in the above paragraph 390 SHOULD be placed in the "inner" or "enclosed" message (using the 391 terms of RFC-MIME-MEDIA [4]). These header fields SHOULD NOT be used 392 in the header fields of any of the fragments themselves. 394 When the multiple message/partial fragments are reassembled, the 395 following applies. If these header fields occur along with the other 396 header fields of a message/partial fragment message, they pertain to 397 an MDN that will be generated for the fragment. If these header 398 fields occur in the header fields of the "inner" or "enclosed" 399 message (using the terms of RFC-MIME-MEDIA [4]), they pertain to an 400 MDN that will be generated for the reassembled message. 401 Section 5.2.2.1 of RFC-MIME-MEDIA [4]) is amended to specify that, in 402 addition to the header fields specified there, the three header 403 fields described in this specification are to be appended, in order, 404 to the header fields of the reassembled message. Any occurrences of 405 the three header fields defined here in the header fields of the 406 initial enclosing message must not be copied to the reassembled 407 message. 409 3. Format of a Message Disposition Notification 411 A message disposition notification is a MIME message with a top-level 412 content-type of multipart/report (defined in RFC-REPORT [6]). When 413 multipart/report content is used to transmit an MDN: 415 a. The report-type parameter of the multipart/report content is 416 "disposition-notification". 418 b. The first component of the multipart/report contains a human- 419 readable explanation of the MDN, as described in RFC-REPORT [6]. 421 c. The second component of the multipart/report is of content-type 422 message/disposition-notification, described in Section 3.1 of 423 this document. 425 d. If the original message or a portion of the message is to be 426 returned to the sender, it appears as the third component of the 427 multipart/report. The decision of whether or not to return the 428 message or part of the message is up to the MUA generating the 429 MDN. However, in the case of encrypted messages requesting MDNs, 430 encrypted message text MUST be returned, if it is returned at 431 all, only in its original encrypted form. 433 NOTE: For message disposition notifications gatewayed from foreign 434 systems, the header fields of the original message may not be 435 available. In this case, the third component of the MDN may be 436 omitted, or it may contain "simulated" RFC-MSGFMT [2] header fields 437 that contain equivalent information. In particular, it is very 438 desirable to preserve the subject and date fields from the original 439 message. 441 The MDN MUST be addressed (in both the message header field and the 442 transport envelope) to the address(es) from the Disposition- 443 Notification-To header field from the original message for which the 444 MDN is being generated. 446 The From field of the message header field of the MDN MUST contain 447 the address of the person for whom the message disposition 448 notification is being issued. 450 The envelope sender address (i.e., SMTP MAIL FROM) of the MDN MUST be 451 null (<>), specifying that no Delivery Status Notification messages 452 or other messages indicating successful or unsuccessful delivery are 453 to be sent in response to an MDN. 455 A message disposition notification MUST NOT itself request an MDN. 456 That is, it MUST NOT contain a Disposition-Notification-To header 457 field. 459 The Message-ID header field (if present) for an MDN MUST be different 460 from the Message-ID of the message for which the MDN is being issued. 462 A particular MDN describes the disposition of exactly one message for 463 exactly one recipient. Multiple MDNs may be generated as a result of 464 one message submission, one per recipient. However, due to the 465 circumstances described in Section 2.1, MDNs may not be generated for 466 some recipients for which MDNs were requested. 468 3.1. The message/disposition-notification content-type 470 The message/disposition-notification content-type is defined as 471 follows: 473 MIME type name: message 475 MIME subtype name: disposition-notification 477 Optional parameters: none 479 Encoding considerations: "7bit" encoding is sufficient and MUST be 480 used to maintain readability when viewed by non- 481 MIME mail readers. 483 Security considerations: discussed in Section 6 of this memo. 485 (While the 7bit restriction applies to the message/disposition- 486 notification portion of the multipart/report content, it does not 487 apply to the optional third portion of the multipart/report content.) 489 The message/disposition-notification report type for use in the 490 multipart/report is "disposition-notification". 492 The body of a message/disposition-notification consists of one or 493 more "fields" formatted according to the ABNF of RFC-MSGFMT [2] 494 header "fields". The syntax of the message/disposition-notification 495 content is as follows: 497 disposition-notification-content = [ reporting-ua-field CRLF ] 498 [ mdn-gateway-field CRLF ] 499 [ original-recipient-field CRLF ] 500 final-recipient-field CRLF 501 [ original-message-id-field CRLF ] 502 disposition-field CRLF 503 *( failure-field CRLF ) 504 *( error-field CRLF ) 505 *( extension-field CRLF ) 506 extension-field = extension-field-name ":" *(CFWS / text) 507 extension-field-name = field-name 509 [[ more work needed here ]] 511 [[CREF6: Is this wording okay ? ]] Note that the order of the above 512 fields is fixed. 514 3.1.1. General conventions for fields 516 Since these fields are defined according to the rules of RFC-MSGFMT 517 [2], the same conventions for continuation lines and comments apply. 518 Notification fields may be continued onto multiple lines by beginning 519 each additional line with a SPACE or HTAB. Text that appears in 520 parentheses is considered a comment and not part of the contents of 521 that notification field. Field names are case-insensitive, so the 522 names of notification fields may be spelled in any combination of 523 upper and lower case letters. Comments in notification fields may 524 use the "encoded-word" construct defined in RFC-MIME-HEADER [5]. 526 3.1.2. "*-type" subfields 528 Several fields consist of a "-type" subfield, followed by a semi- 529 colon, followed by "*text". [[ more work needed here ]] 530 [[CREF7: ( Shouldn't this allow FWS somehow? Alexey: yes!) ]] 531 [[CREF8: ( I see that address-type and mta-name-type uses atom 532 instead of *text, which not only permits FWS, but goes further to 533 allow CFWS. ) ]] For these fields, the keyword used in the address- 534 type or MTA-type subfield indicates the expected format of the 535 address or MTA-name that follows. 537 The "-type" subfields are defined as follows: 539 a. An "address-type" specifies the format of a mailbox address. For 540 example, Internet Mail addresses use the "rfc822" address-type. 542 address-type = atom 544 [[ more work needed here ]] 545 [[CREF9: This is not *text ]] 547 b. An "MTA-name-type" specifies the format of a mail transfer agent 548 name. For example, for an SMTP server on an Internet host, the 549 MTA name is the domain name of that host, and the "dns" MTA-name- 550 type is used. 552 mta-name-type = atom 554 [[ more work needed here ]] 555 [[CREF10: This is not *text ]] 557 Values for address-type and mta-name-type are case-insensitive. 558 Thus, address-type values of "RFC822" and "rfc822" are equivalent. 560 The Internet Assigned Numbers Authority (IANA) maintains a registry 561 of address-type and mta-name-type values, along with descriptions of 562 the meanings of each, or a reference to one or more specifications 563 that provide such descriptions. (The "rfc822" address-type is 564 defined in RFC-DSN-SMTP [7].) Registration forms for address-type 565 and mta-name-type appear in RFC-DSN-FORMAT [8]. 567 3.2. Message/disposition-notification Fields 569 3.2.1. The Reporting-UA field 571 reporting-ua-field = "Reporting-UA" ":" ua-name [ ";" ua-product ] 572 ua-name = *text-no-semi 573 ua-product = *text-no-semi 574 text-no-semi = %d1-9 / ; text characters excluding NUL, CR, 575 %d11 / %d12 / %d14-58 / %d60-127 ; LF, or semi-colon 577 The Reporting-UA field is defined as follows: 579 An MDN describes the disposition of a message after it has been 580 delivered to a recipient. In all cases, the Reporting-UA is the MUA 581 that performed the disposition described in the MDN. This field is 582 optional, but recommended. For Internet Mail user agents, it is 583 recommended that this field contain both: the DNS name of the 584 particular instance of the MUA that generated the MDN, and the name 585 of the product. For example, 587 Reporting-UA: pc.example.com; Foomail 97.1 589 If the reporting MUA consists of more than one component (e.g., a 590 base program and plug-ins), this may be indicated by including a list 591 of product names. 593 3.2.2. The MDN-Gateway field 595 The MDN-Gateway field indicates the name of the gateway or MTA that 596 translated a foreign (non-Internet) message disposition notification 597 into this MDN. This field MUST appear in any MDN that was translated 598 by a gateway from a foreign system into MDN format, and MUST NOT 599 appear otherwise. 601 mdn-gateway-field = "MDN-Gateway" ":" mta-name-type ";" mta-name 602 mta-name = *text 603 For gateways into Internet Mail, the MTA-name-type will normally be 604 "smtp", and the mta-name will be the Internet domain name of the 605 gateway. 607 3.2.3. Original-Recipient field 609 The Original-Recipient field indicates the original recipient address 610 as specified by the sender of the message for which the MDN is being 611 issued. For Internet Mail messages, the value of the Original- 612 Recipient field is obtained from the Original-Recipient header field 613 from the message for which the MDN is being generated. If there is 614 no Original-Recipient header field in the message, then the Original- 615 Recipient field MUST be omitted, unless the same information is 616 reliably available some other way. If there is an Original-Recipient 617 header field in the original message (or original recipient 618 information is reliably available some other way), then the Original- 619 Recipient field must be supplied. If there is more than one 620 Original-Recipient header field in the message, the MUA may choose 621 the one to use, or act as if no Original-Recipient header field is 622 present. 624 original-recipient-field = 625 "Original-Recipient" ":" address-type ";" generic-address 626 generic-address = *text 628 The address-type field indicates the type of the original recipient 629 address. If the message originated within the Internet, the address- 630 type field will normally be "rfc822", and the address will be 631 according to the syntax specified in RFC-MSGFMT [2]. The value 632 "unknown" should be used if the Reporting MUA cannot determine the 633 type of the original recipient address from the message envelope. 634 This address is the same as that provided by the sender and can be 635 used to automatically correlate MDN reports with original messages on 636 a per recipient basis. 638 3.2.4. Final-Recipient field 640 The Final-Recipient field indicates the recipient for which the MDN 641 is being issued. This field MUST be present. 643 The syntax of the field is as follows: 645 final-recipient-field = 646 "Final-Recipient" ":" address-type ";" generic-address 648 The generic-address subfield of the Final-Recipient field MUST 649 contain the mailbox address of the recipient (from the From header 650 field of the MDN) as it was when the MDN was generated by the MUA. 652 The Final-Recipient address may differ from the address originally 653 provided by the sender, because it may have been transformed during 654 forwarding and gatewaying into a totally unrecognizable mess. 655 However, in the absence of the optional Original-Recipient field, the 656 Final-Recipient field and any returned content may be the only 657 information available with which to correlate the MDN with a 658 particular message recipient. 660 The address-type subfield indicates the type of address expected by 661 the reporting MTA in that context. Recipient addresses obtained via 662 SMTP will normally be of address-type "rfc822". 664 Since mailbox addresses (including those used in the Internet) may be 665 case sensitive, the case of alphabetic characters in the address MUST 666 be preserved. 668 3.2.5. Original-Message-ID field 670 The Original-Message-ID field indicates the message-ID of the message 671 for which the MDN is being issued. It is obtained from the Message- 672 ID header field of the message for which the MDN is issued. This 673 field MUST be present if the original message contained a Message-ID 674 header field. The syntax of the field is as follows: 676 original-message-id-field = 677 "Original-Message-ID" ":" msg-id 679 The msg-id token is as specified in RFC-MSGFMT [2]. 681 3.2.6. Disposition field 683 The Disposition field indicates the action performed by the 684 Reporting-MUA on behalf of the user. This field MUST be present. 686 The syntax for the Disposition field is: 688 disposition-field = 689 "Disposition" ":" [FWS] disposition-mode ";" 690 [FWS] disposition-type 691 [ "/" disposition-modifier 692 *( "," disposition-modifier ) ] 693 disposition-mode = action-mode "/" [FWS] sending-mode 694 action-mode = "manual-action" / "automatic-action" 695 sending-mode = "MDN-sent-manually" / "MDN-sent-automatically" 696 disposition-type = "displayed" / "deleted" / "dispatched" / 697 "processed" 698 disposition-modifier = [FWS] 699 ("error" / disposition-modifier-extension) 700 disposition-modifier-extension = atom 702 The disposition-mode, disposition-type, and disposition-modifier may 703 be spelled in any combination of upper and lower case characters. 705 3.2.6.1. Disposition modes 707 The following disposition modes are defined: 709 "manual-action" The disposition described by the disposition type 710 was a result of an explicit instruction by the 711 user rather than some sort of automatically 712 performed action. 714 "automatic-action" The disposition described by the disposition type 715 was a result of an automatic action, rather than 716 an explicit instruction by the user for this 717 message. 719 "Manual-action" and "automatic-action" are mutually exclusive. One 720 or the other MUST be specified. 722 "MDN-sent-manually" The user explicitly gave permission for this 723 particular MDN to be sent. 725 "MDN-sent-automatically" The MDN was sent because the MUA had 726 previously been configured to do so 727 automatically. 729 "MDN-sent-manually" and "MDN-sent-automatically" are mutually 730 exclusive. One or the other MUST be specified. 732 3.2.6.2. Disposition types 734 The following disposition-types are defined: 736 "displayed" The message has been displayed by the MUA to 737 someone reading the recipient's mailbox. There 738 is no guarantee that the content has been read or 739 understood. 741 "dispatched" The message has been sent somewhere in some 742 manner (e.g., printed, faxed, forwarded) without 743 necessarily having been previously displayed to 744 the user. The user may or may not see the 745 message later. 747 "processed" The message has been processed in some manner 748 (i.e., by some sort of rules or server) without 749 being displayed to the user. The user may or may 750 not see the message later, or there may not even 751 be a human user associated with the mailbox. 753 "deleted" The message has been deleted. The recipient may 754 or may not have seen the message. The recipient 755 might "undelete" the message at a later time and 756 read the message. 758 3.2.6.3. Disposition modifiers 760 Only the extension disposition modifiers is defined: 762 disposition-modifier-extension 763 Disposition modifiers may be defined in the 764 future by later revisions or extensions to this 765 specification. Disposition value names beginning 766 with "X-" will never be defined as standard 767 values; such names are reserved for experimental 768 use. MDN disposition value names NOT beginning 769 with "X-" MUST be registered with the Internet 770 Assigned Numbers Authority (IANA) and described 771 in a standards-track RFC or an experimental RFC 772 approved by the IESG. (See Section 10 for a 773 registration form.) MDNs with disposition 774 modifier names not understood by the receiving 775 MUA MAY be silently ignored or placed in the 776 user's mailbox without special interpretation. 777 They MUST not cause any error message to be sent 778 to the sender of the MDN. 780 If an MUA developer does not wish to register the meanings of such 781 disposition modifier extensions, "X-" modifiers may be used for this 782 purpose. To avoid name collisions, the name of the MUA 783 implementation should follow the "X-", (e.g., "X-Foomail-"). 785 It is not required that an MUA be able to generate all of the 786 possible values of the Disposition field. 788 A user agent MUST NOT issue more than one MDN on behalf of each 789 particular recipient. That is, once an MDN has been issued on behalf 790 of a recipient, no further MDNs may be issued on behalf of that 791 recipient, even if another disposition is performed on the message. 792 However, if a message is forwarded, a "dispatched" MDN MAY be issued 793 for the recipient doing the forwarding and the recipient of the 794 forwarded message may also cause an MDN to be generated. 796 3.2.7. Failure and Error Fields 798 The Failure and Error fields are used to supply additional 799 information in the form of text messages when the "failure" 800 disposition type or "error" disposition modifier appear. The syntax 801 is as follows: 803 failure-field = "Failure" ":" *text 804 error-field = "Error" ":" *text 806 3.3. Extension-fields 808 Additional MDN fields may be defined in the future by later revisions 809 or extensions to this specification. Extension-field names beginning 810 with "X-" will never be defined as standard fields; such names are 811 reserved for experimental use. MDN field names NOT beginning with 812 "X-" MUST be registered with the Internet Assigned Numbers Authority 813 (IANA) and described in a standards-track RFC or an experimental RFC 814 approved by the IESG. (See Section 10 for a registration form.) MDN 815 Extension-fields may be defined for the following reasons: 817 a. To allow additional information from foreign disposition reports 818 to be tunneled through Internet MDNs. The names of such MDN 819 fields should begin with an indication of the foreign environment 820 name (e.g., X400-Physical-Forwarding-Address). 822 b. To allow transmission of diagnostic information that is specific 823 to a particular mail user agent (MUA). The names of such MDN 824 fields should begin with an indication of the MUA implementation 825 that produced the MDN (e.g., Foomail-information). 827 If an application developer does not wish to register the meanings of 828 such extension fields, "X-" fields may be used for this purpose. To 829 avoid name collisions, the name of the application implementation 830 should follow the "X-", (e.g., "X-Foomail-Log-ID" or "X-Foomail-EDI- 831 info"). 833 4. Timeline of events 835 The following timeline shows when various events in the processing of 836 a message and generation of MDNs take place: 838 -- User composes message 840 -- User tells MUA to send message 842 -- MUA passes message to MTA (original recipient information passed 843 along) 845 -- MTA sends message to next MTA 847 -- Final MTA receives message 849 -- Final MTA delivers message to MUA (possibly generating a DSN) 851 -- MUA performs automatic processing and generates corresponding MDNs 852 ("dispatched", "processed" or "deleted" disposition type with 853 "automatic-action" and "MDN-sent-automatically" disposition modes) 855 -- MUA displays list of messages to user 857 -- User selects a message and requests that some action be performed 858 on it. 860 -- MUA performs requested action and, with user's permission, sends 861 an appropriate MDN ("displayed", "dispatched", "processed", or 862 "deleted" disposition type, with "manual-action" and "MDN-sent- 863 manually" or "MDN-sent-automatically" disposition mode). 865 -- User possibly performs other actions on message, but no further 866 MDNs are generated. 868 5. Conformance and Usage Requirements 870 An MUA or gateway conforms to this specification if it generates MDNs 871 according to the protocol defined in this memo. It is not necessary 872 to be able to generate all of the possible values of the Disposition 873 field. 875 MUAs and gateways MUST NOT generate the Original-Recipient field of 876 an MDN unless the mail protocols provide the address originally 877 specified by the sender at the time of submission. Ordinary SMTP 878 does not make that guarantee, but the SMTP extension defined in RFC- 879 DSN-SMTP [7] permits such information to be carried in the envelope 880 if it is available. The Original-Recipient header field defined in 881 this document provides a way for the MTA to pass the original 882 recipient address to the MUA. 884 Each sender-specified recipient address may result in more than one 885 MDN. If an MDN is requested for a recipient that is forwarded to 886 multiple recipients of an "alias" (as defined in RFC-DSN-SMTP [7], 887 section 6.2.7.3), each of the recipients may issue an MDN. 889 Successful distribution of a message to a mailing list exploder 890 SHOULD be considered the final disposition of the message. A mailing 891 list exploder MAY issue an MDN with a disposition type of "processed" 892 and disposition modes of "automatic-action" and "MDN-sent- 893 automatically" indicating that the message has been forwarded to the 894 list. In this case, the request for MDNs is not propagated to the 895 members of the list. 897 Alternatively, the mailing list exploder MAY issue no MDN and 898 propagate the request for MDNs to all members of the list. The 899 latter behavior is not recommended for any but small, closely knit 900 lists, as it might cause large numbers of MDNs to be generated and 901 may cause confidential subscribers to the list to be revealed. The 902 mailing list exploder MAY also direct MDNs to itself, correlate them, 903 and produce a report to the original sender of the message. 905 This specification places no restrictions on the processing of MDNs 906 received by user agents or mailing lists. 908 6. Security Considerations 910 The following security considerations apply when using MDNs: 912 6.1. Forgery 914 MDNs may be forged as easily as ordinary Internet electronic mail. 915 User agents and automatic mail handling facilities (such as mail 916 distribution list exploders) that wish to make automatic use of MDNs 917 should take appropriate precautions to minimize the potential damage 918 from denial-of-service attacks. 920 Security threats related to forged MDNs include the sending of: 922 a. A falsified disposition notification when the indicated 923 disposition of the message has not actually occurred, 925 b. Unsolicited MDNs 927 6.2. Privacy 929 Another dimension of security is privacy. There may be cases in 930 which a message recipient does not wish the disposition of messages 931 addressed to him to be known, or is concerned that the sending of 932 MDNs may reveal other sensitive information (e.g., when the message 933 was read). In this situation, it is acceptable for the MUA to 934 silently ignore requests for MDNs. 936 If the Disposition-Notification-To header field is passed on 937 unmodified when a message is distributed to the subscribers of a 938 mailing list, the subscribers to the list may be revealed to the 939 sender of the original message by the generation of MDNs. 941 Headers of the original message returned in part 3 of the multipart/ 942 report could reveal confidential information about host names and/or 943 network topology inside a firewall. 945 An unencrypted MDN could reveal confidential information about an 946 encrypted message, especially if all or part of the original message 947 is returned in part 3 of the multipart/report. Encrypted MDNs are 948 not defined in this specification. 950 In general, any optional MDN field may be omitted if the Reporting 951 MUA site or user determines that inclusion of the field would impose 952 too great a compromise of site confidentiality. The need for such 953 confidentiality must be balanced against the utility of the omitted 954 information in MDNs. 956 In some cases, someone with access to the message stream may use the 957 MDN request mechanism to monitor the mail reading habits of a target. 958 If the target is known to generate MDN reports, they could add a 959 disposition-notification-to field containing the envelope from 960 address along with a source route. The source route is ignored in 961 the comparison so the addresses will always match. But if the source 962 route is honored when the notification is sent, it could direct the 963 message to some other destination. This risk can be minimized by not 964 sending MDN's automatically. 966 6.3. Non-Repudiation 968 MDNs do not provide non-repudiation with proof of delivery. Within 969 the framework of today's Internet Mail, the MDNs defined in this 970 document provide valuable information to the mail user; however, MDNs 971 cannot be relied upon as a guarantee that a message was or was not 972 seen by the recipient. Even if MDNs are not actively forged, they 973 may be lost in transit. The recipient may bypass the MDN issuing 974 mechanism in some manner. 976 One possible solution for this purpose can be found in RFC-SEC- 977 SERVICES [10]. 979 6.4. Mail Bombing 981 The MDN request mechanism introduces an additional way of mailbombing 982 a mailbox. The MDN request notification provides an address to which 983 MDN's should be sent. It is possible for an attacking agent to send 984 a potentially large set of messages to otherwise unsuspecting third 985 party recipients with a false "disposition-notification-to:" address. 986 Automatic, or simplistic processing of such requests would result in 987 a flood of MDN notifications to the target of the attack. Such an 988 attack could overrun the capacity of the targeted mailbox and deny 989 service. 991 For that reason, MDN's SHOULD NOT be sent automatically where the 992 "disposition-notification-to:" address is different from the envelope 993 MAIL FROM address. See Section 2.1 for further discussion. 995 7. Collected Grammar 997 NOTE: The following lexical tokens are defined in RFC-MSGFMT [2]: 998 atom, CRLF, FWS, CFWS, field-name, mailbox, msg-id, text. The 999 definitions of attribute and value are as in the definition of the 1000 Content-Type header field in RFC-MIME-BODY [3]. 1002 Message header fields: 1003 mdn-request-header = 1004 "Disposition-Notification-To" ":" [FWS] 1005 mailbox *("," [FWS] mailbox) 1006 Disposition-Notification-Options = 1007 "Disposition-Notification-Options" ":" [FWS] 1008 disposition-notification-parameter-list 1009 disposition-notification-parameter-list = 1010 disposition-notification-parameter 1011 *(";" [FWS] disposition-notification-parameter) 1012 disposition-notification-parameter = attribute [FWS] "=" [FWS] 1013 importance "," [FWS] value *("," [FWS] value) 1014 importance = "required" / "optional" 1015 original-recipient-header = 1016 "Original-Recipient" ":" address-type ";" generic-address 1017 Report content: 1018 disposition-notification-content = 1019 [ reporting-ua-field CRLF ] 1020 [ mdn-gateway-field CRLF ] 1021 [ original-recipient-field CRLF ] 1022 final-recipient-field CRLF 1023 [ original-message-id-field CRLF ] 1024 disposition-field CRLF 1025 *( failure-field CRLF ) 1026 *( error-field CRLF ) 1027 *( extension-field CRLF ) 1028 address-type = atom 1029 mta-name-type = atom 1030 reporting-ua-field = "Reporting-UA" ":" ua-name [ ";" ua-product ] 1031 ua-name = *text-no-semi 1032 ua-product = *text-no-semi 1033 text-no-semi = %d1-9 / ; text characters excluding NUL, CR, 1034 %d11 / %d12 / %d14-58 / %d60-127 ; LF, or semi-colon 1035 mdn-gateway-field = "MDN-Gateway" ":" mta-name-type ";" mta-name 1036 mta-name = *text 1037 original-recipient-field = 1038 "Original-Recipient" ":" address-type ";" generic-address 1039 generic-address = *text 1040 final-recipient-field = 1041 "Final-Recipient" ":" address-type ";" generic-address 1042 original-message-id-field = "Original-Message-ID" ":" msg-id 1043 disposition-field = 1044 "Disposition" ":" [FWS] disposition-mode ";" 1045 [FWS] disposition-type 1046 [ "/" disposition-modifier 1047 *( "," disposition-modifier ) ] 1048 disposition-mode = action-mode "/" [FWS] sending-mode 1049 action-mode = "manual-action" / "automatic-action" 1050 sending-mode = "MDN-sent-manually" / "MDN-sent-automatically" 1051 disposition-type = "displayed" / "deleted" / "dispatched" / 1052 "processed" 1053 disposition-modifier = [FWS] 1054 ("error" / disposition-modifier-extension) 1055 disposition-modifier-extension = atom 1056 failure-field = "Failure" ":" *text 1057 error-field = "Error" ":" *text 1058 extension-field = extension-field-name ":" *text 1059 extension-field-name = field-name 1061 8. Guidelines for Gatewaying MDNs 1063 NOTE: This section provides non-binding recommendations for the 1064 construction of mail gateways that wish to provide semi-transparent 1065 disposition notifications between the Internet and another electronic 1066 mail system. Specific MDN gateway requirements for a particular pair 1067 of mail systems may be defined by other documents. 1069 8.1. Gatewaying from other mail systems to MDNs 1071 A mail gateway may issue an MDN to convey the contents of a "foreign" 1072 disposition notification over Internet Mail. When there are 1073 appropriate mappings from the foreign notification elements to MDN 1074 fields, the information may be transmitted in those MDN fields. 1075 Additional information (such as might be needed to tunnel the foreign 1076 notification through the Internet) may be defined in extension MDN 1077 fields. (Such fields should be given names that identify the foreign 1078 mail protocol, e.g., X400-* for X.400 protocol elements). 1080 The gateway must attempt to supply reasonable values for the 1081 Reporting-UA, Final-Recipient, and Disposition fields. These will 1082 normally be obtained by translating the values from the foreign 1083 notification into their Internet-style equivalents. However, some 1084 loss of information is to be expected. 1086 The sender-specified recipient address and the original message-id, 1087 if present in the foreign notification, should be preserved in the 1088 Original-Recipient and Original-Message-ID fields. 1090 The gateway should also attempt to preserve the "final" recipient 1091 address from the foreign system. Whenever possible, foreign protocol 1092 elements should be encoded as meaningful printable ASCII strings. 1094 For MDNs produced from foreign disposition notifications, the name of 1095 the gateway MUST appear in the MDN-Gateway field of the MDN. 1097 8.2. Gatewaying from MDNs to other mail systems 1099 It may be possible to gateway MDNs from the Internet into a foreign 1100 mail system. The primary purpose of such gatewaying is to convey 1101 disposition information in a form that is usable by the destination 1102 system. A secondary purpose is to allow "tunneling" of MDNs through 1103 foreign mail systems in case the MDN may be gatewayed back into the 1104 Internet. 1106 In general, the recipient of the MDN (i.e., the sender of the 1107 original message) will want to know, for each recipient: the closest 1108 available approximation to the original recipient address, and the 1109 disposition (displayed, printed, etc.). 1111 If possible, the gateway should attempt to preserve the Original- 1112 Recipient address and Original-Message-ID (if present) in the 1113 resulting foreign disposition report. 1115 If it is possible to tunnel an MDN through the destination 1116 environment, the gateway specification may define a means of 1117 preserving the MDN information in the disposition reports used by 1118 that environment. 1120 8.3. Gatewaying of MDN-requests to other mail systems 1122 By use of the separate disposition-notification-to request header 1123 field, this specification offers a richer functionality than most, if 1124 not all, other email systems. In most other email systems, the 1125 notification recipient is identical to the message sender as 1126 indicated in the "from" address. There are two interesting cases 1127 when gatewaying into such systems: 1129 1. If the address in the disposition-notification-to header field is 1130 identical to the address in the SMTP "MAIL FROM", the expected 1131 behavior will result, even if the disposition-notification-to 1132 information is lost. Systems should propagate the MDN request. 1134 2. If the address in the disposition-notification-to header field is 1135 different from the address in the SMTP "MAIL FROM", gatewaying 1136 into a foreign system without a separate notification address 1137 will result in unintended behavior. This is especially important 1138 when the message arrives via a mailing list expansion software 1139 that may specifically replace the SMTP "MAIL FROM" address with 1140 an alternate address. In such cases, the MDN request should not 1141 be gatewayed and should be silently dropped. This is consistent 1142 with other forms of non-support for MDN. 1144 9. Example 1146 NOTE: This example is provided as illustration only, and is not 1147 considered part of the MDN protocol specification. If the example 1148 conflicts with the protocol definition above, the example is wrong. 1150 Likewise, the use of *-type subfield names or extension fields in 1151 this example is not to be construed as a definition for those type 1152 names or extension fields. 1154 This is an MDN issued after a message has been displayed to the user 1155 of an Internet Mail user agent. 1157 Date: Wed, 20 Sep 1995 00:19:00 (EDT) -0400 1158 From: Joe Recipient 1159 Message-Id: <199509200019.12345@example.com> 1160 Subject: Disposition notification 1161 To: Jane Sender 1162 MIME-Version: 1.0 1163 Content-Type: multipart/report; report-type=disposition-notification; 1164 boundary="RAA14128.773615765/example.com" 1166 --RAA14128.773615765/example.com 1168 The message sent on 1995 Sep 19 at 13:30:00 (EDT) -0400 to Joe 1169 Recipient with subject "First draft of 1170 report" has been displayed. 1171 This is no guarantee that the message has been read or understood. 1173 --RAA14128.773615765/example.com 1174 content-type: message/disposition-notification 1176 Reporting-UA: joes-pc.cs.example.com; Foomail 97.1 1177 Original-Recipient: rfc822;Joe_Recipient@example.com 1178 Final-Recipient: rfc822;Joe_Recipient@example.com 1179 Original-Message-ID: <199509192301.23456@example.org> 1180 Disposition: manual-action/MDN-sent-manually; displayed 1182 --RAA14128.773615765/example.com 1183 content-type: message/rfc822 1185 [original message optionally goes here] 1187 --RAA14128.773615765/example.com-- 1189 10. IANA Considerations 1191 This document specifies three types of parameters that must be 1192 registered with the Internet Assigned Numbers Authority (IANA). 1194 The forms below are for use when registering a new disposition- 1195 notification-parameter name for the Disposition-Notification-Options 1196 header field, a new disposition modifier name, or a new MDN extension 1197 field. Each piece of information required by a registration form may 1198 be satisfied either by providing the information on the form itself, 1199 or by including a reference to a published, publicly available 1200 specification that includes the necessary information. IANA MAY 1201 reject registrations because of incomplete registration forms or 1202 incomplete specifications. 1204 To register, complete the following applicable form and send it via 1205 electronic mail to . 1207 10.1. Disposition-Notification-Options header field disposition- 1208 notification-parameter names 1210 A registration for a Disposition-Notification-Options header field 1211 disposition-notification-parameter name MUST include the following 1212 information: 1214 a. The proposed disposition-notification-parameter name. 1216 b. The syntax for disposition-notification-parameter values, 1217 specified using BNF, ABNF, regular expressions, or other non- 1218 ambiguous language. 1220 c. If disposition-notification-parameter values are not composed 1221 entirely of graphic characters from the US-ASCII repertoire, a 1222 specification for how they are to be encoded as graphic US-ASCII 1223 characters in a Disposition-Notification-Options header field. 1225 d. A reference to a standards track RFC or experimental RFC approved 1226 by the IESG that describes the semantics of the disposition- 1227 notification-parameter values. 1229 10.2. Disposition modifier names 1231 A registration for a disposition-modifier name (used in the 1232 Disposition field of a message/disposition-notification) MUST include 1233 the following information: 1235 a. The proposed disposition-modifier name. 1237 b. A reference to a standards track RFC or experimental RFC approved 1238 by the IESG that describes the semantics of the disposition 1239 modifier. 1241 10.3. MDN extension field names 1243 A registration for an MDN extension-field name MUST include the 1244 following information: 1246 a. The proposed extension field name. 1248 b. The syntax for extension values, specified using BNF, ABNF, 1249 regular expressions, or other non-ambiguous language. 1251 c. If extension-field values are not composed entirely of graphic 1252 characters from the US-ASCII repertoire, a specification for how 1253 they are to be encoded as graphic US-ASCII characters in a 1254 Disposition-Notification-Options header field. 1256 d. A reference to a standards track RFC or experimental RFC approved 1257 by the IESG that describes the semantics of the extension field. 1259 11. Acknowledgements 1261 The contributions of Bruce Lilly and Alfred Hoenes are gratefully 1262 acknowledged for this revision. 1264 The contributions of Roger Fajman and Greg Vaudreuil to earlier 1265 versions of this document are also gratefully acknowledged. 1267 12. References 1269 12.1. Normative References 1271 [1] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, 1272 April 2001. 1274 [2] Resnick, P., Ed., "Internet Message Format", RFC 5322, 1275 October 2008. 1277 [3] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 1278 Extensions (MIME) Part One: Format of Internet Message 1279 Bodies", RFC 2045, November 1996. 1281 [4] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 1282 Extensions (MIME) Part Two: Media Types", RFC 2046, 1283 November 1996. 1285 [5] Moore, K., "MIME (Multipurpose Internet Mail Extensions) 1286 Part Three: Message Header Extensions for Non-ASCII Text", 1287 RFC 2047, November 1996. 1289 [6] Vaudreuil, G., "The Multipart/Report Content Type for the 1290 Reporting of Mail System Administrative Messages", RFC 1291 3462, January 2003. 1293 [7] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service 1294 Extension for Delivery Status Notifications (DSNs)", RFC 1295 3461, January 2003. 1297 [8] Moore, K. and G. Vaudreuil, "An Extensible Message Format 1298 for Delivery Status Notifications", RFC 3464, January 1299 2003. 1301 [9] Bradner, S., "Key words for use in RFCs to Indicate 1302 Requirement Levels", BCP 14, RFC 2119, March 1997. 1304 12.2. Informative References 1306 [10] Hoffman, P., "Enhanced Security Services for S/MIME", RFC 1307 2634, June 1999. 1309 Appendix A. Changes from RFC 3798 1311 The values of "dispatched" and "processed" were lost from the ABNF 1312 for "disposition-type". 1314 Because the warning disposition modifier was previously removed, 1315 warning-field has also been removed. 1317 The ABNF for ua-name and ua-product included semi-colon, which could 1318 not be distinguished from *text in the production. The ua-name and 1319 ua-product definitions were restricted to not include semi-colon. 1321 The ABNF did not indicate all places that whitespace was allowable, 1322 in particular folding whitespace, although all implementations allow 1323 whitespace and folding in the header fields just like any other 1324 RFC5322 [2]-formatted header field. There were also a number of 1325 places in the ABNF that inconsistently permitted comments and 1326 whitespace in one leg of the production and not another. The ABNF 1327 now specifies FWS and CFWS in several places that should have already 1328 been specified by the grammar. 1330 Extension-field was defined in the collected grammar but not in the 1331 main text. 1333 [[CREF11: Shouldn't the places we use *text and *text-no-semi allow 1334 FWS? ]] 1336 The comparison of mailboxes in Disposition-Notification-To to the 1337 Return-Path addr-spec was clarified. 1339 The use of the grammar production "parameter" was confusing with the 1340 RFC2045 [3] production of the same name, as well as other uses of the 1341 same term. These have been clarified. 1342 [[CREF12: Not sure what to do with this one: (From Bruce) In the case 1343 of the message header fields, RFC 2822 also specifies minimum and 1344 maximum counts for each header field, and similar guidance would 1345 clarify 3798 (e.g. are multiple Disposition-Notification-Options 1346 fields permitted in a single message header, and if so, what 1347 semantics apply?). ]] 1348 [[CREF13: Not sure what to do with this one: (From Bruce) Note also 1349 that RFC 2045 is itself based on RFC 822 rather than 2822, so the 1350 issue of where CFWS is permitted or prohibited should probably be 1351 clearly specified where "attribute" and "value" are used. Note 1352 further that the RFC 2045 definitions are clarified by errata and 1353 modified by RFC 2231, and by RFC 2231 errata. Finally, note that RFC 1354 2231 has provisions for continuation of long parameter values (where 1355 there would otherwise be problems with the maximum line length 1356 specifications of RFCs 822 and 2822), specification of language and 1357 charset, and provision for compatible handling of non-ASCII text, 1358 none of which are provided for in the RFC 3798 disposition- 1359 notification parameters. It might be a good idea to think about that 1360 now, as a future change would almost certainly reset the document 1361 status to "Proposed". ]] 1362 A clarification was added on the extent of the 7bit nature of MDNs. 1364 Uses of the terms "may" and "might" were clarified. 1366 A clarification was added on the order of the fields in the message/ 1367 disposition-notification content. 1368 [[CREF14: Not sure what to do with this one: (From Bruce) 3.1.1 1369 explicitly mentions use of RFC 2047 encoded-words in comments 1370 (however, as noted above there is no explicit provision for 1371 comments), but fails to mention the other contexts in which encoded- 1372 words may be used, viz. in an RFC [2]822 "phrase" (e.g. in the 1373 display name of a name-addr mailbox in Disposition-Notification-To 1374 (therefore, the discussion of encoded-words should probably be moved 1375 earlier in the document, prior to the specification of Disposition- 1376 Notification-To]), and in unstructured text (i.e. every instance of 1377 *text in the ABNF). In particular, use of encoded-words might be 1378 highly desirable in the following places: *) the ua-product portion 1379 of the Reporting-UA field; *) the generic-address part of the 1380 Original-Recipient and Final-Recipient fields; *) the (unstructured) 1381 field bodies of Error, Failure, and Warning fields; in structured 1382 extension fields where the context (per RFC 2047) is appropriate in 1383 unstructured extension fields; *) in X- extension fields (see RFC 1384 2047 for related X- message header fields). In cases where the field 1385 syntax is shared with DSN fields, some coordination with the RFC 346x 1386 authors might be desirable. ]] 1387 [[CREF15: I think a couple of clarifications are in order: 1) This 1388 restriction is within a given mail user agent. If the user uses 1389 multiple MUAs, it is possible that multiple MDNs MAY be generated. 1390 2) A mail user agent SHOULD use underlying protocol support when 1391 possible to prevent multiple MDNs from being generated. If 1392 underlying protocol support is not available, the mail user agent 1393 MUST use local knowledge to prevent multiple MDNs. I don't think we 1394 need to worry about the case of an MUA error; accidents and bad 1395 implementations DO happen. (From Bruce) 3.2.6.3 prohibition against 1396 multiple MDNs being issued on behalf of each recipient poses some 1397 implementation difficulties: *) While IMAP servers maintain state 1398 that could possibly be used to prevent issuance of multiple MDNs, the 1399 POP protocol has no such provision. Even in the case of IMAP, there 1400 is some ambiguity in the case of shared mailboxes. *) Some MUAs are 1401 known to have extreme difficulty keeping track of which messages have 1402 been seen, let alone responded to. Software version updates, minor 1403 configuration changes (e.g. domain name or IP address change of POP 1404 or IMAP server) are known to "confuse" some MUAs. *) there is no 1405 standardized mechanism for communicating status between multiple MUAs 1406 accessing the same mailbox (except in the case of IMAP, as noted 1407 above). Therefore, if an MDN is sent when a message is viewed (etc.) 1408 using one MUA, a different MUA subsequently being used to view the 1409 same message in the same user's mailbox (either via POP, or from a 1410 flat file mailbox) might have no way to determine that an MDN had 1411 already been sent. This is a fundamental difficulty with the 1412 specified protocol (relaxing "MUST NOT" to "SHOULD NOT" is one 1413 possible way around that difficulty -- otherwise the document 1414 contains a "known technical omission" viz. no defined means of 1415 establishing whether or not an MDN has already been sent for a 1416 particular message. I believe that "known technical omissions" are a 1417 barrier to further Standards Track progress). *) Due to aliases, 1418 forwarding, etc. an original message sent to multiple addresses might 1419 end up as multiple copies in a single recipient's mailbox. It is 1420 unclear whether or not multiple MDNs are permitted in that case (the 1421 Message-ID, if present in the original, will be the same in the 1422 copies, and the "particular recipient" could be interpreted as being 1423 the same, even though the addresses specified in the original message 1424 transport envelope might have appeared to have been distinct to the 1425 originator who requested MDNs. ]] 1427 Authors' Addresses 1429 Tony Hansen (editor) 1430 AT&T Laboratories 1431 200 Laurel Ave. South 1432 Middletown, NJ 07748 1433 USA 1435 Email: tony+rfc3798@maillennium.att.com 1437 Alexey Melnikov (editor) 1438 Isode Ltd 1439 14 Castle Mews 1440 Hampton, Middlesex TW12 2NP 1441 UK 1443 Email: Alexey.Melnikov@isode.com