RFC 6522

The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages

๐Ÿ“… published January 2012, from ietf

RFC 6522: The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages โœจ

Part 1 of 2 ๐Ÿ’– more is coming!

Okay bestie, let's talk about RFC 6522 ๐ŸŽ€. It's by M. Kucherawy, Ed. from Cloudmark, it was published in January 2012, and it's a Standards Track document (STD 73, ISSN 2070-1721). It obsoletes RFC 3462, so that older doc is now the outdated one ๐Ÿ™ˆ. Also, the editor is literally the main character of this whole standard ๐Ÿ‘‘.

Abstract ๐Ÿฆ‹

multipart/report is a MIME media type that works as a general "family" or "container" type for email reports of any kind ๐Ÿ“ฆ. This memo only defines how multipart/report is used for delivery status reports, but mail processing programs will benefit if one media type covers every kind of report, so it's a big win ๐Ÿ’œ.

This memo obsoletes "The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages", RFC 3462, and marks RFC 3462 and its predecessor as "Historic" ๐Ÿ“.

Status of This Memo ๐ŸŒธ

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). More info on Internet Standards is in Section 2 of RFC 5741 ๐Ÿ“š.

For the current status of this document, any errata, and how to give feedback on it, check http://www.rfc-editor.org/info/rfc6522 ๐Ÿ”.

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please read these carefully, because they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they are provided without warranty as described in the Simplified BSD License ๐Ÿซถ.

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English ๐Ÿ’….

Table of Contents ๐Ÿงš

1. Introduction ....................................................3
2. Document Conventions ............................................3
3. The Multipart/Report Media Type .................................3
4. The text/rfc822-headers Media Type ..............................5
5. Registering New Report Types ....................................7
6. IANA Considerations .............................................7
7. Security Considerations .........................................7
8. References ......................................................7
   8.1. Normative References .......................................7
   8.2. Informative References .....................................8
Appendix A.  Acknowledgements ......................................9

1. Introduction โœจ

[OLD-REPORT] and its predecessor set up the multipart/report media type for use within the [MIME] framework. Its job is to act as a container for mail system administrative reports of all different kinds ๐Ÿ“ฎ.

Real-world experience has shown that the old rule, which said this media type could only be used as the outermost MIME type of a message, is way too restrictive ๐Ÿ˜ฉ. It blocks things like sending several administrative reports inside one big message container. It also stops you from forwarding a report as part of another multipart MIME message, which is so annoying ๐Ÿ™„.

This memo gets rid of that constraint. Nothing else changes besides a few editorial tweaks ๐ŸŽ€. Other memos may update other documents to set up or clarify the rules for using multipart/report in situations where that's needed ๐Ÿฆ‹.

This memo obsoletes RFC 3462. RFC 3462 and its predecessor, RFC 1892, have been marked as "Historic" ๐Ÿ“.

2. Document Conventions ๐Ÿ’…

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [KEYWORDS] ๐Ÿ”‘.

3. The Multipart/Report Media Type ๐ŸŽ€

Okay, the multipart/report MIME media type is a general "family" or "container" type for email reports of any kind ๐Ÿ“ฆ. This memo only defines how it's used for delivery status reports, but mail processing programs will benefit if one media type covers every kind of report ๐Ÿ’œ.

Per [MIME-REG], the multipart/report media type is defined as follows ๐ŸŒธ:

   Type name:  multipart

   Subtype name:  report

   Required parameters:  boundary, report-type

   Optional parameters:  none
   Encoding considerations:  7bit should always be adequate

   Security considerations:  see Section 7 of [RFC6522]

   Interoperability considerations:  see Section 1 of [RFC6522]

   Published specification:  [RFC6522]

   Applications that use this media type:  Mail Transfer Agents, Mail
      User Agents, spam detection and reporting modules, virus detection
      modules, and message authentication modules.

   Additional information:

      Magic number(s):  N/A

      File extension(s):  N/A

      Macintosh file type code(s):  N/A

   Person and email address to contact for further information:  Murray
      S. Kucherawy <msk@cloudmark.com>

   Intended usage:  common

   Restrictions on usage:  none; however, other applications that
      register report types may establish such restrictions.

   Author:  Murray S. Kucherawy <msk@cloudmark.com>

   Change controller:  IESG

The syntax of multipart/report is exactly the same as the multipart/mixed content type from [MIME] ๐Ÿงฉ. The report-type parameter tells you what kind of report it is, and its value is the MIME subtype of the second body part of the multipart/report ๐Ÿ’–. (See Section 5.)

A multipart/report contains either two or three sub-parts, in this order โœจ:

  1. (REQUIRED) The first body part is a human-readable message ๐Ÿ‘€. Its purpose is to give an easy-to-understand description of what caused the report to be generated, for a human who might not have a user agent that can read the second section of the multipart/report ๐Ÿซถ. The text in this first section can use any IANA-registered MIME media type, charset, or language ๐ŸŒˆ. If you want the error described in several languages or several media, a multipart/alternative construct MAY be used ๐ŸŒ. This body part MAY also be used to send detailed information that can't easily be formatted into the second body part ๐Ÿ“.
  2. (REQUIRED) The second body part is machine-parsable ๐Ÿค– and gives an account of the reported message handling event ๐Ÿ“‹. Its purpose is to provide a machine-readable description of what caused the report, plus details that aren't in the first body part but might be useful to human experts ๐Ÿง . The initial body part, message/delivery-status, is defined in [DSN-FORMAT] ๐Ÿ’….
  3. (OPTIONAL) This is a body part containing the returned message or a portion of it ๐Ÿ“จ. It can help human experts diagnose problems ๐Ÿ”. (Although it might also be useful to let the sender identify the message the report is about, it's hoped that the envelope-id and original-recipient-address returned in the message/report body part will replace the traditional use of the returned content for that purpose ๐Ÿฆ‹.)

Returning content can waste network bandwidth, and there are a bunch of different strategies for handling it ๐Ÿ˜ฌ. Generally, the sender needs to pick the right strategy and tell the recipient what level of returned content is required ๐Ÿ“ฃ. If there's no explicit request for a level of return of content, like the one provided in [DSN-SMTP], then the agent that generated the delivery service report SHOULD return the full message content ๐Ÿ’œ.

When 8-bit or binary data that isn't encoded in a 7-bit form needs to be returned, and the return path isn't guaranteed to be 8-bit or binary capable, you've got two options ๐ŸŽ€. The original message MAY be re-encoded into a legal 7-bit MIME message, or the text/rfc822-headers media type MAY be used to return only the original message headers โœจ.


That's the end of Part 1! ๐ŸŒˆ๐Ÿ’– Part 2 picks up with text/rfc822-headers, the registration rules, IANA, security, and the references ๐Ÿ’…

7. Security Considerations ๐Ÿ”

okay bestie, this part is serious, so let's be serious. ๐Ÿซถ Automated use of report types without authentication is giving major risk energy ๐Ÿ’€. Forging negative reports opens the door to denial-of-service attacks, especially when the reports are used to automatically maintain directories or mailing lists. Forging positive reports is also a problem, because the sender can wrongly believe a message was delivered when it actually wasn't. Not me being like "wait, that's a whole mess" ๐Ÿ˜ญ.

The fix would be a signature covering the entire multipart/report structure, which would stop these forgeries ๐Ÿ”’. However, designing that signature scheme is beyond the scope of this document ๐ŸŒธ, so we're leaving it for another day.

Forged reports can break automation and make senders believe things that aren't true. Treat unauthenticated reports with suspicion! ๐Ÿšจ

8. References ๐Ÿ“š

8.1. Normative References

[KEYWORDS]    Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

[MAIL]        Resnick, P., Ed., "Internet Message Format", RFC 5322,
              October 2008.

[MIME]        Freed, N. and N. Borenstein, "Multipurpose Internet
              Mail Extensions (MIME) Part One: Format of Internet
              Message Bodies", RFC 2045, November 1996.

[MIME-REG]    Freed, N. and J. Klensin, "Media Type Specifications
              and Registration Procedures", BCP 13, RFC 4288,
              December 2005.

[MIME-TYPES]  Freed, N. and N. Borenstein, "Multipurpose Internet
              Mail Extensions (MIME) Part Two: Media Types",
              RFC 2046, November 1996.

8.2. Informative References

[DSN-FORMAT]  Moore, K. and G. Vaudreuil, "An Extensible Message
              Format for Delivery Status Notifications", RFC 3464,
              January 2003.

[DSN-SMTP]    Moore, K., "Simple Mail Transfer Protocol (SMTP)
              Service Extension for Delivery Status Notifications
              (DSNs)", RFC 3461, January 2003.

[OLD-REPORT]  Vaudreuil, G., "The Multipart/Report Content Type for
              the Reporting of Mail System Administrative Messages",
              RFC 3462, January 2003.

Appendix A. Acknowledgements ๐ŸŽ€

Huge thanks to Dave Crocker, Frank Ellermann, Ned Freed, Randall Gellens, Alexey Melnikov, and Keith Moore for their input to this update ๐Ÿซถโœจ. The author also gives a shoutout to Gregory M. Vaudreuil, the original creator of this media type ๐Ÿ‘‘. Legends only ๐ŸŒˆ

Author's Address ๐Ÿ’Œ

Murray S. Kucherawy (editor)
Cloudmark
128 King St., 2nd Floor
San Francisco, CA  94107
US

Phone: +1 415 946 3800
EMail: msk@cloudmark.com

And that's the whole spec, bestie! ๐Ÿ’– Go forth and implement responsibly ๐Ÿฆ‹๐Ÿ’…

๐Ÿ“ฆ where this page comes from