Internet DRAFT - draft-vaudreuil-mime-delivery
draft-vaudreuil-mime-delivery
Network Working Group Greg Vaudreuil
Internet-Draft Tigon Corporation
Expires 7/22/94 January 22th, 1993
An Extensible Message Format
for Delivery Status Notifications
<draft-vaudreuil-mime-deliver-02.txt>
Note: See Appendix for changes from previous version.
Status of this Memo
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its
Areas, and its Working Groups. Note that other groups may also
distribute working documents as Internet Drafts.
Internet Drafts are valid for a maximum of six months and may be
updated, replaced, or obsoleted by other documents at any time.
It is inappropriate to use Internet Drafts as reference material
or to cite them other than as a "work in progress".
Abstract
The memo defines a MIME content type for the return of non-
delivery, delayed message, service availability, and other
message status notifications to the sender. This content type is
intended to be a machine processable alternative to the full
range of error messages currently sent on the Internet and to
provide a general mechanism for reporting message status
information to a users mail agent.
1.Introduction
The current Internet mail protocol suite is lacking in standard
mechanism for the handling of mail system errors, both on behalf
of users and for computer assisted management of large mailing
lists. There are few standards which would facilitate
implementation of user friendly mail interfaces. This document
defines an extensible format for the exchange of delivery status
notifications.
The current Internet mail system returns unsolicited non-delivery
notifications. This document defined a mechanism whereby these
notifications can be implemented using this format. This
document also provides for a mechanism for reporting two new
classes of non-delivery notifications expected to become common
with the deployment of the Multipurpose Internet Mail Extensions
(MIME) and Privacy Enhanced Mail (PEM).
It is likely that new delivery report types will be needed,
including positive delivery acknowledgment and read receipt
notification. As these new delivery report types are defined,
and in particular, as the mechanism for requesting those reports
Internet Draft Delivery Status November 22, 1993
are specified, the values for the delivery service notification
can be extended.
2.Delivery Status Notification Framework
The Delivery Status mechanism is implemented by defining two new
MIME content-types, Multipart/Delivery-Status and Text/Delivery-
Status. The Multipart/Delivery-Status is syntactically the same
as a multipart/mixed but contains exactly two parts, the first is
the Text/Delivery-Status and the second is a return of content.
If return of content is not requested or supported, the
Text/Delivery-Status may be send without Multipart/Delivery-
Status.
The Text/Delivery-Status contains the specific service
notification information, such as error reports, read-receipts,
and service unsupported notifications. This content-type is
formatted according to the rules for RFC 822 headers and contains
information for machine processing of the message. RFC 822
comments are permitted where appropriate for human consumption in
the absence of a parser capable of interpreting the service
notification.
Note: Limitations in the format for RFC 822 headers and the
necessity in places to structure sets of recipient addresses
may argue for use of the Structured Text Interchange Format
(STIF) or a lightweight SGML implementation - Please
comment. (This means you DCrocker!)
Return of content may be wasteful of network bandwidth and a
variety of implementation strategies can be used. Generally the
sender should choose the appropriate strategy and inform the
recipient of the required level of returned content required. In
the absence of any clear mechanism for requesting a level of
return of content, the agent which generated the delivery service
notification should return the full message content.
Vaudreuil Expires 7/22/94 [Page 2]
Internet Draft Delivery Status November 22, 1993
3.Multipart/Delivery-Status
Mime type name: Multipart
Mime Sub-Type name: Delivery-Status
Required Parameters: Boundary
Optional Parameters: None
Encoding Considerations: Quoted-Printable and Base-64 are
prohibited.
The syntax of a Multipart/Delivery-Status is identical to the
Multipart/Mixed content type. The Delivery Status may contain
two or three body parts. If present, a text/plain body part with
a human friendly text description of the error should be the
first body part. The next, or first body part, if the text/plain
part is present, is an Text/Delivery-Status, defined in a
subsequent section of this appendix. The last body part may be
of any content-type and contains the returned message for which
the Delivery Status is defined. The returned comment will
normally be a message/RFC822, or the content type message/sample
defined in this document.
If an Text/Delivery-Status does not include returned content, or
a text description of the error, Multipart/Delivery-Status should
not be used.
Vaudreuil Expires 7/22/94 [Page 3]
Internet Draft Delivery Status November 22, 1993
4.Text/Delivery-Status
Mime type name: Text
Mime Sub-Type name: Delivery-Status
Required Parameters: None
Optional Parameters: None
Encoding Considerations: 7bit is always sufficient.
The Text/Delivery-Status body provides delivery status
notifications. It is generally used with a Multipart/Delivery-
Status when the original content is to be returned to the sender.
The Text/Delivery-Status is a series of attribute-value pairs
formatted as RFC 822 headers. While this body-part is designed
to be machine parsable, RFC 822 comments are permitted in each
line. Text values in character sets other than US ASCII must be
formatted using the RFC 1522 encoded-word.
Generation of error messages from this error report for user
consumption should be based on the notification code, not the
explanatory text. Choice of an appropriate language and character
set is independent of the error. Applications implementing this
delivery status notification body part are expected to provided
localized descriptions of the errors based on the notification
code. The choice of US ASCII for the explanatory text in comments
is an interim measure based on current practice for ease of
transition.
4.1. Generic Service Notification Attributes
The following notification attributes are defined for all
delivery status notifications.
o Message-ID: - The RFC 822 message-id of the message causing
this delivery service notification.
o Envelope-Identifier: - The serial identifier of the message
envelope if one exists. This corresponds to the X.400 MTS
Identifier.
o Intended-Recipient:- A coma separated list of one or more
recipient email addresses for which this report applies.
These are the addresses as presented by the (E)SMTP envelope
RCPT-TO commands.
o Original-Recipients: - A coma separated list of one or more
recipient email addresses as specified in the original SMTP
envelope. These addresses if included must correspond on a
one to one basis with the intended recipient attributes.
o Recipient-Tags: - A coma separated list of one or more
recipient address tags. These tags are used by X.400 to
identify recipients and correlate error reports. When
Vaudreuil Expires 7/22/94 [Page 4]
Internet Draft Delivery Status November 22, 1993
provided, these tags must correspond on a one to one basis
with the intended recipients attributes.
o Sending-MTA: - The fully qualified domain address of the MTA
originating the message notification.
o Date: - The date and time according to the RFC822 "date-time"
of the notification event.
o Action: - The service notification type. The initially
defined action type is "Failed", that is, the message could
not be delivered.
o MTA-Notification-Code: - The response code returned which
caused message notification to be returned. The set of
response codes defined by the SMTP protocol is extended to
address general network notification events.
4.2. Extension Mechanism for Delivery Status Notifications
The delivery status notification body part include several
generic attribute value fields needed to correlate incoming
service delivery reports to the originally sent message and
recipients. The following mechanisms are permitted for
extension.
o New attributes may be defined as needed to convey information
beyond that possible with the generic attributes.
o New action keywords may be defined to indicate the current
message status.
o New MTA notification-codes may be defined as needed to
indicate the specific event resulting in the delivery status
notification.
New mechanisms for correlating error reports, notification
events, and indicating the intended recipients are prohibited.
This is necessary to insure that new delivery service
notifications are compatible with and generally useful without
understanding the specific notification provided.
In the event the generic attributes are insufficient for this
task, this specification as a whole should be revised.
Vaudreuil Expires 7/22/94 [Page 5]
Internet Draft Delivery Status November 22, 1993
5.Message/Sample
Mime type name: Message
Mime Sub-Type name: Sample
Required Parameters: None
Optional Parameters: None
Encoding Considerations: Any suitable content-transfer encoding
may be used.
The message/sample is defined as containing the returned headers
and body of an RFC 822 message which cannot be guaranteed to be
complete or which cannot be returned without transfer encoding.
A message transfer agent or a mail gateway may receive a message
fragment which should be returned to the sender. If there is no
guarantee that the message is a complete untruncated message,
labeling it as Message/RFC822 may be incorrect. In the case
where the message is a multipart message formatted according to
the MIME conventions, a truncated message may no longer be
parsable as indicated in the content-type.
Message/RFC822 messages may also not be transfer encoded. A MTA
or gateway which has received a returned message may not be able
to determine the content-type when required to return the
message. The message/sample may be encoded as needed to return
the message to the sender.
Vaudreuil Expires 7/22/94 [Page 6]
Internet Draft Delivery Status November 22, 1993
6.Initially defined Delivery Status Notification Types
6.1. MTA Non Delivery Notifications
The Internet currently provides non-delivery reports, but in a
non-standard and difficult to use format. This specification is
intended to replace these error reports with a standard
mechanism.
SMTP provides a standardized status reporting system in the use
of numeric reply-codes. The delivery status notification
mechanism provides a mechanism to make these error codes
available to the sender. Because the SMTP response codes do not
provide a complete diagnostic record, this specification has
extended the set of response codes to include non-SMTP network
and communications conditions which may cause non-delivery.
6.1.1. Framework for the MTA Failure notification type
The following delivery service notification is defined:
o The name of the delivery service notification is "MTA
Failure".
o The list of response codes includes all permanent SMTP and
ESMTP error codes and the additional codes defined in this
document.
o No additional attributed types are defined.
o No additional action types are defined.
Non-delivery notifications must be implemented in such a manner
that only a single delivery notification is generated per
message. The non-delivery notification should be send only when
further delivery attempts will not be performed.
6.1.2. SMTP/ESMTP Error Codes
SMTP provides a rich set of non-delivery error codes for
reporting on the status of a SMTP transaction.
The 500 series of error codes are "hard" failures, indicating
that the command cannot be completed. Not all these errors
require reporting the message as undeliverable. The listed
commands are a subset of the full SMTP diagnostics useful in the
Delivery-Status context.
550 Requested action not taken: mailbox
unavailable, mailbox not found, no access
552 Requested mail action aborted: exceeded
storage allocation
Vaudreuil Expires 7/22/94 [Page 7]
Internet Draft Delivery Status November 22, 1993
553 Requested action not taken: mailbox name
not allowed [E.g., mailbox syntax
incorrect]
554 Transaction Failed
6.1.3. Network or System Error Codes
Often mail transfer failures result from network or transport
level conditions which are not part of the SMTP protocol. These
errors are generally made known in current error reports, but
need to be assigned numeric codes to be used in the
Text/Delivery-Status content type. The following error codes are
defined to communicate these system failures. These are derived
from the SMTP error code convention of permanent (5XX) connection
(X2X) errors.
522 Host unreachable. The host specified is not
connected to the MTA.
522 Network Unreachable. The network the host
resides upon is either not connected to the
MTA or unreachable due to routing problems.
523 Host name does not exist. A non existent
destination was provided.
524 Service not available. SMTP on TCP port 25
is not available.
Vaudreuil Expires 7/22/94 [Page 8]
Internet Draft Delivery Status November 22, 1993
6.1.4. Example Non-Delivery Message
The following error message was sent to the user Keith on message
machine cs.utk.edu because the message addressed to Greg was mis-
addressed and does not exist on message machine Tigon.com. The
error message was sent by the mail program itself and not on
behalf of a particular user and therefor has the From: address of
"Postmaster".
To: Moore@cs.utk.edu
From: postmaster@Tigon.com
Mime-Version: 1.0
Date: Mon, 3 Fri 93 13:39:31 PDT
Message-ID: Tigon.com-1212121212
Content-type: Multipart/Delivery-Status;
boundary = "service-notification-boundary"
--service-notification-boundary
content-type: Text/Delivery-Status
Message-Id: cs.utk.edu-123456789
Intended-recipient: GregZ@Tigon.com
Action: Failed
Date: Fri, 3 Sep 93 13:39:31 PDT
MTA-Notification-Code: 550 (Invalid mailbox)
Sending-MTA: Tigon.com
--service-notification-boundary
Content-type: Message/Sample
Content-Transfer-Encoding: 7bit
Received: ......
Received: ......
To: GregZ@Tigon.com
From: Moore@cs.utk.edu
Subject: This is a test of your new address
Date: Fri, 3 Sep 93 13:36:12 PDT
This is a test message
Keith
--service-notification-boundary--
Vaudreuil Expires 7/22/94 [Page 9]
Internet Draft Delivery Status November 22, 1993
6.2. Unsupported Service Notification
The Multi-purpose Internet Mail Extensions (MIME) protocol
enables the sending of rich multi-media messages. The lack of
directory services makes it likely that a message will be sent
which cannot be viewed or converted to a media type which can be
viewed.
There is no defined mechanism for reporting to the sender when
such a message is deliverable but not readable or processable.
In many messaging environments, it may be useful to return a
message to the sender indicating that the specified content-type
is unsupported. It is expected that this information will be
cached, either informally by a human user, or by a local
directory for use by the user agent.
This unsupported service notification extension provides a
mechanism to report media conversion errors. At this time there
is no defined mechanism to request or prohibit message
conversion. Even in the absence of any defined mechanism, this
notification type is useful for reporting failures when a
recipient may attempt to convert a content as required for
successful delivery.
6.2.1. Framework for the Unsupported Service Notifications
The following delivery service notification is defined:
o The name of this delivery service notification is "Service
Failure".
o The list of response codes is extended by this service
notification type.
o One additional attributed types is defined, "Service-Not-
Available". This attribute may contain one or more coma
separate MIME content type designators which could not be
viewed by the recipient.
o No additional action types are defined.
Determination of what is a supported and what is an unsupported
feature and the mechanisms by which a user agent may report non-
support of content is left as an implementation choice. Note
that a user may have resources beyond his mail reading program by
which to process new content-types.
Only one service notification may be sent per message. Service
notifications are to be generated in such a manner that
subsequent delivery or read attempts will not result in
additional service notifications.
Vaudreuil Expires 7/22/94 [Page 10]
Internet Draft Delivery Status November 22, 1993
6.2.2. Service Failure Codes
A new series of error codes is defined to report these errors.
These errors are permanent (5XX) service (X6X) errors.
560 Content not supported.
561 Implicit conversion to a media type usable
by the recipient is prohibited by the
sender.
562 Conversion to a media type supported by the
recipient is not possible.
563 Conversion to a media type supported by the
recipient is not practical.
Vaudreuil Expires 7/22/94 [Page 11]
Internet Draft Delivery Status November 22, 1993
6.2.3. Example Unsupported Service Message
The following Delivery Status Notification was sent to user Keith
on machine cs.utk.edu when his fax image message sent to Greg on
machine Tigon.com could not be viewed. No return of content was
requested.
To: Moore@cs.utk.edu
From: GregV@Tigon.com
Message-ID: Tigon.com-1212121212
Mime-Version: 1.0
Date: Mon, 3 Fri 93 13:39:31 PDT
Content-type: Multipart/Delivery-Status;
boundary = "service-notification-boundary"
--service-notification-boundary
content-type: Text/Delivery-Status
Message-Id: cs.utk.edu-123456789
Intended-recipient: GregV@Tigon.com
Action: Failed
MTA-Notification-code: 560 (Media type is not supported)
Date: Fri, 3 Sep 93 13:39:31 PDT
Sending-MTA: Tigon.com
Service-Not-Available: Image/G3fax
--service-notification-boundary
Content-type: Message/Sample
Content-Transfer-Encoding: 7bit
Received: ......
To: GregV@Tigon.com
From: Moore@cs.utk.edu
Subject: This is a test of your new address
Date: Fri, 3 Sep 93 13:36:12 PDT
Mime-Version: 1.0
Content-Type: Image/G3Fax
Content-Transfer-Encoding: Base-64
......
--service-notification-boundary--
Vaudreuil Expires 7/22/94 [Page 12]
Internet Draft Delivery Status November 22, 1993
6.3. Delayed Message Notifications
It is common practice in the Internet to send a notification to
the message originator when a message is delayed beyond a
reasonable time. While these messages are simply advisory, it is
useful to report the delay in a standardized format to enable
automated sorting and if reasonable, discard. Multiple delayed
message notifications may be sent as the delay accumulates.
6.3.1. Framework for Delayed Message Notifications
The following delivery service notification is defined:
o The name of this delivery service notification is "Delayed
Message".
o The list of response codes include all temporary failure
response codes from SMTP and ESMTP and the new codes defined
in this document.
o One additional attributed types is defined, "Message-Status".
This attribute will indicate the additional time for which
future delivery attempts will be made. The value is a
positive integer representing the number of hours the message
will remain in queue.
o One new action type is defined, "Delayed". This action type
indicates that the message has been queued for further
processing.
o Return of content is not appropriate for this delivery
service notification type.
6.3.2. Delayed Message Codes
The 400 series of response codes are "soft" failures, indicating
that re-try is reasonable at a later time. These errors should
only be reported if the message is queued for future delivery
attempts. If these conditions are permanent, they must be
reported as a non-delivery notification using 5XX codes .
421 <domain> Service not available, [This may
be a reply to any command if the service
knows it must shut down]
450 Requested mail action not taken: mailbox
unavailable [E.g., mailbox busy]
451 Requested action aborted: local error in
processing
452 Requested action not taken: insufficient
system storage
Vaudreuil Expires 7/22/94 [Page 13]
Internet Draft Delivery Status November 22, 1993
Often mail transfer delays result from network or transport level
conditions which are not part of the SMTP protocol. These
conditions are generally made known in current error reports, but
need to be assigned numeric codes to be used in the
Text/Delivery-Status content type. The following error codes are
defined to communicate these system delays. These are derived
from the SMTP error code convention of temporary (4XX) connection
(X2X) errors.
424 Service not available. SMTP on TCP port 25 is
not available.
422 Host unreachable. The host specified is not
connected to the MTA.
6.3.3. Example Delayed Message Notice
The following message was sent to Keith on machine cs.utk.edu
reporting that the mail machine Tigon.com was temporarily
unavailable and that delivery attempts will continue for 3 days.
To: Moore@cs.utk.edu
From: GregV@Tigon.com
Message-ID: Tigon.com-1212121212
Mime-Version: 1.0
Date: Mon, 3 Fri 93 13:39:31 PDT
Content-type: Text/Delivery-Status
Action: Delayed
Intended-recipient: GregV@Tigon.com
Message-Status: 72 (Delivery attempts will continue for 3
days)
Date: Fri, 3 Sep 93 13:39:31 PDT
MTA-Notification-Code: 422 (Host unreachable)
Message-Id: cs.utk.edu-123456789
Sending-MTA: Tigon.com
Vaudreuil Expires 7/22/94 [Page 14]
Internet Draft Delivery Status November 22, 1993
6.4. Security Failure Notification Type
Privacy Enhanced Mail and other mail security protocols provide
the ability to protect a message content from modification. This
protection may render a message unsuitable for gatewaying into a
new environment or unreadable by a recipient without the
appropriate security keys.
6.4.1. Framework for Security Failure Message Notifications
The following delivery service notification is defined:
o The name of this delivery service notification is "Delayed
Message".
o The list of response codes include all temporary failure
response codes from SMTP, ESMTP, and the MTA Failure service
notification type.
o No additional attributed types is defined.
o No additional action type is defined.
6.4.2. Security Failure Codes
A new series of error codes is defined to report these
conditions. These response codes are permanent (5XX) security-
related (X7X) errors.
570 Message could not viewed due to security
protection
571 Message could not be relayed due to
security protection
Vaudreuil Expires 7/22/94 [Page 15]
Internet Draft Delivery Status November 22, 1993
7.Security Considerations
Message notifications are only as secure as the mechanism by
which they have been sent. It is important to note that
automatic deletion of an address from a mailing list based on
delivery status notifications may provide a mechanism for denial-
of-service attacks.
8.Authors Address
Gregory M. Vaudreuil
Tigon Corporation
17060 Dallas Parkway
Suite 109
Dallas, Texas 75248-1905
(214) 733 2722
Gvaudre@cnri.reston.va.us
Vaudreuil Expires 7/22/94 [Page 16]
Internet Draft Delivery Status November 22, 1993
Appendix - Changes from previous draft
o An optional Text/Plain body part can now be included in the
multipart/Delivery-Report. The text attributed has been
deleted in favor of this optional description. The
text/plain body part facilitates the use of non-ascii based
languages and is not subject to the formatting requirements
of the attribute/value syntax.
Vaudreuil Expires 7/22/94 [Page 17]