< draft-crocker-email-arch-06.txt   draft-crocker-email-arch-07.txt >
SMTP D. Crocker SMTP D. Crocker
Internet-Draft Brandenburg InternetWorking Internet-Draft Brandenburg InternetWorking
Intended status: Standards Track March 4, 2007 Intended status: Standards Track May 6, 2007
Expires: September 5, 2007 Expires: November 7, 2007
Internet Mail Architecture Internet Mail Architecture
draft-crocker-email-arch-06 draft-crocker-email-arch-07
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 5, 2007. This Internet-Draft will expire on November 7, 2007.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
Over its thirty-five year history Internet Mail has undergone Over its thirty-five year history Internet Mail has undergone
significant changes in scale and complexity, as it has become a significant changes in scale and complexity, as it has become a
global infrastructure service. The first standardized architecture global infrastructure service. The first standardized architecture
for networked email specified little more than a simple split between for networked email specified little more than a simple split between
the user world and the transmission world. Core aspects of the the user world and the transmission world. Core aspects of the
service, such as the styles of mailbox address and basic message service, such as the styles of mailbox address and basic message
format, have remained remarkably constant. However today's Internet format, have remained remarkably constant. However today's Internet
Mail is marked by many independent operators, many different Mail is marked by many independent operators, many different
components for providing users service and many others for performing components for providing service to users and many others for
message transfer. Public discussion of the architecture has not kept performing message transfer. Public discussion of the service often
pace with the real-world technical and operational refinements. This lacks common terminology and a common frame of reference for these
document offers an enhanced Internet Mail architecture that targets components and their activities. Having a common reference model and
description of the existing service. terminology makes a basic difference when talking about problems with
the service, changes in policy, or enhancement to the service's
functionality. This document offers an enhanced Internet Mail
architecture that targets description of the existing service, in
order to facilitate clearer and more efficient technical, operations
and policy discussions about email.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Service Overview . . . . . . . . . . . . . . . . . . . . . 4 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Document Conventions . . . . . . . . . . . . . . . . . . . 5 1.2. Service Overview . . . . . . . . . . . . . . . . . . . . . 5
1.3. Document Administration . . . . . . . . . . . . . . . . . 5 1.3. Document Conventions . . . . . . . . . . . . . . . . . . . 6
2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 6 2. Responsible Actor Roles . . . . . . . . . . . . . . . . . . . 6
2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 8 2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 10
2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 11 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 13
3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 15 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 15 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 17
4. Services and Standards . . . . . . . . . . . . . . . . . . . . 17 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 18
4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 20 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 21
4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 22 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 26
4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 25 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 28
5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 32 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 34 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 36
5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 38 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 39
6. Security Considerations . . . . . . . . . . . . . . . . . . . 38 6. Security Considerations . . . . . . . . . . . . . . . . . . . 39
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39
7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 38 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.2. Descriptive . . . . . . . . . . . . . . . . . . . . . . . 40 8.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 39
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 41 8.2. Descriptive . . . . . . . . . . . . . . . . . . . . . . . 42
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 41 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 42
Intellectual Property and Copyright Statements . . . . . . . . . . 42 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 43
Intellectual Property and Copyright Statements . . . . . . . . . . 44
1. Introduction 1. Introduction
Over its thirty-five year history Internet Mail has undergone Over its thirty-five year history Internet Mail has undergone
significant changes in scale and complexity, as it has become a significant changes in scale and complexity, as it has become a
global infrastructure service. However the changes have been global infrastructure service. The changes have been evolutionary,
evolutionary, rather than revolutionary, reflecting a strong desire rather than revolutionary, reflecting a strong desire to preserve its
to preserve its installed base of users and utility. installed base of users and utility. Today, Internet Mail is marked
by many independent operators, many different components for
providing service to users and many other components for performing
message transfer.
Public collaboration on email technical, operations and policy
activities, including those responding to the challenges of email
abuse, has brought in a much wider range of participants than email's
technical community originally had. In order to do work on a large,
complex system, they need to share the same view of how it is put
together, as well as what terms to use to refer to the pieces and
their activities. Otherwise, it is difficult to know exactly what
another participant means. It is these differences in each person's
perspective that motivates this document, to describe the realities
of the current system. Internet mail is the subject of ongoing
technical, operations and policy work, and the discussions often are
hindered by different models of email service design and different
meanings for the same terms. This architecture document seeks to
facilitate clearer and more efficient technical, operations and
policy exchanges about email.
This document offers an enhanced Internet Mail architecture to
reflect the current service. In particular it:
* Documents refinements to the email model
* Clarifies functional roles for the architectural components
* Clarifies identity-related issues, across the email service
* Defines terminology for architectural components and their
interactions
1.1. Background
The first standardized architecture for networked email specified a The first standardized architecture for networked email specified a
simple split between the user world, in the form of Mail User Agents simple split between the user world, in the form of Mail User Agents
(MUA), and the transmission world, in the form of the Mail Handling (MUA), and the transmission world, in the form of the Mail Handling
Service (MHS) composed of Mail Transfer Agents (MTA). The MHS is Service (MHS) composed of Mail Transfer Agents (MTA). The MHS is
responsible for accepting a message from one User and delivering it responsible for accepting a message from one User and delivering it
to one or more others, creating a virtual MUA-to-MUA exchange to one or more others, creating a virtual MUA-to-MUA exchange
environment. environment.
As shown in Figure 1 this defines two logical "layers" of
interoperability. One is directly between Users. The other is
between the neighboring components, along the transfer path. In
addition, there is interoperability between the layers, first when a
message is posted from the User to the MHS and later when it is
delivered from the MHS to the User.
+--------+ +--------+
+---------------->| User | +---------------->| User |
| +--------+ | +--------+
| ^ | ^
+--------+ | +--------+ . +--------+ | +--------+ .
| User +--+--------->| User | . | User +--+--------->| User | .
+--------+ | +--------+ . +--------+ | +--------+ .
. | ^ . . | ^ .
. | +--------+ . . . | +--------+ . .
. +-->| User | . . . +-->| User | . .
skipping to change at page 3, line 48 skipping to change at page 4, line 41
| . . . | | . . . |
| +......................>+ . | | +......................>+ . |
| . . | | . . |
| +.............................>+ | | +.............................>+ |
| | | |
| Mail Handling Service (MHS) | | Mail Handling Service (MHS) |
+--------------------------------------+ +--------------------------------------+
Figure 1: Basic Internet Mail Service Model Figure 1: Basic Internet Mail Service Model
Today, Internet Mail is marked by many independent operators, many As it has evolved, the operational service has sub-divided each of
different components for providing users service and many other these layers into more specialized modules. Core aspects of the
components for performing message transfer. So it is not surprising service, such as mailbox addressing and message format style, have
that the operational service has sub-divided each of these "layers" remained remarkably constant. So the original distinction between
into more specialized modules. Core aspects of the service, such as user-level concerns and transfer-level concerns is retained, but with
mailbox address and message style, have remained remarkably constant. an elaboration to each level of the architecture. The term "Internet
However public discussion of the architecture has not kept pace with Mail" is used to refer to the entire collection of user and transfer
the real-world refinements. This document offers an enhanced components and services.
Internet Mail architecture to reflect the current service. The
original distinction between user-level concerns and transfer-level
concerns is retained, with an elaboration to each "level" of the
architecture that is discussed separately. The term "Internet Mail"
is used to refer to the entire collection of user and transfer
components.
For Internet Mail the term "end-to-end" usually refers to a single For Internet Mail the term "end-to-end" usually refers to a single
posting and the set of deliveries directly resulting from its single posting and the set of deliveries directly resulting from its single
transiting of the MHS. A common exception is with group dialogue transiting of the MHS. A common exception is with group dialogue
that is mediated via a mailing list, so that two postings occur, that is mediated via a mailing list, so that two postings occur
before intended recipients receive an originator's message. In fact, before intended recipients receive an originator's message, as
some uses of email consider the entire email service -- including discussed in Section 2.1.3. In fact some uses of email consider the
Originator and Recipient -- as a subordinate component. For these entire email service -- including Originator and Recipient -- as a
services "end-to-end" refers to points outside of the email service. subordinate component. For these services "end-to-end" refers to
Examples are voicemail over email [RFC2423], EDI over email [RFC1767] points outside of the email service. Examples are voicemail over
and facsimile over email.[ID-ffpim] email [RFC3801], EDI over email [RFC1767] and facsimile over email.
[RFC4142]
The current draft:
* Documents refinements to the email model
* Clarifies functional roles for the architectural components
* Clarifies identity-related issues, across the email service
1.1. Service Overview 1.2. Service Overview
End-to-end Internet Mail exchange is accomplished by using a End-to-end Internet Mail exchange is accomplished by using a
standardized infrastructure comprising: standardized infrastructure comprising:
* An email object * An email object
* Global addressing * Global addressing
* An asynchronous sequence of point-to-point transfer mechanisms * An asynchronous sequence of point-to-point transfer mechanisms
* No prior arrangement between Originator and Recipient * No prior arrangement between Originator and Recipient
* No prior arrangement between point-to-point transfer services, * No prior arrangement between point-to-point transfer services,
over the open Internet over the open Internet
* No requirement for Originator and Recipient to be online at the * No requirement for Originator and Recipient to be online at the
same time. same time.
The end-to-end portion of the service is the email object, called a The end-to-end portion of the service is the email object, called a
message. Broadly the message, itself, is divided between handling message. Broadly the message, itself, distinguishes between control
control information and user message content. information for handling, versus the author's message content.
A precept to the design of mail over the open Internet is permitting A precept to the design of mail over the open Internet is permitting
user-to-user and MTA-to-MTA interoperability to take place with no user-to-user and MTA-to-MTA interoperability to take place with no
prior, direct administrative arrangement between independent prior, direct arrangement between the independent administrative
Administrative Management Domains (AdMD). That is, all participants authorities that are responsible for handling a message. That is,
rely on having the core services be universally supported, either all participants rely on having the core services be universally
directly or through Gateways that translate between Internet Mail supported and accessible, either directly or through gateways that
standards and other email environments. Given the importance of translate between Internet Mail standards and other email
spontaneity and serendipity in the world of human communications, environments. Given the importance of spontaneity and serendipity in
this lack of prearrangement between the participants is a core the world of human communications, this lack of prearrangement
benefit of Internet Mail and remains a core requirement for it. between participants is a core benefit of Internet Mail and remains a
core requirement for it.
Within localized environments (Edge networks) prior administrative Within localized networks at the edge of the public Internet, prior
arrangement can include access control, routing constraints and administrative arrangement often is required and can include access
lookup service configuration. In recent years one change to local control, routing constraints and lookup service configuration. In
environments is an increased requirement for authentication or, at recent years one change to local environments is an increased
least, accountability. In these cases a server performs explicit requirement for authentication or, at least, accountability. In
validation of the client's identity. these cases a server performs explicit validation of the client's
identity.
1.2. Document Conventions 1.3. Document Conventions
In this document, references to structured fields of a message use a In this document, references to structured fields of a message use a
two-part dotted notation. The first part cites the document that two-part dotted notation. The first part cites the document that
contains the specification for the field and the second is the name contains the specification for the field and the second is the name
of the field. Hence <RFC2822.From> is the From field in an email of the field. Hence <RFC2822.From> is the From field in an email
content header and <RFC2821.MailFrom> is the address in the SMTP content header and <RFC2821.MailFrom> is the address in the SMTP
"Mail From" command. "Mail From" command.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as specified in RFC 2119 [RFC2119]. document are to be interpreted as specified in RFC 2119 [RFC2119].
1.3. Document Administration
Discussion venue: Please direct discussion about this document to Discussion venue: Please direct discussion about this document to
the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>. the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>.
Changes: Changes:
Modified Protocols and Services figure, for MS, MSA and MDA. Added text to explain utility of having an architecture document.
Revised discussion to reflect these changes, particularly the
split role an MSA or MDA serves.
Added recent Lemonade reference, for thin clients. Added text explaining benefit of the ADMD construct.
Various clarifications and wordsmithing. Added commentary on List-ID.
2. Email Actor Roles Moved Bounce out of MHS in figure.
Moved "generic" Identity field case-analysis text into common area
after Table 1, reserving per-role text for per-role peculiarities.
Extensive word-smithing and cleanup.
2. Responsible Actor Roles
Internet Mail is a highly distributed service, with a variety of Internet Mail is a highly distributed service, with a variety of
actors serving different roles. These divide into 3 basic types: actors serving different roles. These divide into 3 basic types:
* User * User
* Mail Handling Service (MHS) * Mail Handling Service (MHS)
* ADministrative Management Domain (ADMD) * ADministrative Management Domain (ADMD)
Although related to a technical architecture, the focus on Actors Although related to a technical architecture, the focus on Actors
concerns participant responsibilities, rather than on functional concerns participant responsibilities, rather than on functionality
modules. Hence the labels used are different than for classic email of modules. Hence the labels used are different than for classic
architecture diagrams. Actors often will be associated with email architecture diagrams.
different organizations. This operational independence provides the
motivation for distinguishing among different ADMDs.
2.1. User Actors 2.1. User Actors
Users are the sources and sinks of messages. They can be humans or Users are the sources and sinks of messages. They can be humans or
processes. They can have an exchange that iterates and they can processes. They can have an exchange that iterates and they can
expand or contract the set of Users participating in a set of expand or contract the set of users participating in a set of
exchanges. In Internet Mail there are three types of user-level exchanges. In Internet Mail there are three types of user-level
Actors: Actors:
* Originators * Originators
* Recipients * Recipients
* Mediators * Mediators
From the User-level perspective all mail transfer activities are From the User-level perspective all mail transfer activities are
skipping to change at page 7, line 4 skipping to change at page 7, line 30
* Originators * Originators
* Recipients * Recipients
* Mediators * Mediators
From the User-level perspective all mail transfer activities are From the User-level perspective all mail transfer activities are
performed by a monolithic Mail Handling Service (MHS), even though performed by a monolithic Mail Handling Service (MHS), even though
the actual service can be provided by many independent organizations. the actual service can be provided by many independent organizations.
Users are customers of this unified service. Users are customers of this unified service.
The following depicts the flow of messages among Actors. The following depicts the flow of messages among Actors:
+------------+ +------------+
| |<---------------------------+ | |<---------------------------+
| Originator |<----------------+ | | Originator |<----------------+ |
| |<----+ | | | |<----+ | |
+-+---+----+-+ | | | +-+---+----+-+ | | |
| | | | | | | | | | | |
| | V | | | | | V | | |
| | +---------+-+ | | | | +---------+-+ | |
| | | Recipient | | | | | | Recipient | | |
skipping to change at page 7, line 43 skipping to change at page 8, line 41
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+
Figure 2: Relationships Among User Actors Figure 2: Relationships Among User Actors
2.1.1. Originator 2.1.1. Originator
Also called "Author", this is the user-level participant responsible Also called "Author", this is the user-level participant responsible
for creating original content and requesting its transmission. The for creating original content and requesting its transmission. The
MHS operates to send and deliver mail among Originators and MHS operates to send and deliver mail among Originators and
Recipients. As described below, the MHS has a "Source" role that Recipients. As described below, the MHS has a "Source" role that
correlates with the Author role. correlates with the user-level Author role.
2.1.2. Recipient 2.1.2. Recipient
The Recipient is a consumer of delivered content. As described The Recipient is a consumer of delivered content. As described
below, the MHS has a "Dest[ination]" role that correlates with the below, the MHS has a "Dest[ination]" role that correlates with the
Recipient role. user-level Recipient role.
A Recipient can close the user-level communication loop by creating A Recipient can close the user-level communication loop by creating
and submitting a new message that replies to an Originator. An and submitting a new message that replies to an Originator. An
example of an automated form of reply is the Message Disposition example of an automated form of reply is the Message Disposition
Notification, which informs the Originator about how the Recipient Notification, which informs the Originator about the Recipient's
handled the message. See Section 4.1. handling of the message. (See Section 4.1.)
2.1.3. Mediator 2.1.3. Mediator
A Mediator receives, aggregates, reformulates and redistributes A Mediator receives, aggregates, reformulates and redistributes
messages as part of a potentially-protracted, higher-level exchange messages as part of a potentially-protracted, higher-level exchange
among Users. Example uses of Mediators include group dialogue and among Users. Example Mediators include group dialogue, such as
organizational message flow, as occurs with a purchase approval collaboration via mailing lists, and organizational message flow, as
process. Note that it is easy to confuse this user-level activity occurs with a purchase approval process. Note that it is easy to
with the underlying MHS transfer exchanges. However they serve very confuse this user-level activity with the underlying MHS transfer
different purposes and operate in very different ways. Mediators are exchanges. However they serve very different purposes and operate in
considered extensively in Section 5. very different ways. Mediators are considered extensively in
Section 5.
When mail is delivered to the mailbox address specified in the When mail is delivered to a receiving mediator specified in the
RFC2821.MailFrom command, a receiving Mediator is viewed by the Mail RFC2821.RcptTo command, the MHS handles it the same way as for any
Handling Service as a Recipient. When submitting messages, the other Recipient. That is, the MHS only sees posting and delivery
Mediator is an Originator. What is distinctive is that a Mediator sources and sinks and does not see (later) re-posting as a
preserves the Originator information of the message it reformulates, continuation of a process. Hence when submitting messages, the
but may make meaningful changes to the content. Hence the MHS sees a Mediator is an Originator.
new message, but Users receive a message that is interpreted as
primarily being from -- or, at least, initiated by -- the author of The distinctive aspects of a Mediator are, therefore, above the MHS.
the original message. The role of a Mediator permits distinct, A Mediator preserves the Originator information of the message it
active creativity, rather than being limited to the more constrained reformulates, but may make meaningful changes to the content. Hence
job of merely connecting together other participants. Hence it is the MHS sees a new message, but Users receive a message that is
really the Mediator that is responsible for the new message. interpreted as primarily being from -- or, at least, initiated by --
the author of the original message. The role of a Mediator permits
distinct, active creativity, rather than being limited to the more
constrained job of merely connecting together other participants.
Hence it is really the Mediator that is responsible for the new
message.
A Mediator's task can be complex and contingent, such as by modifying A Mediator's task can be complex and contingent, such as by modifying
and adding content or regulating which users are allowed to and adding content or regulating which users are allowed to
participate and when. The popular example of this role is a group participate and when. The popular example of this role is a group
mailing list. A sequence of Mediators may even perform a series of mailing list. A sequence of Mediators may even perform a series of
formal steps, such as reviewing, modifying and approving a purchase formal steps, such as reviewing, modifying and approving a purchase
request. request.
Because a Mediator originates messages, it might also receive Because a Mediator originates messages, it can also receive replies.
replies. So a Mediator really is a full-fledged User. So a Mediator really is a full-fledged User.
Gateway: A Gateway is a particularly interesting form of Mediator. Gateway: A Gateway is a particularly interesting form of Mediator.
It is a hybrid of User and Relay that interconnects heterogeneous It is a hybrid of User and Relay that interconnects heterogeneous
mail services. Its goal is to emulate a Relay, so Gateway is mail services. Its goal is to emulate a Relay, and a detailed
described in more detail, in Section 2.2.4. discussion is in Section 2.2.4.
2.2. Mail Handling Service (MHS) Actors 2.2. Mail Handling Service (MHS) Actors
The Mail Handling Service (MHS) has the task of performing a single, The Mail Handling Service (MHS) has the task of performing a single,
email-level, end-to-end transfer on behalf of the Originator and end-to-end transfer on behalf of the Originator and reaching the
reaching the Recipient address(es) specified in the envelope. Recipient address(es) specified in the original RFC2821.RcptTo
commands. Mediated or protracted, iterative exchanges, such as those
Mediated or protracted, iterative exchanges, such as those used for used for collaboration over time, are part of the User-level service,
collaboration over time, are part of the User-level service, and are and are not part of this transfer-level Handling Service.
not part of this Transfer-level Handling Service.
The following depicts the relationships among transfer participants The following depicts the relationships among transfer participants
in Internet Mail. It shows the Source as distinct from the in Internet Mail. It shows the Source as distinct from the
Originator, and Dest[ination] as distinct from Recipient, although it Originator, and Dest[ination] as distinct from Recipient, although it
is common for each pair to be the same actor. The figure also shows is common for each pair to be the same actor. Transfers typically
multiple Relays in the sequence. It is legal to have no separate entail one or more Relays. However direct delivery from the Source
Relay, where the Source and Dest interact directly. For intra- to Destination is possible. For intra-organization mail services, it
organization mail services, it is common to have only one Relay. is common to have only one Relay.
+------------+ +-----------+ +------------+ +-----------+
| Originator | | Recipient | | Originator | +--------+ | Recipient |
+-----+------+ +-----------+ +-----+------+ ..>| Bounce | +-----------+
| ^ | . +--------+ ^
| Mail Handling Service (MHS) | | . ^ |
/+=================================================+\ /+=================================================+\
|| | | || || | . | Mail Handling | ||
|| | | || || | . | Service (MHS) | ||
V | V . | |
+---------+ +--------+ +----+----+ +---------+ . | +----+----+
| | | |<------------+ | | | . | | |
| Source +...>| Bounce | | Dest | | Source +.... +-<-------------+ Dest |
| | | |<---+ | | | | | | |
+----+----+ +--------+ | +---------+ +----+----+ ^ +---------+
| | ^ | | ^
V | | | +-------------+-----------------+ |
+---------+ +----+----+ +----+----+ V | | | |
| Relay +-->.......-->| Relay +-->| Relay | +-------+-+ +-+-------+ +-+--+----+
+---------+ +----+----+ +---------+ | Relay +-->...-->| Relay +------>| Relay |
| +---------+ +----+----+ +---------+
V |
+---------+ V
| Gateway +-->... +---------+
+---------+ | Gateway +-->...
+---------+
Figure 3: Relationships Among MHS Actors Figure 3: Relationships Among MHS Actors
2.2.1. Source 2.2.1. Source
The Source role is responsible for ensuring that a message is valid The Source role is responsible for ensuring that a message is valid
for posting and then submitting it to a Relay. Validity includes for posting and then submitting it to a Relay. Validity includes
conformance with Internet Mail standards, as well as with local conformance with Internet Mail standards, as well as with local
operational policies. The Source can simply review the message for operational policies. The Source can simply review the message for
conformance and reject it if there are errors, or it can create some conformance and reject it if there are errors, or it can create some
skipping to change at page 10, line 29 skipping to change at page 11, line 38
by the MHS, as a result of its efforts to transfer or deliver the by the MHS, as a result of its efforts to transfer or deliver the
message. Notices can be about failures or completions and are sent message. Notices can be about failures or completions and are sent
to an address that is specified by the Source. This Bounce handling to an address that is specified by the Source. This Bounce handling
address (also known as a Return address) might have no visible address (also known as a Return address) might have no visible
characteristics in common with the address of the Originator or characteristics in common with the address of the Originator or
Source. Source.
NOTE: NOTE:
The choice of the label "Bounce" is unfortunate, due to its The choice of the label "Bounce" is unfortunate, due to its
negative implication. Currently, this is the most popular term negative implication and narrow focus. However it is the most
for the field. popular term for the address.
2.2.3. Relay 2.2.3. Relay
A mail Relay performs email transfer-service routing and store-and- A mail Relay performs email transfer-service routing and store-and-
forward. It adds envelope-level handling information and then forward by (re-)transmitting the message on towards its Recipient(s).
(re-)transmits the message on towards its Recipient(s). A Relay can A Relay can add information to the envelope, such as with trace
add information to the envelope, such as with trace information. information. However it does not modify existing envelope
However it does not modify existing envelope information or the information or the message content semantics. It can modify message
message content semantics. It can modify message content syntax, content syntax, such as a change from text to binary transfer-
such as a change from text to binary transfer-encoding form, only as encoding form, only as required to meet the capabilities of the next
required to meet the capabilities of the next hop in the MHS. hop in the MHS.
A set of Relays composes a Mail Handling Service (MHS) network. This A set of Relays composes a Mail Handling Service (MHS) network. This
is above any underlying packet-switching network that they might be is above any underlying packet-switching network that they might be
using and below any gateways or other user-level Mediators. using and below any gateways or other user-level Mediators.
In other words, interesting email scenarios can involve three In other words, interesting email scenarios can involve three
distinct architectural layers of store-and-forward service: distinct architectural layers of store-and-forward service:
* User Mediators * User Mediators
* MHS Relays * MHS Relays
* Packet Switches * Packet Switches
with the bottom-most usually being the Internet's IP service. The with the bottom-most usually being the Internet's IP service. The
most basic email scenarios involve Relays and Switches. most basic email scenarios involve Relays and Switches.
Aborting a message transfer results in having the Relay become an Aborting a message transfer results in having the Relay become an
Originator and send an error message to the Bounce address. (The Originator and send an error message to the Bounce address. The
potential for looping is avoided by having this message, itself, potential for looping is avoided by having this message, itself,
contain no Bounce address.) contain no Bounce address.
2.2.4. Gateway 2.2.4. Gateway
A Gateway is a hybrid form of User and Relay that interconnects A Gateway is a hybrid form of User and Relay that interconnects
heterogeneous mail services. Its purpose is simply to emulate a heterogeneous mail services. Its purpose is simply to emulate a
Relay and the closer it comes to this, the better. However it Relay and the closer it comes to this, the better. However it
operates at the User level, because it MUST be able to modify message operates at the User level, because it MUST be able to modify message
content. content.
Differences between mail services can be as small as minor syntax Differences between mail services can be as small as minor syntax
variations, but usually encompass significant, semantic distinctions. variations, but usually encompass significant, semantic distinctions.
One difference could have the concept of an email address be a One difference could have the concept of an email address be a
hierarchical, machine-specific address versus have it be a flat, hierarchical, machine-specific address, versus having it be a flat,
global name space. Another difference could be between text-only global name space. Another difference could be between text-only
content, versus multi-media. Hence the Relay function in a Gateway content, versus multi-media. Hence the Relay function in a Gateway
offers significant design challenges, to make the result be as offers significant design challenges, to make the result be as
seamless as possible. The more significant challenge is in ensuring seamless as possible. The most significant challenge is in ensuring
the user-to-user functionality that matches syntax and semantics of the user-to-user functionality that matches syntax and semantics of
independent email standards suites. independent email standards suites.
The basic test of a Gateway's adequacy is, of course, whether an The basic test of a Gateway's adequacy is, of course, whether an
Originator on one side of a Gateway can send a message to a Recipient Originator on one side of a Gateway can send a useful message to a
on the other side, without requiring changes to any of the components Recipient on the other side, without requiring changes to any of the
in the Originator's or Recipient's mail services, other than adding components in the Originator's or Recipient's mail services, other
the Gateway. To each of these otherwise independent services, the than adding the Gateway. To each of these otherwise independent
Gateway will appear to be a "native" participant. However the services, the Gateway will appear to be a "native" participant.
ultimate test of a Gateway's adequacy is whether the Originator and However the ultimate test of a Gateway's adequacy is whether the
Recipient can sustain a dialogue. In particular can a Recipient's Originator and Recipient can sustain a dialogue. In particular can a
MUA automatically formulate a valid Reply that will reach the initial Recipient's MUA automatically formulate a valid Reply that will reach
Originator? the initial Originator?
2.3. Administrative Actors 2.3. Administrative Actors
Actors often will are associated with different organizations, each
with its own administrative authority. This operational
independence, coupled with the need for interaction between groups,
provides the motivation for distinguishing among ADministrative
Management Domains (ADMD). Each ADMD can have vastly different
operating policies and trust-based decision-making. An obvious
example is the distinction between mail that is exchanged within a
single organization, versus mail that is exchanged between
independent organizations. The rules for handling these two types of
traffic tend to be quite different. That difference requires
defining the boundaries of each, and this requires the ADMD
construct.
Operation of Internet Mail services is apportioned to different Operation of Internet Mail services is apportioned to different
providers (or operators). Each can be an independent ADministrative providers (or operators). Each can be an independent ADMD. This
Management Domain (ADMD). Examples include an end-user operating independence of administrative decision-making defines boundaries
their desktop client, a department operating a local Relay, an IT that distinguish different portions of the Internet Mail service.
department operating an enterprise Relay and an ISP operating a Examples include an end-user operating their desktop client, a
public shared email service. These can be configured into many department operating a local Relay, an IT department operating an
combinations of administrative and operational relationships, with enterprise Relay and an ISP operating a public shared email service.
each ADMD potentially having a complex arrangement of functional These can be configured into many combinations of administrative and
components. Figure 4 depicts the relationships among ADMDs. Perhaps operational relationships, with each ADMD potentially having a
the most salient aspect of an ADMD is the differential trust that complex arrangement of functional components. Figure 4 depicts
determines its policies for activities within the ADMD, versus those relationships among ADMDs. The benefit of having the ADMD construct
involving interactions with other ADMDs. The architectural impact of is to facilitate discussions and designs that need to distinguish
needing to have boundaries between ADMD's is discussed in [Tussle]. between "internal" issues and "external" ones.
Basic types of ADMDs include: The architectural impact of needing to have boundaries between ADMD's
is discussed in [Tussle]. Most significant is that the entities
communicating across ADMD boundaries will typically have an added
burden to enforce organizational policies concerning "external"
communications. At a more mundane level, the basis for routing mail
between ADMDs is often an issue.
Edge: Independent transfer services, in networks at the edge of the Basic types of ADMDs include --
open Internet Mail service.
User: End-user services. This might be subsumed under the Edge Edge: Independent transfer services, in networks at the edge of
service, such as is common for web-based email access. the open Internet Mail service.
Transit: These are Mail Service Providers (MSP) offering value- User: End-user services. This might be subsumed under the Edge
added capabilities for Edge ADMDs, such as aggregation and service, such as is common for web-based email access.
filtering.
Transit: These are Mail Service Providers (MSP) offering value-
added capabilities for Edge ADMDs, such as aggregation and
filtering.
Note that Transit services are quite different from packet-level Note that Transit services are quite different from packet-level
transit operation. Whereas end-to-end packet transfers usually go switching operation. Whereas end-to-end packet transfers usually go
through intermediate routers, email exchange across the open Internet through intermediate routers, email exchange across the open Internet
is often directly between the Boundary MTAs of Edge ADMDs, at the is often directly between the Boundary MTAs of Edge ADMDs, at the
email level. email level.
+-------+ +------+ +-------+ +-------+ +-------+ +-------+
| ADMD1 | | ADMD3 | | ADMD4 | | ADMD1 | | ADMD3 | | ADMD4 |
| ----- | | ----- | | ----- | | ----- | | ----- | | ----- |
| | +---------------------->| | | | | | +---------------------->| | | |
| User | | |-Edge--+--->|-User | | User | | |-Edge--+--->|-User |
| | | | +--->| | | | | | | | +---------+ +--->| | | |
| V | | | +-------+ +-------+ | V | | | ADMD2 | | +-------+ +-------+
| Edge--+---+ | | Edge--+---+ | ----- | |
| | | +---------+ | | | | | | |
+-------+ | | ADMD2 | | +-------+ +----|-Transit-+---+
| | ----- | |
| | | |
+--->|-Transit-+---+
| | | |
+---------+ +---------+
Figure 4: ADministrative Management Domains (ADMD) Example Figure 4: ADministrative Management Domains (ADMD) Example
Edge networks can use proprietary email standards internally. Edge networks can use proprietary email standards internally.
However the distinction between Transit network and Edge network However the distinction between Transit network and Edge network
transfer services is primarily significant because it highlights the transfer services is primarily significant because it highlights the
need for concern over interaction and protection between independent need for concern over interaction and protection between independent
administrations. In particular this distinction calls for additional administrations. In particular this distinction calls for additional
skipping to change at page 13, line 23 skipping to change at page 14, line 51
The interactions between functional components within an ADMD are The interactions between functional components within an ADMD are
subject to the policies of that domain. Policies can cover such subject to the policies of that domain. Policies can cover such
things as reliability, access control, accountability and even things as reliability, access control, accountability and even
content evaluation and modification. They can be implemented in content evaluation and modification. They can be implemented in
different functional components, according to the needs of the ADMD. different functional components, according to the needs of the ADMD.
For example see [ID-spamops]. For example see [ID-spamops].
User, Edge and Transit services can be offered by providers that User, Edge and Transit services can be offered by providers that
operate component services or sets of services. Further it is operate component services or sets of services. Further it is
possible for one ADMD to host services for other ADMDs. Common ADMD possible for one ADMD to host services for other ADMDs.
examples are:
Enterprise Service Providers: Common ADMD examples are --
Operating an organization's internal data and/or mail services. Enterprise Service Providers:
Internet Service Providers: Operating an organization's internal data and/or mail services.
Operating underlying data communication services that, in turn, Internet Service Providers:
are used by one or more Relays and Users. It is not necessarily
their job to perform email functions, but they can, instead,
provide an environment in which those functions can be performed.
Mail Service Providers: Operating underlying data communication services that, in turn,
are used by one or more Relays and Users. It is not
necessarily their job to perform email functions, but they can,
instead, provide an environment in which those functions can be
performed.
Operating email services, such as for end-users, or mailing lists. Mail Service Providers:
Operating email services, such as for end-users, or mailing
lists.
Operational pragmatics often dictate that providers be involved in Operational pragmatics often dictate that providers be involved in
detailed administration and enforcement issues, to help ensure the detailed administration and enforcement issues, to help ensure the
health of the overall Internet Mail Service. This can include health of the overall Internet Mail Service. This can include
operators of lower-level packet services. operators of lower-level packet services.
3. Identities 3. Identities
Internet Mail uses three forms of identity. The most common is the Internet Mail uses three forms of identity: mailbox, domain name and
end-point mailbox address <addr-spec>. [RFC2822] Also see the message-id. Each is required to be globally unique.
related usage for <address> and <mailbox> in [RFC2821]. The other
two forms of email identity are the domain name <domain> Section 3.2
and message identifier <msg-id> [RFC2822].
3.1. Mailbox 3.1. Mailbox
"A mailbox sends and receives mail. It is a conceptual entity "A mailbox sends and receives mail. It is a conceptual entity
which does not necessarily pertain to file storage." [RFC2822] which does not necessarily pertain to file storage." [RFC2822]
A mailbox is specified as an Internet Mail address <addr-spec>. It A mailbox is specified as an Internet Mail address <addr-spec>. It
has two distinct parts, divided by an at-sign ("@"). The right-hand has two distinct parts, divided by an at-sign ("@"). The right-hand
side is a globally interpreted domain name that is part of an Common side is a globally interpreted domain name that is part of an ADMD.
Operating Group. Domain Names are discussed in Section 3.2. Formal Domain Names are discussed in Section 3.2. Formal Internet Mail
Internet Mail addressing syntax can support source routes, to addressing syntax can support source routes, to indicate the path
indicate the path through which a message should be sent. Although through which a message should be sent. Although legal, the use of
legal, the use of source routes is not part of the modern Internet source routes is not part of the modern Internet Mail service and it
Mail service and it is ignored in the rest of this document. is ignored in the rest of this document.
The portion to the left of the at-sign contains a string that is The portion to the left of the at-sign contains a string that is
globally opaque and is called the <local-part>. It is to be globally opaque and is called the <local-part>. It is to be
interpreted only by the entity specified in the address's right-hand interpreted only by the entity specified by the address's right-hand
side. All other entities MUST treat the local-part as a side domain name. All other entities MUST treat the local-part as a
uninterpreted literal string and MUST preserve all of its original uninterpreted literal string and MUST preserve all of its original
details. As such its public distribution is equivalent to sending a details. As such its public distribution is equivalent to sending a
"cookie" that is only interpreted upon being returned to its Web browser "cookie" that is only interpreted upon being returned to
originator. its originator.
3.1.1. Global Standards for Local-Part 3.1.1. Global Standards for Local-Part
It is common for sites to have local structuring conventions for the It is common for sites to have local structuring conventions for the
left-hand side (local-part) of an addr-spec. This permits sub- left-hand side <local-part> of an <addr-spec>. This permits sub-
addressing, such as for distinguishing different discussion groups by addressing, such as for distinguishing different discussion groups
the same participant. However it is worth stressing that these used by the same participant. However it is worth stressing that
conventions are strictly private to the user's organization and MUST these conventions are strictly private to the user's organization and
not be interpreted by any domain except the one listed in the right- MUST not be interpreted by any domain except the one listed in the
hand side of the addr-spec, and those specialized services conforming right-hand side of the addr-spec, and those specialized services
to standardized conventions, as noted in the next paragraph. conforming to standardized conventions, as noted in the next
paragraph.
A small class of addresses has an elaboration on basic email There are a few types of addresses that have an elaboration on basic
addressing, with a standardized, global schema for the local-part. email addressing, with a standardized, global schema for the local-
These are conventions between originating end-systems and Recipient part. These are conventions between originating end-systems and
Gateways, and they are invisible to the public email transfer Recipient Gateways, and they are invisible to the public email
infrastructure. When an Originator is explicitly sending via a transfer infrastructure. When an Originator is explicitly sending
Gateway out of the Internet, there are coding conventions for the via a Gateway out of the Internet, there are coding conventions for
local-part, so that the Originator can formulate instructions for the the local-part, so that the Originator can formulate instructions for
Gateway. Standardized examples of this are the telephone numbering the Gateway. Standardized examples of this are the telephone
formats for VPIM [RFC2421], such as "+16137637582@vpim.example.com", numbering formats for VPIM [RFC3801], such as
and iFax [RFC2304], such as "+16137637582@vpim.example.com", and iFax [RFC3192], such as
"FAX=+12027653000/T33S=1387@ifax.example.com". "FAX=+12027653000/T33S=1387@ifax.example.com".
3.1.2. Scope of Email Address Use 3.1.2. Scope of Email Address Use
Email addresses are being used far beyond their original email Email addresses are being used far beyond their original email
transfer and delivery role. In practical terms, email strings have transfer and delivery role. In practical terms, email strings have
become a common form of user identity on the Internet. What is become a common form of user identity on the Internet. What is
essential, then, is to be clear about the nature and role of an essential, then, is to be clear about the nature and role of an
identity string in a particular context and to be clear about the identity string in a particular context and to be clear about the
entity responsible for setting that string. entity responsible for setting that string.
3.2. Domain Names 3.2. Domain Names
A domain name is a global reference to an Internet resource, such as A domain name is a global reference to an Internet resource, such as
a host, a service or a network. A name usually maps to one or more a host, a service or a network. A domain name usually maps to one or
IP Addresses. Conceptually the name might encompass an entire more IP Addresses. Conceptually the name might encompass an entire
organization, or a collection of machines integrated into a organization, a collection of machines integrated into a homogeneous
homogeneous service, or only a single machine. A domain name can be service, or only a single machine. A domain name can be administered
administered to refer to individual users, but this is not common to refer to individual users, but this is not common practice. The
practice. The name is structured as a hierarchical sequence of sub- name is structured as a hierarchical sequence of sub-names, separated
names, separated by dots ("."). Domain names are defined and by dots ("."), with the top of the hierarchy being on the right-end
operated through the Domain Name Service (DNS) [RFC1034], [RFC1035], of the sequence. Domain names are defined and operated through the
[RFC2181]. Domain Name Service (DNS) [RFC1034], [RFC1035], [RFC2181].
When not part of a mailbox address, a domain name is used in Internet When not part of a mailbox address, a domain name is used in Internet
Mail to refer to the ADMD or the host that took action upon the Mail to refer to the ADMD or the host that took action upon the
message, such as providing the administrative scope for a message message, such as providing the administrative scope for a message
identifier, or performing transfer processing. identifier, or performing transfer processing.
3.3. Message Identifier 3.3. Message Identifier
There are two standardized tags, for identifying messages. There are two standardized tags, for identifying messages: Message-ID
and ENVID.
Message-ID: 3.3.1. Message-ID
The Message-ID is a user-level tag, primarily used for threading The Message-ID is a user-level tag, primarily used for threading and
and elimination of duplicates and is specified in [RFC2822]. It for eliminating duplicates. [RFC2822]. It is associated with the
is associated with the RFC2822.From, although any actor within the RFC2822.From field, although any actor within the originating ADMD
originating ADMD might assign it. The recipient's ADMD is the might assign it. The recipient's ADMD is the intended consumer of
intended consumer of the Message-ID, although any actor along the the Message-ID, although any actor along the transfer path might use
transmission path might use it. Internet Mail standards provide it. Internet Mail standards provide for a single Message-ID; however
for a single Message-ID; however more than one is sometimes more than one is sometimes assigned.
assigned.
Like a mailbox address, a Message-ID has two distinct parts, Like a mailbox address, a Message-ID has two distinct parts, divided
divided by an at-sign ("@"). The right-hand side is globally by an at-sign ("@"). The right-hand side is globally interpreted and
interpreted and specifies the ADMD or host assigning the specifies the ADMD or host assigning the identifier. The left-hand
identifier. The left-hand side contains a string that is globally side contains a string that is globally opaque and serves to uniquely
opaque and serves to uniquely identify the message within the identify the message within the domain referenced on the right-hand
domain referenced on the right-hand side. The duration of side. The duration of uniqueness for the message identifier is
uniqueness for the message identifier is undefined. undefined.
When a message is revised in any way, the question of whether to When a message is revised in any way, the question of whether to
assign a new Message-ID requires a subjective assessment, deciding assign a new Message-ID requires a subjective assessment, deciding
whether the editorial content has been changed enough to whether the editorial content has been changed enough to constitute a
constitute a new message. [RFC2822] says "a message identifier new message. [RFC2822] says "a message identifier pertains to
pertains to exactly one instantiation of a particular message; exactly one instantiation of a particular message; subsequent
subsequent revisions to the message each receive new message revisions to the message each receive new message identifiers."
identifiers." However real-world experience dictates some However real-world experience dictates some flexibility. An
flexibility. An impossible test is whether the recipient will impossible test is whether the recipient will consider the new
consider the new message to be equivalent to the old. For most message to be equivalent to the old. For most components of Internet
components of Internet Mail, there is no way to predict a specific Mail, there is no way to predict a specific recipient's preferences
recipient's preferences on this matter. Both creating and failing on this matter. Both creating and failing to create a new Message-ID
to create a new Message-ID have their downsides. have their downsides.
The best that can be offered, here, are some guidelines and The best that can be offered, here, are some guidelines and examples:
examples:
* If a message is changed only in terms of form, such as o If a message is changed only in terms of form, such as character-
character-encoding, it clearly is still the same message. encoding, it clearly is still the same message.
* If a message has minor additions to the content, such as a o If a message has minor additions to the content, such as a mailing
mailing list tag at the beginning of the RFC2822.Subject header list tag at the beginning of the RFC2822.Subject header field, or
field, or some mailing list administrative information added to some mailing list administrative information added to the end of
the end of the primary body-part's text, then it probably is the primary body-part's text, then it probably is still the same
still the same message. message.
* If a message has viruses deleted from it, it probably is still o If a message has viruses deleted from it, it probably is still the
the same message. same message.
* If a message has offensive words deleted from it, then some o If a message has offensive words deleted from it, then some
recipients will consider it the same message, but some will recipients will consider it the same message, but some will not.
not.
* If a message is translated into a different language, then some o If a message is translated into a different language, then some
recipients will consider it the same message, but some will recipients will consider it the same message, but some will not.
not.
The absence of objective, precise criteria for Message-ID re- The absence of objective, precise criteria for Message-ID re-
generation, along with the absence of strong protection associated generation, along with the absence of strong protection associated
with the string, means that the presence of an ID can permit an with the string, means that the presence of an ID can permit an
assessment that is marginally better than a heuristic, but the ID assessment that is marginally better than a heuristic, but the ID
certainly has no value for strict formal reference or comparison. certainly has no value on its own for strict formal reference or
Hence it is not appropriate to use the Message-ID for any process comparison. Hence it is not appropriate to use the Message-ID for
that might be called "security". any process that might be called "security".
ENVID: 3.3.2. ENVID
The ENVID (envelope identifier) is an envelope-level tag, The ENVID (envelope identifier) is a tag that is primarily for use
primarily for use within Delivery Status Notifications, so that within Delivery Status Notifications (DSN), so that the Bounce
the Bounce Address (RFC2821.MailFrom) recipient can correlate the Address (RFC2821.MailFrom) recipient can correlate the DSN with a
DSN with a particular message. The ENVID is therefore used from particular message. [RFC3461] The ENVID is therefore used from one
one message posting, until the directly-resulting message message posting, until the directly-resulting message deliveries. It
deliveries. It does not survive re-postings [RFC3461]. does not survive re-postings.
The format of an ENVID is free-form. Although its creator might The format of an ENVID is free-form. Although its creator might
choose to impose structure on the string, none is imposed by choose to impose structure on the string, none is imposed by Internet
Internet standards. By implication, the scope of the string is standards. By implication, the scope of the string is defined by the
defined by the domain name of the Bounce Address. domain name of the Bounce Address.
4. Services and Standards 4. Services and Standards
The Internet's Mail architecture distinguishes among six different Internet Mail's architecture distinguishes among six different types
types of functional components, arranged to support a store-and- of functional components, arranged to support a store-and-forward
forward service architecture: service architecture:
* Message * Message
* Mail User Agent (MUA) * Mail User Agent (MUA)
* Message Submission Agent (MSA) * Message Submission Agent (MSA)
* Message Transfer Agent (MTA) * Message Transfer Agent (MTA)
* Message Delivery Agent (MDA) * Message Delivery Agent (MDA)
skipping to change at page 19, line 5 skipping to change at page 20, line 5
architectural components, as needed for a particular operational architectural components, as needed for a particular operational
environment. It is important not to confuse the engineering environment. It is important not to confuse the engineering
decisions that are made to implement a product, with the decisions that are made to implement a product, with the
architectural abstractions used to define conceptual functions. architectural abstractions used to define conceptual functions.
The following figure shows function modules and the standardized The following figure shows function modules and the standardized
protocols used between them. Additional protocols and configurations protocols used between them. Additional protocols and configurations
are possible. Boxes defined by asterisks (*) represent functions are possible. Boxes defined by asterisks (*) represent functions
that often are distributed among two or more systems. that often are distributed among two or more systems.
+------+ +---------+ +------+ +-------+
............+ oMUA |...................................| Disp | ............+ oMUA |..............................| Disp |
. +--+-+-+ +---------+ . +--+-+-+ +-------+
. ******* imap}| | ^ . local,imap}| |{smtp,submission ^
. * oMS *<-----+ | {smtp,submission | . | | +---------+ |
. *******local} | | . ******* | | .......................| Bounces | |
. | ***************** | . * oMS *<-----+ | . +---------+ |
. +------V-----*------------+ *MHS | . ******* | . ***************** ^ |
. | +------+ * +------+ | * +---------+ | . +------V-.---*------------+ * | |
. | | oMSA +---O-->| hMSA | |..*......| Bounces | | . MSA | +-------+ * +------+ | * | |
. | +------+ * +--+---+ | * +---------+ | . | | oMSA +--O-->| hMSA | | * | |
. +------------*------+-----+ * ^ | . | +-------+ * +--+---+ | * | |
. MSA * V {smtp * | | . +------------*------+-----+ * | |
/+==========+\ * +------+ * /+===+===+\ | /+==========+\ * V {smtp * | |
|| MESSAGE || * | MTA | * || dsn || | || MESSAGE || * +------+ * /+===+===+\ |
||----------|| * +--+---+ * \+=======+/ | ||----------|| MHS * | MTA | * || dsn || |
|| Envelope || * . {smtp * ^ ^ | || Envelope || * +--+---+ * \+=======+/ |
|| SMTP || * V * | | | || SMTP || * V {smtp * ^ ^ |
|| RFC2822 || * +------+ * | | /+==+==+\ || RFC2822 || * +------+ * | | /+==+==+\
|| Content || * | MTA +----*---------+ | || mdn || || Content || * | MTA +----*-----+ | || mdn ||
|| RFC2822 || * +--+---+ * | \+=====+/ || RFC2822 || * +--+---+ * | \+=====+/
|| MIME || * smtp}| {local * | | || MIME || * smtp}| {local * | |
\+==========+/ MDA * | {lmtp * | | \+==========+/ MDA * | {lmtp * | |
. +------------+------V-----+ * | | . +------------+------V-----+ * | |
. | +------+ * +------+ | * | | . | +------+ * +------+ | * | |
. | | | * | | +--*-------------+ | . | | | * | | +--*---------+ |
. | | rMDA |<--O---+ hMDA | | * | . | | rMDA |<--O---+ hMDA | | * |
. | | | * | | |<-*-----------+ | . | | | * | | |<-*-------+ |
. | +-+----+ * +------+ | * | | . | +-+----+ * +------+ | * | |
. +---+--+-----*------------+ * | | . +---+--+-----*------------+ * | |
. | | ***************** | | . | | ***************** | |
. pop} +--+ +-+ | | . pop} +--+ +---+ | |
. imap} | | {local | | . imap} | | {local | |
. ****************V******* | | . ******************V******** | |
. * | +------+ *rMS /+===+===+\ | . * | +------+ * rMS /+===+===+\ |
. * | | srMS | * || sieve || | . * | | srMS | * || sieve || |
. * V +----+-+ * \+=======+/ | . * V +--+-+-+ * \+=======+/ |
. * +------+ pop}| | * ^ | . * +------+ pop} | | * ^ |
. * | urMS |<-----+ | * | | . * | urMS |<-------+ | * | |
. * +--+---+ imap} | * | | . * +--+---+ imap} | * | |
. ************************ | | . *************************** | |
. | | | | . local}| +------+ |{pop,imap | |
. local} | | {pop, | | . +->| |<------+ | |
. | +------+ | {imap | | ...........>| rMUA +---------------------------+ |
. +->| |<-+ | | | +-----------------------------------+
...........>| rMUA +-------------------------------+ | +------+
| +----------------------------------------+
+------+
Figure 5: Protocols and Services Figure 5: Protocols and Services
4.1. Message Data 4.1. Message Data
The purpose of the Mail Handling Service (MHS) is to exchange a The purpose of the Mail Handling Service (MHS) is to exchange a
message object among participants [RFC2822] [RFC0822]. Hence all of message object among participants. , [RFC2822] [RFC0822] Hence all of
its underlying mechanisms are merely in the service of getting that its underlying mechanisms are merely in the service of getting that
message from its Originator to its Recipients. A message can be message from its Originator to its Recipients. A message can be
explicitly labeled as to its nature [RFC3458]. explicitly labeled as to its nature. [RFC3458]
A message comprises a transit handling envelope and the end-user A message comprises a transit handling envelope and the end-user
message content. The envelope contains handling information used by message content. The envelope contains handling information used by
the MHS, or generated by it. The content is divided into a the MHS, or generated by it. The content is divided into a
structured header and the body. The body may be unstructured simple structured header and the body. The body may be unstructured simple
lines of text, or it may be a tree of multi-media subordinate lines of text, or it may be a MIME tree of multi-media subordinate
objects, called body-parts, or attachments. objects, called body-parts, or attachments. [RFC2045], [RFC2046],
[RFC2047], [RFC4288], [RFC4289], [RFC2049].
Internet Mail has some special control data: In addition, Internet Mail has a few conventions for special control
data:
Delivery Status Notification (DSN): Delivery Status Notification (DSN):
A Delivery Status Notification (DSN) is a message that can be A Delivery Status Notification (DSN) is a message that can be
generated by the MHS (MSA, MTA or MDA) and sent to the generated by the MHS (MSA, MTA or MDA) and sent to the
RFC2821.MailFrom address. The mailbox for this is shown as RFC2821.MailFrom address. The mailbox for this is shown as
Bounces in Figure 5. It provides information about message Bounces in Figure 5. It provides information about message
transit, such as transmission errors or successful delivery. transit, such as transmission errors or successful delivery.
[RFC3461] [RFC3461]
Message Disposition Notification (MDN): Message Disposition Notification (MDN):
A Message Disposition Notification (MDN) is a message that can be A Message Disposition Notification (MDN) is a message that
generated by an rMUA and is sent to the provides information about user-level, Recipient-side message
Disposition-Notification-To address(es). The mailbox for this is processing, such as indicating that the message has been
shown as Disp in Figure 5. It provides information about user- displayed [RFC3798] or the form of content that can be
level, Recipient-side message processing, such as indicating that supported. [RFC3297] It can be generated by an rMUA and is
the message has been displayed [RFC3798] or the form of content sent to the Disposition-Notification-To address(es). The
that can be supported. [RFC3297] mailbox for this is shown as Disp in Figure 5. It
Message Filtering (SIEVE): Message Filtering (SIEVE):
SIEVE is a scripting language that permits specifying conditions SIEVE is a scripting language that permits specifying
for differential handling of mail, typically at the time of conditions for differential handling of mail, typically at the
delivery [RFC3028]. It can be conveyed in a variety of ways, as a time of delivery. [RFC3028] It can be conveyed in a variety of
MIME part. Figure 5 shows a Sieve specification going from the ways, as a MIME part. Figure 5 shows a Sieve specification
rMUA to the MDA. However filtering can be done at many different going from the rMUA to the MDA. However filtering can be done
points along the transit path and any one or more of them might be at many different points along the transit path and any one or
subject to Sieve directives, especially within a single ADMD. more of them might be subject to Sieve directives, especially
Hence the Figure shows only one relationship, for (relative) within a single ADMD. Hence the Figure shows only one
simplicity. relationship, for (relative) simplicity.
4.1.1. Envelope 4.1.1. Envelope
Information that is directly used by, or produced by, the MHS is Information that is directly used by, or produced by, the MHS is
called the "envelope". It controls and records handling activities called the "envelope". It controls and records handling activities
by the transfer service. Internet Mail has a fragmented framework by the transfer service. Internet Mail has a fragmented framework
for handling this "handling" information. The envelope exists partly for handling this "handling" information. The envelope exists partly
in the transfer protocol SMTP [RFC2821] and partly in the message in the transfer protocol SMTP [RFC2821] and partly in the message
object [RFC2822]. The SMTP specification uses the term to refer only object [RFC2822]. The SMTP specification uses the term to refer only
to the transfer-protocol information. to the transfer-protocol information.
skipping to change at page 21, line 28 skipping to change at page 22, line 30
Due to the frequent use of the term "envelope" to refer only to Due to the frequent use of the term "envelope" to refer only to
SMTP constructs, there has been some call for using a different SMTP constructs, there has been some call for using a different
term, to label the larger set of information defined here. So term, to label the larger set of information defined here. So
far, no alternative term has developed any community support. far, no alternative term has developed any community support.
Direct envelope addressing information, as well as optional transfer Direct envelope addressing information, as well as optional transfer
directives, are carried within the SMTP control channel. Other directives, are carried within the SMTP control channel. Other
envelope information, such as trace records, is carried within the envelope information, such as trace records, is carried within the
message object header fields. Upon delivery, some SMTP-level message object header fields. Upon delivery, some SMTP-level
envelope information is typically encoded within additional message envelope information is typically encoded within additional message
object header fields, such as Return-Path. object header fields, such as Return-Path. [RFC2821],[RFC2822]
4.1.2. Header Fields 4.1.2. Header Fields
Header fields are attribute name/value pairs covering an extensible Header fields are attribute name/value pairs covering an extensible
range of email service, user content and user transaction meta- range of email service, user content and user transaction meta-
information. The core set of header fields is defined in [RFC2822], information. The core set of header fields is defined in [RFC2822],
[RFC0822]. It is common to extend this set, for different [RFC0822]. It is common to extend this set, for different
applications. Procedures for registering header fields are defined applications. Procedures for registering header fields are defined
in [RFC4021]. An extensive set of existing header field in [RFC4021]. An extensive set of existing header field
registrations is provided in [RFC3864]. registrations is provided in [RFC3864].
One danger with placing additional information in header fields is One danger with placing additional information in header fields is
that Gateways often alter or delete them. that Gateways often alter or delete them.
4.1.3. Body 4.1.3. Body
The body of a message might simply be lines of ASCII text or it might The body of a message might simply be lines of ASCII text or it might
be hierarchically structured into a composition of multi-media body- be hierarchically structured into a composition of multi-media body-
part attachments, using MIME [RFC2045], [RFC2046], [RFC2047], part attachments, using MIME. [RFC2045], [RFC2046], [RFC2047],
[RFC2048], and [RFC2049]. MIME structures each body-part into a [RFC4288], [RFC2049] MIME structures each body-part into a recursive
recursive set of MIME header field meta-data and MIME Content set of MIME header field meta-data and MIME Content sections.
sections.
4.1.4. Identity References in a Message 4.1.4. Identity References in a Message
For a message in transit, the core uses of identity references For a message in transit, the core uses of identifiers combine into:
combine into:
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
| Layer | Field | Set By | | Layer | Field | Set By |
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
| Message Body | MIME Header | Originator | | Message Body | MIME Header | Originator |
| Message header fields | From | Originator | | Message header fields | From | Originator |
| | Sender | Source | | | Sender | Source |
| | Reply-To | Originator | | | Reply-To | Originator |
| | To, CC, BCC | Originator | | | To, CC, BCC | Originator |
| | Message-ID | Source | | | Message-ID | Source |
skipping to change at page 22, line 30 skipping to change at page 23, line 29
| | Return-Path | MDA, from MailFrom | | | Return-Path | MDA, from MailFrom |
| | Resent-* | Mediator | | | Resent-* | Mediator |
| SMTP | HELO | Latest Relay Client | | SMTP | HELO | Latest Relay Client |
| | MailFrom | Source | | | MailFrom | Source |
| | RcptTo | Originator | | | RcptTo | Originator |
| IP | IP Address | Latest Relay Client | | IP | IP Address | Latest Relay Client |
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
Layered Identities Layered Identities
The most common address-related fields are:
RFC2822.From
Set by: Originator
Names and addresses for author(s) of the message content are
listed in the From field.
RFC2822.Reply-To
Set by: Originator
If a message Recipient sends a reply message that would otherwise
use the RFC2822.From field address(es) that are contained in the
original message, then they are instead to use the address(es) in
the RFC2822.Reply-To field. In other words this field is a direct
override of the From field, for responses from Recipients.
RFC2822.Sender
Set by: Source
This specifies the address responsible for submitting the message
into the transfer service. For efficiency this field can be
omitted if it contains the same address as RFC2822.From. However
this does not mean there is no Sender specified. Rather it means
that that header field is virtual and that the address in the From
field MUST be used.
Specification of the error return addresses -- the "Bounce"
address, contained in RFC2821.MailFrom -- is made by the
RFC2822.Sender. Typically the Bounce address is the same as the
Sender address. However some usage scenarios require it to be
different.
RFC2822.To, RFC2822.CC
Set by: Originator
These specify MUA Recipient addresses. However some or all of the
addresses in these fields might not be present in the
RFC2821.RcptTo commands, due to handling process that might
transfer from the former to the latter.
The distinction between To and CC is subjective. Generally a To
addressee is considered primary and is expected to take action on
the message. A CC addressee typically receives a copy only for
their information.
RFC2822.BCC
Set by: Originator
A message might be copied to an addressee whose participation is
not to be disclosed to the RFC2822.To or RFC2822.CC Recipients
and, usually, not to the other BCC Recipients. The BCC header
field indicates a message copy to such a Recipient.
Typically, the field lists no addresses or only lists the address
of the Recipient receiving this copy. An MUA will typically make
separate postings for TO and CC Recipients, versus BCC Recipients.
The former will see no indication that any BCCs were sent, whereas
the latter have a BCC field present. It might be empty, contain a
comment, or contain one or more BCC addresses, depending upon the
preferences of the Originator.
RFC2821.HELO/.EHLO
Set by: Source
The MSA can specify its hosting domain identity for the SMTP HELO
or EHLO command operation.
RFC2821.MailFrom
Set by: Source
This is an end-to-end string that specifies an email address for
receiving return control information, such as "bounces". The name
of this field is misleading, because it is not required to specify
either the author or the agent responsible for submitting the
message. Rather, the agent responsible for submission specifies
the RFC2821.MailFrom address. Ultimately the simple basis for
deciding what address needs to be in the RFC2821.MailFrom is to
determine what address needs to be informed about transmission-
level problems (and, possibly, successes.)
RFC2821.RcptTo
Set by: Originator
This specifies the MUA mailbox address of a recipient. The string
might not be visible in the message content header. For example,
the message destination address header fields, such as RFC2822.To,
might specify a mailing list mailbox, while the RFC2821.RcptTo
address specifies a member of that list.
RFC2821.Received
Set by: Source, Relay, Mediator, Dest
This indicates trace information, including originating host,
relays, Mediators, and MSA host domain names and/or IP Addresses.
RFC2821.Return-Path
Set by: Source
The MDA records the RFC2821.MailFrom address into the
RFC2822.Return-Path field.
RFC2919.List-Id
Set by: Mediator Originator
This provides a globally unique mailing list naming framework that
is independent of particular hosts. [RFC2919]
The identifier is in the form of a domain name; however the string
usually is constructed by combining the two parts of an email
address and the result rarely is a true domain name, listed in the
domain name service -- although it can be.
RFC2369.List-*
Set by: Mediator Originator
[RFC2369] defines a collection of message header fields for use by
mailing lists. In effect they supply list-specific parameters for
common mailing list user operations. The identifiers for these
operations are for the list, itself, and the user-as-subscriber.
[RFC2369]
4.2. User-Level Services 4.2. User-Level Services
Interactions at the user level entail protocol exchanges, distinct Interactions at the user level entail protocol exchanges, distinct
from those that occur at lower layers of the Internet Mail from those that occur at lower layers of the Internet Mail
architecture, which is above the Internet Transport layer. Because architecture, which is above the Internet Transport layer. Because
the motivation for email, and much of its use, is for interaction the motivation for email, and much of its use, is for interaction
among humans, the nature and details of these protocol exchanges among humans, the nature and details of these protocol exchanges
often are determined by the needs of human and group communication. often are determined by the needs of human and group communication.
In terms of efforts to specify behaviors, one effect of this is to In terms of efforts to specify behaviors, one effect of this is to
require subjective guidelines, rather than strict rules, for some require subjective guidelines, rather than strict rules, for some
skipping to change at page 23, line 25 skipping to change at page 27, line 22
distributed implementation, such as a "thin" user interface module distributed implementation, such as a "thin" user interface module
on a limited end-user device, with the bulk of the MUA on a limited end-user device, with the bulk of the MUA
functionality operated remotely on a more capable server. An functionality operated remotely on a more capable server. An
example of such an architecture might use IMAP [RFC3501] for most example of such an architecture might use IMAP [RFC3501] for most
of the interactions between an MUA client and an MUA server. A of the interactions between an MUA client and an MUA server. A
standardized approach for such scenarios is defined by [RFC4550]. standardized approach for such scenarios is defined by [RFC4550].
A Mediator is special class of MUA. It performs message re-posting, A Mediator is special class of MUA. It performs message re-posting,
as discussed in Section 2.1. as discussed in Section 2.1.
Identity fields relevant to the MUA include: Identity fields relevant to a typical end-user MUA include:
RFC2822.From
Set by: Originator
Names and addresses for author(s) of the message content are
listed in the From field
RFC2822.Reply-To
Set by: Originator
If a message Recipient sends a reply message that would otherwise
use the RFC2822.From field address(es) contained in the original
message, then they are instead to use the address(es) in the
RFC2822.Reply-To field. In other words this field is a direct
override of the From field, for responses from Recipients.
RFC2822.Sender
Set by: Source
This specifies the address responsible for submitting the message
into the transfer service. For efficiency this field can be
omitted if it contains the same address as RFC2822.From. However
this does not mean there is no Sender specified. Rather it means
that that header field is virtual and that the address in the From
field MUST be used. Specification of the error return addresses
-- the "Bounce" address, contained in RFC2821.MailFrom -- is made
by the RFC2822.Sender. Typically the Bounce address is the same
as the Sender address. However some usage scenarios require it to
be different.
RFC2822.To, RFC2822.CC
Set by: Originator RFC2822.From
These specify MUA Recipient addresses. The addresses in the RFC2822.Reply-To
fields might not be present in the RFC2821.RcptTo command. The
distinction between To and CC is subjective. Generally a To
addressee is considered primary and is expected to take action on
the message. A CC addressee typically receives a copy only for
their information.
RFC2822.BCC RFC2822.Sender
Set by: Originator RFC2822.To, RFC2822.CC
A message might be copied to an addressee whose participation is RFC2822.BCC
not to be disclosed to the RFC2822.To or RFC2822.CC Recipients
and, usually, not to the other BCC Recipients. The BCC header
field indicates a message copy to such a Recipient. Typically,
the field lists no addresses or only lists the address of the
Recipient receiving this copy. An MUA will typically make
separate postings for TO and CC Recipients, versus BCC Recipients.
The former will see no indication that any BCCs were sent, whereas
the latter have a BCC field present. It might be empty, contain a
comment, or contain one or more BCC addresses, depending upon the
preferences of the Originator.
4.2.2. Message Store (MS) 4.2.2. Message Store (MS)
An MUA can employ a long-term Message Store (MS). Figure 5 depicts An MUA can employ a long-term Message Store (MS). Figure 5 depicts
an Origination-side Ms (oMS) and a Recipient-side MS (rMS). There is an Origination-side Ms (oMS) and a Recipient-side MS (rMS). There is
a rich set of choices for configuring a store, because any MS may a rich set of choices for configuring a store, because any MS may
comprise a distributed set of component stores. In Figure 5, the rMS comprise a distributed set of component stores. In Figure 5, the rMS
demonstrates this by showing an rMS that is located on a remote demonstrates this by showing an rMS that is located on a remote
server (srMS) and an rMS that is on the same machine as the MUA server (srMS) and an rMS that is on the same machine as the MUA
(urMS). The relationship between two message stores, themselves, can (urMS). The relationship between two message stores, themselves, can
vary. vary.
The operational relationship among MSs can be: As discussed in [RFC1733] the operational relationship among MSs can
be --
Online: Online:
Only a remote MS is used, with messages being accessible only when Only a remote MS is used, with messages being accessible only
the MUA is attached to the MS, and the MUA repeatedly fetches all when the MUA is attached to the MS, and the MUA repeatedly
or part of a message, from one session to the next. fetches all or part of a message, from one session to the next.
Offline: Offline:
The MS is local to the user, and messages are completely moved The MS is local to the user, and messages are completely moved
from any remote store, rather than (also) being retained there. from any remote store, rather than (also) being retained there.
Disconnected: Disconnected:
An rMS and a uMS are kept synchronized, for all or part of their An rMS and a uMS are kept synchronized, for all or part of
contents, while there is a connection between them. While they their contents, while there is a connection between them.
are disconnected, mail can continue to arrive at the rMS and the While they are disconnected, mail can continue to arrive at the
user may continue to make changes to the uMS. Upon reconnections, rMS and the user may continue to make changes to the uMS. Upon
the two stores are re-synchronized. reconnection, the two stores are re-synchronized.
4.3. MHS-Level Services 4.3. MHS-Level Services
4.3.1. Mail Submission Agent (MSA) 4.3.1. Mail Submission Agent (MSA)
A Mail Submission Agent (MSA) accepts the message submission from the A Mail Submission Agent (MSA) accepts the message submission from the
oMUA and enforces the policies of the hosting ADMD and the oMUA and enforces the policies of the hosting ADMD and the
requirements of Internet standards. An MSA represents an unusual requirements of Internet standards. An MSA represents an unusual
functional dichotomy. A portion of its task is to represent MUA functional dichotomy. A portion of its task is to represent MUA
(uMSA) interests during message posting, to facilitate posting (uMSA) interests during message posting, to facilitate posting
skipping to change at page 25, line 49 skipping to change at page 28, line 48
policies. It rejects messages that are not in conformance. The policies. It rejects messages that are not in conformance. The
oMSA's is to perform final message preparation for submission and to oMSA's is to perform final message preparation for submission and to
effect the transfer of responsibility to the MHS, via the hMSA. The effect the transfer of responsibility to the MHS, via the hMSA. The
amount of preparation will depend upon the local implementations. amount of preparation will depend upon the local implementations.
Examples of oMSA tasks could be to add header fields, such as Date: Examples of oMSA tasks could be to add header fields, such as Date:
and Message-ID, to modify portions of the message from local and Message-ID, to modify portions of the message from local
notations to Internet standards, such as expanding an address to its notations to Internet standards, such as expanding an address to its
formal RFC2822 representation. formal RFC2822 representation.
Historically, standards-based MUA/MSA interactions have used SMTP Historically, standards-based MUA/MSA interactions have used SMTP
[RFC2821]. A recent alternative is SUBMISSION [RFC2476]. Although [RFC2821]. A recent alternative is SUBMISSION [RFC4409]. Although
SUBMISSION derives from SMTP, it uses a separate TCP port and imposes SUBMISSION derives from SMTP, it uses a separate TCP port and imposes
distinct requirements, such as access authorization. distinct requirements, such as access authorization.
Identities relevant to the MSA include: Identities relevant to the MSA include:
RFC2821.HELO/.EHLO RFC2821.HELO/.EHLO
Set by: Source
The MSA can specify its hosting domain identity for the SMTP HELO
or EHLO command operation.
RFC2821.MailFrom
Set by: Mediator or Originator Source
This is an end-to-end string that specifies an email address for
receiving return control information, such as "bounces". The name
of this field is misleading, because it is not required to specify
either the author or the agent responsible for submitting the
message. Rather, the agent responsible for submission specifies
the RFC2821.MailFrom address. Ultimately the simple basis for
deciding what address needs to be in the RFC2821.MailFrom is to
determine what address needs to be informed about transmission-
level problems (and, possibly, successes.)
RFC2821.RcptTo
Set by: Originator
This specifies the MUA mailbox address of a recipient. The string
might not be visible in the message content header. For example,
the message destination address header fields, such as RFC2822.To,
might specify a mailing list address, while the RFC2821.RcptTo
address specifies a member of that list.
RFC2821.Received RFC2821.MailFrom
Set by: Originator Source RFC2821.RcptTo
An MSA can record a Received header field, to indicate initial RFC2821.Received
submission trace information, including originating host and MSA
host domain names and/or IP Addresses.
4.3.2. Mail Transfer Agent (MTA) 4.3.2. Mail Transfer Agent (MTA)
A Mail Transfer Agent (MTA) relays mail for one application-level A Mail Transfer Agent (MTA) relays mail for one application-level
"hop". It is like a packet-switch or IP router in that its job is to "hop". It is like a packet-switch or IP router in that its job is to
make routing assessments and to move the message closer to the make routing assessments and to move the message closer to the
Recipient(s). Relaying is performed by a sequence of MTAs, until the Recipient(s). Relaying is performed by a sequence of MTAs, until the
message reaches its destination MDA(s). Hence an MTA implements both message reaches a destination MDA. Hence an MTA implements both
client and server MTA functionality. It does not make changes to client and server MTA functionality. It does not make changes to
addresses in the envelope or reformulate the editorial content. addresses in the envelope or reformulate the editorial content.
Hence a change in data form, such as to the MIME Content-Transfer- Hence a change in data form, such as to the MIME Content-Transfer-
Encoding, is within the purview of an MTA, whereas removal or Encoding, is within the purview of an MTA, whereas removal or
replacement of body content is not. Also it can add trace replacement of body content is not. Also it can add trace
information. Of course email objects are typically much larger than information. Of course email objects are typically much larger than
the payload of a packet or datagram, and the end-to-end latencies are the payload of a packet or datagram, and the end-to-end latencies are
typically much higher. typically much higher.
Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect
skipping to change at page 27, line 32 skipping to change at page 30, line 5
such robustness and persistence by an MTA can be highly variable. such robustness and persistence by an MTA can be highly variable.
The primary "routing" mechanism for Internet Mail is the DNS MX The primary "routing" mechanism for Internet Mail is the DNS MX
record [RFC1035], which specifies a host through which the queried record [RFC1035], which specifies a host through which the queried
domain can be reached. This presumes a public -- or at least a domain can be reached. This presumes a public -- or at least a
common -- backbone that permits any attached host to connect to any common -- backbone that permits any attached host to connect to any
other. other.
Identities relevant to the MTA include: Identities relevant to the MTA include:
RFC2821.HELO/.EHLO RFC2821.HELO/.EHLO
Set by: Relay
The MTA can specify its hosting domain identity for the SMTP HELO
or EHLO command. This is the only standardized way of identifying
the agent responsible for operation of the Relay, during the
transfer operation.
RFC2821.MailFrom
Set by: Originator or Mediator Source
This is an MHS end-to-end string that specifies an email address
for receiving return control Bounce, such as delivery
confirmations and error notices. The protocol name of this field
is misleading, because it is not required to specify either the
author or the agent responsible for submitting the message.
Rather the agent responsible for submission specifies the MailFrom
address. Ultimately the simple basis for deciding what address
needs to be in the RFC2821.MailFrom is to determine what address
needs to be informed about transmission-level problems (and,
possibly, successes.)
RFC2821.RcptTo
Set by: Originator
This specifies the MUA mailbox address of a Recipient. The string RFC2821.MailFrom
might not be visible in the message content header. For example
the message destination address header fields, such as RFC2822.To,
might specify a mailing list address, while the RFC2821.RcptTo
address specifies a member of that list.
RFC2822.Received RFC2821.RcptTo
Set by: Relay RFC2822.Received
An MTA can record a Received header field, to indicate trace Set by: Relay Server
information, including source host and receiving host domain names
and/or IP Addresses.
4.3.3. Mail Delivery Agent (MDA) 4.3.3. Mail Delivery Agent (MDA)
A Mail Delivery Agent (MDA) delivers email to the Recipient's A Mail Delivery Agent (MDA) delivers email to the Recipient's
mailbox. It can provide distinctive, address-based functionality, mailbox. It can provide distinctive, address-based functionality,
made possible by its detailed knowledge of the properties of the made possible by its detailed knowledge of the properties of the
destination address. This knowledge might also be present elsewhere destination address. This knowledge might also be present elsewhere
in the Recipient's ADMD, such as at an organizational border in the Recipient's ADMD, such as at an organizational border
(Boundary) Relay. However it is required for the MDA, if only (Boundary) Relay. However it is required for the MDA, if only
because the MDA must know where to deliver the message. because the MDA must know where to deliver the message.
skipping to change at page 29, line 7 skipping to change at page 30, line 44
Using Internet protocols, delivery can be effected by a variety of Using Internet protocols, delivery can be effected by a variety of
standard protocols. When coupled with an internal local mechanism, standard protocols. When coupled with an internal local mechanism,
SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the
Recipient system, at the initiative of the upstream email service. Recipient system, at the initiative of the upstream email service.
POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the
initiative of the Recipient system. POP and IMAP can also be used initiative of the Recipient system. POP and IMAP can also be used
for repeated access to messages on a remote MS. for repeated access to messages on a remote MS.
Identities relevant to the MDA include: Identities relevant to the MDA include:
RFC2821.Return-Path RFC2821.Return-Path
Set by: Originator Source or Mediator Source
Set by: Source
The MDA records the RFC2821.MailFrom address into the The MDA records the RFC2821.MailFrom address into the
RFC2822.Return-Path field. RFC2822.Return-Path field.
RFC2822.Received RFC2822.Received
Set by: Destination Set by: MDA server
An MDA can record a Received header field, to indicate trace An MDA can record a Received header field to indicate trace
information, including source host and receiving host domain names information, including source host and receiving host domain
and/or IP Addresses. names and/or IP Addresses.
5. Mediators 5. Mediators
Basic email transfer from an Originator to the specified Recipients Basic email transfer from an Originator to the specified Recipients
is accomplished by using an asynchronous, store-and-forward is accomplished by using an asynchronous, store-and-forward
communication infrastructure, in a sequence of independent communication infrastructure, in a sequence of independent
transmissions through some number of MTAs. A very different task is transmissions through some number of MTAs. A very different task is
a User-level sequence of postings and deliveries, through Mediators. a User-level sequence of postings and deliveries, through Mediators.
A Mediator forwards a message, through a re-posting process. The A Mediator forwards a message, through a re-posting process. The
Mediator does share some functionality with basic MTA relaying, but Mediator does share some functionality with basic MTA relaying, but
it enjoys a degree of freedom with both addressing and content that it enjoys a degree of freedom with both addressing and content that
is not available to MTAs. is not available to MTAs.
RFC2821.HELO/.EHLO RFC2821.HELO/.EHLO
Set by: Mediator Source
The MSA can specify its hosting domain identity for the SMTP HELO
or EHLO command operation.
RFC2821.MailFrom
Set by: Originator or Mediator Source
This is an end-to-end string that specifies an email address for Set by: Mediator Source
receiving return control Bounces. The name of this field is
misleading, because it is not required to specify either the
author or the agent responsible for submitting the message.
Rather the agent responsible for submission specifies the
RFC2821.MailFrom address. Ultimately the simple basis for
deciding what address needs to be in the RFC2821.MailFrom is to
determine what address needs to be informed about transmission-
level problems (and, possibly, successes.)
RFC2821.RcptTo RFC2821.MailFrom
Set by: Mediator Set by: Originator Source or Mediator Source
This specifies the MUA mailbox address of a Recipient. The string RFC2821.RcptTo
might not be visible in the message content header. For example,
the message destination address header fields, such as RFC2822.To,
might specify a mailing list address, while the RFC2821.RcptTo
address specifies a member of that list.
RFC2821.Received Set by: Mediator Originator
Set by: Mediator RFC2821.Received
An MSA can record a Received header field, to indicate initial Set by: Mediator Dest
submission trace information, including originating host and MSA
host domain names and/or IP Addresses.
The salient aspect of a Mediator, that distinguishes it from any The salient aspect of a Mediator, that distinguishes it from any
other MUA creating an entirely new message, is that a Mediator other MUA creating an entirely new message, is that a Mediator
preserves the integrity and tone of the original message, including preserves the integrity and tone of the original message, including
the essential aspects of the original origination information. The the essential aspects of its origination information. The Mediator
Mediator might also add commentary. might also add commentary.
Examples of MUA message creation that are NOT performed by Mediators Examples of MUA message creation that are NOT performed by Mediators
include -- include --
New message that forwards an existing message: New message that forwards an existing message:
This action rather curiously provides a basic template for a class This action rather curiously provides a basic template for a class
of Mediators. However for its typical occurrence it is not itself of Mediators. However for its typical occurrence it is not itself
an example of a Mediator. The new message is viewed as being from an example of a Mediator. The new message is viewed as being from
the Agent doing the forwarding, rather than being from the the Agent doing the forwarding, rather than being from the
skipping to change at page 31, line 14 skipping to change at page 32, line 34
Reply: Reply:
When a Recipient formulates a response back to the original When a Recipient formulates a response back to the original
message's author, the new message is not typically viewed as being message's author, the new message is not typically viewed as being
a "forwarding" of the original. Its focus is the new content, a "forwarding" of the original. Its focus is the new content,
although it might contain all or part of the material in the although it might contain all or part of the material in the
original message. Therefore the earlier material is merely original message. Therefore the earlier material is merely
contextual and secondary. contextual and secondary.
Annotator: Annotation:
The integrity of the original message is usually preserved, but The integrity of the original message is usually preserved, but
one or more comments about the message are added in a manner that one or more comments about the message are added in a manner that
distinguishes commentary from original text. The tone of the new distinguishes commentary from original text. The tone of the new
message is that it is primarily commentary from a new Originator, message is that it is primarily commentary from a new Originator,
similar to a Reply. similar to a Reply.
The remainder of this section describes common examples of Mediators. The remainder of this section describes common examples of Mediators.
5.1. Aliasing 5.1. Aliasing
Aliasing is a simple re-addressing facility, available in most MDA Aliasing is a simple re-addressing facility that is available in most
implementations. It is performed just before delivering a message to MDA implementations. It is performed just before placing a message
the specified Recipient's mailbox. Instead the message is submitted into the specified Recipient's mailbox. Instead the message is
back to the transfer service, for delivery to one or more alternate submitted back to the transfer service, for delivery to one or more
addresses. Although implemented as part of the message delivery alternate addresses. Although typically implemented as part of an
service, this facility is strictly a Recipient user function. It MDA, this facility is strictly a Recipient user function. It
resubmits the message, replacing the envelope address, on behalf of resubmits the message, replacing the envelope address, on behalf of
the mailbox address that was listed in the envelope. the mailbox address that was listed in the envelope.
What is most distinctive about this forwarding mechanism is how What is most distinctive about this forwarding mechanism is how
closely it compares to normal MTA store-and-forward Relaying. Its closely it compares to normal MTA store-and-forward Relaying. Its
only interesting difference is that it changes the RFC2821.RcptTo only interesting difference is that it changes the RFC2821.RcptTo
value. Having the change be this small makes it easy to view value. Having the change be this small makes it easy to view
aliasing as a part of the lower-level mail relaying activity. aliasing as a part of the lower-level mail relaying activity.
However the small change has a large semantic impact: The designated However the small change has a large semantic impact: The designated
recipient has chosen a new recipient. recipient has chosen a new recipient. Hence that original recipient
SHOULD become responsible for any handling issues. This change would
Hence that original recipient SHOULD become responsible for any be reflected by replacing the message's RFC2821.MailFrom address to
handling issues. This change would be reflected by replacing the be one within the scope of the ADMD doing the aliasing.
message's RFC2821.MailFrom address to be one within the scope of the
ADMD doing the aliasing.
An MDA that is re-posting a message to an alias typically changes An MDA that is re-posting a message to an alias typically changes
only envelope information: only envelope information:
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
Set by: Originator
These retain their original addresses. Set by: Originator
RFC2821.RcptTo These retain their original addresses.
Set by: Mediator RFC2821.RcptTo
This field contains an alias address. Set by: Mediator Originator
RFC2821.MailFrom This field contains an alias address.
Set by: Originator or Mediator Originator or Mediator Source RFC2821.MailFrom
The agent responsible for submission to an alias address will Set by: Originator Source or Mediator Source
often retain the original address to receive handling Bounces.
The benefit of retaining the original MailFrom value is to ensure
that the origination-side agent knows that there has been a
delivery problem. On the other hand, the responsibility for the
problem usually lies with the Recipient, since the Alias mechanism
is strictly under the Recipient's control.
RFC2821.Received The agent responsible for submission to an alias address will
often retain the original address to receive handling Bounces.
The benefit of retaining the original MailFrom value is to
ensure that the origination-side agent knows that there has
been a delivery problem. On the other hand, the responsibility
for the problem usually lies with the Recipient, since the
Alias mechanism is strictly under the Recipient's control.
Set by: Mediator RFC2821.Received
Set by: Mediator Dest
The agent can record Received information, to indicate the The agent can record Received information, to indicate the
delivery to the original address and submission to the alias delivery to the original address and submission to the alias
address. The trace of Received header fields can therefore address. The trace of Received header fields can therefore
include everything from original posting through final delivery to include everything from original posting through final delivery
the alias. to a final delivery.
5.2. Re-Sending 5.2. Re-Sending
Also called Re-Directing, Re-Sending differs from Forwarding by Also called Re-Directing, Re-Sending differs from Forwarding by
virtue of having the Mediator "splice" a message's addressing virtue of having the Mediator "splice" a message's addressing
information, to connect the Originator of the original message and information, to connect the Originator of the original message and
the Recipient of the new message. This permits them to have direct the Recipient of the new message. This permits them to have direct
exchange, using their normal MUA Reply functions. Hence the new exchange, using their normal MUA Reply functions. Hence the new
Recipient sees the message as being From the original Originator, Recipient sees the message as being From the original Originator,
even if the Mediator adds commentary. even if the Mediator adds commentary.
Identities specified in a resent message include Identities specified in a resent message include
RFC2822.From
Set by: original Originator
Names and email addresses for the original author(s) of the RFC2822.From
message content are retained. The free-form (display-name)
portion of the address might be modified to provide informal
reference to the agent responsible for the redirection.
RFC2822.Reply-To Set by: original Originator
Set by: original Originator Names and email addresses for the original author(s) of the
message content are retained. The free-form (display-name)
portion of the address might be modified to provide informal
reference to the agent responsible for the redirection.
If this field is present in the original message, it is retained RFC2822.Reply-To
in the Resent message.
RFC2822.Sender Set by: original Originator
Set by: Originator or Mediator Originator or Mediator Source If this field is present in the original message, it is
retained in the Resent message.
This field is expected to contain the original Sender value. RFC2822.Sender
RFC2822.TO, RFC2822.CC, RFC2822.BCC Set by: Originator Source or Mediator Source
Set by: original Originator RFC2822.TO, RFC2822.CC, RFC2822.BCC
These specify the original message Recipients. Set by: original Originator
These specify the original message Recipients.
RFC2822.Resent-From RFC2822.Resent-From
Set by: Mediator Set by: Mediator Originator
The address of the original Recipient who is redirecting the The address of the original Recipient who is redirecting the
message. Otherwise the same rules apply for the Resent-From field message. Otherwise the same rules apply for the Resent-From
as for an original RFC2822.From field field as for an original RFC2822.From field
RFC2822.Resent-Sender RFC2822.Resent-Sender
Set by: Mediator Set by: Mediator Source
The address of the agent responsible for re-submitting the The address of the agent responsible for re-submitting the
message. For efficiency this field is often omitted if it message. As with RFC2822.Sender, this field is often omitted
contains the same address as RFC2822.Resent-From. However this when it would merely contain the same address as
does not mean there is no Resend-Sender specified. Rather it RFC2822.Resent-From.
means that that header field is virtual and that the address in
the Resent-From field MUST be used. Specification of the error
return addresses (the Notification address, contained in
RFC2821.MailFrom) is made by the Resent-Sender. Typically the
Bounce address is the same as the Resent-Sender address. However
some usage scenarios require it to be different.
RFC2822.Resent-To, RFC2822.Resent-cc, RFC2822.Resent-bcc: RFC2822.Resent-To, RFC2822.Resent-cc, RFC2822.Resent-bcc:
Set by: Mediator Set by: Mediator Originator
The addresses of the new Recipients who will now be able to reply The addresses of the new Recipients who will now be able to
to the original author. reply to the original author.
RFC2821.MailFrom RFC2821.MailFrom
Set by: Mediator Set by: Mediator Source
The agent responsible for re-submission (RFC2822.Resent-Sender) is The agent responsible for re-submission (RFC2822.Resent-Sender)
also responsible for specifying the new MailFrom address. is also responsible for specifying the new MailFrom address.
RFC2821.RcptTo RFC2821.RcptTo
Set by: Mediator Set by: Mediator Originator
This will contain the address of a new Recipient This will contain the address of a new Recipient
RFC2822.Received RFC2822.Received
Set by: Mediator Set by: Mediator Dest
When resending a message the submission agent can record a When resending a message the submission agent can record a
Received header field, to indicate the transition from original Received header field, to indicate the transition from original
posting to resubmission. posting to resubmission.
5.3. Mailing Lists 5.3. Mailing Lists
Mailing lists have explicit email addresses and they forward messages Mailing lists have explicit email addresses and they re-post messages
to a list of subscribed members. The Mailing List Actor performs a to a list of subscribed members. The Mailing List Actor performs a
task that can be viewed as an elaboration of the Re-Director role. task that can be viewed as an elaboration of the Re-Director role.
In addition to sending the new message to a potentially large number In addition to sending the new message to a potentially large number
of new Recipients, the Mediator can modify content, such as deleting of new Recipients, the Mediator can modify content, such as deleting
attachments, formatting conversion, and adding list-specific attachments, formatting conversion, and adding list-specific
comments. In addition, archiving list messages is common. Still the comments. In addition, archiving list messages is common. Still the
message retains characteristics of being "from" the original message retains characteristics of being "from" the original
Originator. Originator.
Identities relevant to a mailing list processor, when submitting a Identities relevant to a mailing list processor, when submitting a
message, include: message, include:
RFC2919.List-Id RFC2919.List-Id
Set by: Mediator
This provides a global mailing list naming framework that is
independent of particular hosts. [RFC2919]
RFC2369.List-*
Set by: Mediator Set by: Mediator Originator
[RFC2369] defines a collection of message header fields for use by RFC2369.List-*
mailing lists. In effect they supply list-specific parameters for
common mailing list user operations. The identifiers for these
operations are for the list, itself, and the user-as-subscriber.
[RFC2369]
RFC2822.From Set by: Mediator Originator
Set by: original Originator RFC2822.From
Names and email addresses for the original author(s) of the Set by: original Originator
message content are specified.
RFC2822.Reply-To Names and email addresses for the original author(s) of the
message content are specified -- or, rather, retained.
Set by: original Originator or Mediator RFC2822.Reply-To
Mailing lists have introduced an ambiguity for the Reply-To field. Set by: original Originator or Mediator Originator
Some List operations choose to force all replies to go to all list
members. They achieve this by placing the list address into the
RFC2822.Reply-To field. Hence direct, "private" replies only to
the original author cannot be achieved by using the MUA's typical
"reply to author" function. If the author created a Reply-To
field, its information is lost.
RFC2822.Sender RFC2822.Sender
Set by: Originator or Mediator Originator or Mediator Source Set by: Originator Source or Mediator Source
This will usually specify the address of the agent responsible for This will usually specify the address of the agent responsible
mailing list operations. However some mailing lists operate in a for mailing list operations. However some mailing lists
manner very similar to a simple MTA Relay, so that they preserve operate in a manner very similar to a simple MTA Relay, so that
as much of the original handling information as possible, they preserve as much of the original handling information as
including the original RFC2822.Sender field. possible, including the original RFC2822.Sender field.
RFC2822.TO, RFC2822.CC RFC2822.TO, RFC2822.CC
Set by: original Originator Set by: original Originator
These will usually contain the original list of Recipient These usually contains the original list of Recipient
addresses. addresses.
RFC2821.MailFrom RFC2821.MailFrom
Set by: Originator or Mediator Source Set by: Originator Source or Mediator Source
This can contain the original address to be notified of This can contain the original address to be notified of
transmission issues, or the mailing list agent can set it to transmission issues, or the mailing list agent can set it to
contain a new Notification address. Typically the value is set to contain a new Notification address. Typically the value is set
a new address, so that mailing list members and posters are not to a new address, so that mailing list members and posters are
burdened with transmission-related Bounces. not burdened with transmission-related Bounces.
RFC2821.RcptTo RFC2821.RcptTo
Set by: Mediator Set by: Mediator Originator
This contains the address of a mailing list member. This contains the address of a mailing list member.
RFC2821.Received RFC2821.Received
Set by: Mediator Set by: Mediator Dest
A Mailing List Agent can record a Received header field, to A Mailing List Agent can record a Received header field, to
indicate the transition from original posting to mailing list indicate the transition from original posting to mailing list
forwarding. The Agent can choose to have the message retain the forwarding. The Agent can choose to have the message retain
original set of Received header fields or can choose to remove the original set of Received header fields or can choose to
them. In the latter case it can ensure that the original Received remove them. In the latter case it can ensure that the
header fields are otherwise available, to ensure later original Received header fields are otherwise available, to
accountability and diagnostic access to them. ensure later accountability and diagnostic access to them.
5.4. Gateways 5.4. Gateways
Gateways perform the basic routing and transfer work of message A Gateway performs the basic routing and transfer work of message
relaying, but they also make any message or address modifications relaying, but it also may make any message or address modifications
that are needed to send the message into a messaging environment that that are needed to send the message into a messaging environment that
operates according to different standards or potentially incompatible operates according to different standards or potentially incompatible
policies. When a Gateway connects two differing messaging services, policies. When a Gateway connects two differing messaging services,
its role is easy to identify and understand. When it connects its role is easy to identify and understand. When it connects
environments that have technical similarity, but can have significant environments that have technical similarity, but can have significant
administrative differences, it is easy to think that a Gateway is administrative differences, it is easy to think that a Gateway is
merely an MTA. The critical distinction between an MTA and a Gateway merely an MTA.
is that the latter transforms addresses and/or message content, in
order to map between the standards of two, different messaging The critical distinction between an MTA and a Gateway is that the
services. In virtually all cases, this mapping process results in latter transforms addresses and/or message content, in order to map
some degree of semantic loss. The challenge of Gateway design is to between the standards of two, different messaging services. In
minimize this loss. virtually all cases, this mapping process results in some degree of
semantic loss. The challenge of Gateway design is to minimize this
loss.
A Gateway can set any identity field available to a regular MUA. A Gateway can set any identity field available to a regular MUA.
Identities typically relevant to Gateways include: Identities typically relevant to Gateways include:
RFC2822.From RFC2822.From
Set by: original Originator Set by: original Originator
Names and email addresses for the original author(s) of the Names and email addresses for the original author(s) of the
message content are retained. As for all original addressing message content are retained. As for all original addressing
information in the message, the Gateway can translate addresses in information in the message, the Gateway can translate addresses
whatever way will allow them continue to be useful in the target in whatever way will allow them continue to be useful in the
environment. target environment.
RFC2822.Reply-To RFC2822.Reply-To
Set by: original Originator Set by: original Originator
The Gateway SHOULD retain this information, if it is originally The Gateway SHOULD retain this information, if it is originally
present. The ability to perform a successful reply by a Gatewayed present. The ability to perform a successful reply by a
Recipient is a typical test of Gateway functionality. Gatewayed Recipient is a typical test of Gateway functionality.
RFC2822.Sender RFC2822.Sender
Set by: Originator or Mediator Source Set by: Originator Source or Mediator Source
This can retain the original value or can be set to a new address This can retain the original value or can be set to a new
address
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
Set by: original Recipient Set by: original Recipient
These usually retain their original addresses. These usually retain their original addresses.
RFC2821.MailFrom RFC2821.MailFrom
Set by: Originator or Mediator Source Set by: Originator Source or Mediator Source
The agent responsible for gatewaying the message can choose to
specify a new address to receive handling notices.
The agent responsible for gatewaying the message can choose to RFC2822.Received
specify a new address to receive handling notices.
RFC2822.Received Set by: Mediator Dest
Set by: Mediator
The Gateway can record a Received header field, to indicate the The Gateway can record a Received header field, to indicate the
transition from original posting to the new messaging environment. transition from original posting to the new messaging
environment.
5.5. Boundary Filter 5.5. Boundary Filter
Organizations often enforce security boundaries by subjecting Organizations often enforce security boundaries by subjecting
messages to analysis, for conformance with the organization's safety messages to analysis, for conformance with the organization's safety
policies. An example is detection of content classed as spam or a policies. An example is detection of content classed as spam or a
virus. A Filter might alter the content, to render it safe, such as virus. A Filter might alter the content, to render it safe, such as
by removing content deemed unacceptable. Typically these actions by removing content deemed unacceptable. Typically these actions
will result in the addition of content that records the actions. will result in the addition of content that records the actions.
6. Security Considerations 6. Security Considerations
This document does not specify any new Internet Mail functionality. This document does not specify any new Internet Mail functionality.
Consequently it is not intended to introduce any security Consequently it is not intended to introduce any security
considerations. considerations.
However its discussion of the roles and responsibilities for However its discussion of the roles and responsibilities for
different mail service modules, and the information they create, different mail service modules, and the information they create,
highlights the considerable security issues that are present when highlights the considerable degree to which security issues are
implementing any component of the Internet Mail service. In present when implementing any component of the Internet Mail service.
addition, email transfer protocols can operate over authenticated In addition, email transfer protocols can operate over authenticated
and/or encrypted links, and message content or authorship can be and/or encrypted links, and message content or authorship can be
authenticated or encrypted. authenticated or encrypted.
7. References 7. IANA Considerations
7.1. Normative This document has no actions for IANA.
8. References
8.1. Normative
[RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10,
RFC 821, August 1982. RFC 821, August 1982.
[RFC0822] Crocker, D., "Standard for the format of ARPA Internet [RFC0822] Crocker, D., "Standard for the format of ARPA Internet
text messages", STD 11, RFC 822, August 1982. text messages", STD 11, RFC 822, August 1982.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987. STD 13, RFC 1034, November 1987.
skipping to change at page 39, line 20 skipping to change at page 40, line 32
Bodies", RFC 2045, November 1996. Bodies", RFC 2045, November 1996.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996. November 1996.
[RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions)
Part Three: Message Header Extensions for Non-ASCII Text", Part Three: Message Header Extensions for Non-ASCII Text",
RFC 2047, November 1996. RFC 2047, November 1996.
[RFC2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose
Internet Mail Extensions (MIME) Part Four: Registration
Procedures", BCP 13, RFC 2048, November 1996.
[RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Five: Conformance Criteria and Extensions (MIME) Part Five: Conformance Criteria and
Examples", RFC 2049, November 1996. Examples", RFC 2049, November 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
Specification", RFC 2181, July 1997. Specification", RFC 2181, July 1997.
[RFC2304] Allocchio, C., "Minimal FAX address format in Internet
Mail", RFC 2304, March 1998.
[RFC2369] Neufeld, G. and J. Baer, "The Use of URLs as Meta-Syntax [RFC2369] Neufeld, G. and J. Baer, "The Use of URLs as Meta-Syntax
for Core Mail List Commands and their Transport through for Core Mail List Commands and their Transport through
Message Header Fields", RFC 2369, July 1998. Message Header Fields", RFC 2369, July 1998.
[RFC2421] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet
Mail - version 2", RFC 2421, September 1998.
[RFC2423] Vaudreuil, G. and G. Parsons, "VPIM Voice Message MIME
Sub-type Registration", RFC 2423, September 1998.
[RFC2442] "The Batch SMTP Media Type", RFC 2442, November 1998. [RFC2442] "The Batch SMTP Media Type", RFC 2442, November 1998.
[RFC2476] Gellens, R. and J. Klensin, "Message Submission",
RFC 2476, December 1998.
[RFC2645] "On-Demand Mail Relay (ODMR) SMTP with Dynamic IP [RFC2645] "On-Demand Mail Relay (ODMR) SMTP with Dynamic IP
Addresses", RFC 2465, August 1999. Addresses", RFC 2645, August 1999.
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
April 2001. April 2001.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822, [RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
April 2001. April 2001.
[RFC2919] Chandhok, R. and G. Wenger, "List-Id: A Structured Field [RFC2919] Chandhok, R. and G. Wenger, "List-Id: A Structured Field
and Namespace for the Identification of Mailing Lists", and Namespace for the Identification of Mailing Lists",
RFC 2919, March 2001. RFC 2919, March 2001.
[RFC3028] Showalter, T., "Sieve: A Mail Filtering Language", [RFC3028] Showalter, T., "Sieve: A Mail Filtering Language",
RFC 3028, January 2001. RFC 3028, January 2001.
[RFC3192] Allocchio, C., "Minimal FAX address format in Internet
Mail", RFC 2304, October 2001.
[RFC3297] Klyne, G., Iwazaki, R., and D. Crocker, "Content [RFC3297] Klyne, G., Iwazaki, R., and D. Crocker, "Content
Negotiation for Messaging Services based on Email", Negotiation for Messaging Services based on Email",
RFC 3297, July 2002. RFC 3297, July 2002.
[RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message
Context for Internet Mail", RFC 3458, January 2003. Context for Internet Mail", RFC 3458, January 2003.
[RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service
Extension for Delivery Status Notifications (DSNs)", Extension for Delivery Status Notifications (DSNs)",
RFC 3461, January 2003. RFC 3461, January 2003.
skipping to change at page 40, line 43 skipping to change at page 41, line 42
[RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition [RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition
Notification", RFC 3798, May 2004. Notification", RFC 3798, May 2004.
[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Procedures for Message Header Fields", RFC 3864, Procedures for Message Header Fields", RFC 3864,
September 2004. September 2004.
[RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
Header Fields", RFC 4021, March 2005. Header Fields", RFC 4021, March 2005.
[RFC4288] Freed, N., Klensin, J., and J. Postel, "Media Type
Specifications and Registration Procedures", BCP 13,
RFC 4288, December 2005.
[RFC4289] Freed, N., Klensin, J., and J. Postel, "Multipurpose
Internet Mail Extensions (MIME) Part Four: Registration
Procedures", BCP 13, RFC 4289, December 2005.
[RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail",
RFC 4409, April 2006.
[RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support [RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support
Diverse Service Environments (Lemonade) Profile", Diverse Service Environments (Lemonade) Profile",
June 2006. June 2006.
7.2. Descriptive 8.2. Descriptive
[ID-ffpim]
Crocker, D. and G. Klyne, "Full-mode Fax Profile for
Internet Mail: FFPIM", March 2004.
[ID-spamops] [ID-spamops]
Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and
E. Allman, "Email Submission Between Independent E. Allman, "Email Submission Between Independent
Networks", draft-spamops-00 (work in progress), Networks", draft-spamops-00 (work in progress),
March 2004. March 2004.
[RFC1733] Crispin, M., "Distributed Electronic Models in IMAP4",
December 1994.
[RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects",
RFC 1767, March 1995. RFC 1767, March 1995.
[RFC3801] Vaudreuil, G. and G. Parsons, "", RFC 3801, June 2004.
[RFC4142] Crocker, D. and G. Klyne, "Full-mode Fax Profile for
Internet Mail: FFPIM", December 2005.
[Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden, [Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden,
"Tussle in Cyberspace: Defining Tomorrow's Internet", "Tussle in Cyberspace: Defining Tomorrow's Internet",
ACM SIGCOMM, 2002. ACM SIGCOMM, 2002.
Appendix A. Acknowledgements Appendix A. Acknowledgements
This work derives from a section in draft-hutzler-spamops This work derives from a section in draft-hutzler-spamops.
[ID-spamops]. Discussion of the Source actor role was greatly [ID-spamops] Discussion of the Source actor role was greatly
clarified during discussions in the IETF's Marid working group. clarified during discussions in the IETF's Marid working group.
Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful
insight on the framework and details of the original drafts. insight on the framework and details of the original drafts.
Later reviews and suggestions were provided by Nathaniel Borenstein, Later reviews and suggestions were provided by Nathaniel Borenstein,
Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed, Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed,
Eric Hall, Brad Knowles, John Leslie, Bruce Lilly, Mark E. Mallett, Eric Hall, Brad Knowles, John Leslie, Bruce Lilly, Mark E. Mallett,
David MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim, David MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim,
Marshall Rose, Hector Santos, Jochen Topf, Willemien Hoogendoorn, Marshall Rose, Hector Santos, Jochen Topf, Willemien Hoogendoorn,
Valdis Kletnieks. Valdis Kletnieks.
Diligent proof-reading was performed by Bruce Lilly, Diligent proof-reading was performed by Bruce Lilly.
Author's Address Author's Address
Dave Crocker Dave Crocker
Brandenburg InternetWorking Brandenburg InternetWorking
675 Spruce Drive 675 Spruce Drive
Sunnyvale, CA 94086 Sunnyvale, CA 94086
USA USA
Phone: +1.408.246.8253 Phone: +1.408.246.8253
 End of changes. 235 change blocks. 
813 lines changed or deleted 846 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/