< draft-crocker-email-arch-02.txt   draft-crocker-email-arch-03.txt >
SMTP D. Crocker SMTP D. Crocker
Internet-Draft Brandenburg InternetWorking Internet-Draft Brandenburg InternetWorking
Expires: July 27, 2005 January 26, 2005 Expires: August 15, 2005 February 14, 2005
Internet Mail Architecture Internet Mail Architecture
draft-crocker-email-arch-02 draft-crocker-email-arch-03
Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all provisions This document is an Internet-Draft and is subject to all provisions
of section 3 of RFC 3667. By submitting this Internet-Draft, each of section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of author represents that any 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 is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with which he or she become aware will be disclosed, in accordance with
RFC 3668. RFC 3668.
skipping to change at page 1, line 35 skipping to change at page 1, line 35
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 July 27, 2005. This Internet-Draft will expire on August 15, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
Over its thirty year history, Internet mail has undergone significant Over its thirty-four year history, Internet mail has undergone
changes in scale and complexity. The first standardized architecture significant changes in scale and complexity. The first standardized
for email specified a simple split between the user world and the architecture for email specified a simple split between the user
transmission world, in the form of Mail User Agents (MUA) and Mail world, in the form of Mail User Agents (MUA), and the transmission
Transfer Agents (MTA). Over time each of these has divided into world, in the form of the Mail Handling Service (MHS) composed of
multiple, specialized modules. Public discussion and agreement about Mail Transfer Agents (MTA). Core aspects of the service, such as
the nature of the changes to Internet mail has not kept pace, and address and message style, have remained remarkably constant.
abuses of the Internet mail service have brought these issues into However public discussion of the architecture has not kept pace with
stark relief. This draft offers clarifications and enhancements, to the real-world refinements. This document offers an enhanced
provide a more consistent base for community discussion of email Internet Mail architecture to reflect the current service.
service problems and proposed email service enhancements.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Service Overview . . . . . . . . . . . . . . . . . . . . . . . 4 1.1 Service Overview . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Document Changes . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Discussion venue . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Discussion venue . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 5 2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 5
2.1 User-Level Actors . . . . . . . . . . . . . . . . . . . . . . 6 2.1 User Actors . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Transfer-Level Actors . . . . . . . . . . . . . . . . . . . . 8 2.2 MHS Actors . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Administrative Actors . . . . . . . . . . . . . . . . . . . . 11 2.3 Administrative Actors . . . . . . . . . . . . . . . . . . . . 11
3. Email Identities . . . . . . . . . . . . . . . . . . . . . . . 11 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1 Mailbox Addresses . . . . . . . . . . . . . . . . . . . . . . 12 3.1 Mailbox Addresses . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Domain Names . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Domain Names . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Message Identifers . . . . . . . . . . . . . . . . . . . . . . 13 3.3 Message Identifiers . . . . . . . . . . . . . . . . . . . . . 14
3.4 Identity Referencing Convention . . . . . . . . . . . . . . . 13 3.4 Identity Referencing Convention . . . . . . . . . . . . . . . 15
4. Protocols and Services . . . . . . . . . . . . . . . . . . . . 13 4. Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 Service Components . . . . . . . . . . . . . . . . . . . . . . 15 4.1 Message . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Operational Configuration . . . . . . . . . . . . . . . . . . 21 4.2 Mail User Agent (MUA) . . . . . . . . . . . . . . . . . . . . 19
4.3 Layers of Identity References . . . . . . . . . . . . . . . . 21 4.3 Mail Submission Agent (MSA) . . . . . . . . . . . . . . . . . 21
5. Message Data . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.4 Mail Transfer Agent (MTA) . . . . . . . . . . . . . . . . . . 22
5.1 Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.5 Mail Delivery Agent (MDA) . . . . . . . . . . . . . . . . . . 24
5.2 Message Header Fields . . . . . . . . . . . . . . . . . . . . 22 4.6 Message Store (MS) . . . . . . . . . . . . . . . . . . . . . . 25
5.3 Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6. Two Levels of Store-And-Forward . . . . . . . . . . . . . . . 23 5.1 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1 MTA Relaying . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 ReSending . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2 MUA Forwarding . . . . . . . . . . . . . . . . . . . . . . . . 23 5.3 Mailing Lists . . . . . . . . . . . . . . . . . . . . . . . . 30
7. Security Considerations . . . . . . . . . . . . . . . . . . . 30 5.4 Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.5 Security Filter . . . . . . . . . . . . . . . . . . . . . . . 34
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 33 6. Security Considerations . . . . . . . . . . . . . . . . . . . 34
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 33 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Intellectual Property and Copyright Statements . . . . . . . . 34 7.1 References - Normative . . . . . . . . . . . . . . . . . . . . 34
7.2 Reference - Descriptive . . . . . . . . . . . . . . . . . . . 36
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 37
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37
Intellectual Property and Copyright Statements . . . . . . . . 38
1. Introduction 1. Introduction
Over its thirty year history, Internet mail has undergone significant Over its thirty-four year history, Internet mail has undergone
changes in scale and complexity. The first standardized architecture significant changes in scale and complexity. The first standardized
for email specified a simple split between the user world and the architecture for email specified a simple split between the user
transmission world, in the form of Mail User Agents (MUA) and Mail world, in the form of Mail User Agents (MUA), and the transmission
Transfer Agents (MTA). Over time each of these has sub-divided into world, in the form of the Mail Handling Service (MHS) composed of
more specialized modules. However the basic style and use of names, Mail Transfer Agents (MTA).
addresses and message structure have remained remarkably constant.
There are two, basic categories of participants in Internet Mail. The MHS is responsible for accepting a message from one User and
Users are customers of the Mail Handling Service (MHS). They delivering it to one or more others.
represent the sources and sinks of that service. The Mail Handling
Service is responsible for accepting a message from one user and
delivering to one or more others.
+--------+ +--------+
+---------------->| User | +---------------->| User |
| +--------+ | +--------+
| . | .
+--------+ | +--------+ . +--------+ | +--------+ .
| User +--+--------->| User | . | User +--+--------->| User | .
+--------+ | +--------+ . +--------+ | +--------+ .
| . . . | . .
. | +--------+ . . . | +--------+ . .
. +-->| User | . . . +-->| User | . .
. +--------+ . . . +--------+ . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
+--------------------------------------+ +--------------------------------------+
| |
| Mail Handling Service (MHS) | | Mail Handling Service (MHS) |
| |
+--------------------------------------+ +--------------------------------------+
Figure 1: Basic Email Service Model Figure 1: Basic Email Service Model
Public discussion and agreement about terms of reference have not Over time the operational service has sub-divided each of these
kept pace with the changes, and abuses of the Internet mail service "layers" into more specialized modules. Core aspects of the service,
have brought this into stark relief. So, it is necessary to produce such as address and message style, have remained remarkably constant.
a revised architecture. However it is important that the original However public discussion of the architecture has not kept pace with
distinction between user-level concerns and transfer-level concerns the real-world refinements. This document offers an enhanced
be retained. This becomes challenging when the user-level exchange Internet Mail architecture to reflect the current service. The
is, itself, a sequence, such as with group dialogue or organizational original distinction between user-level concerns and transfer-level
message flow, as occurs with a purchase approval process. It is easy concerns is retained, and the elaboration to each "level" of the
to confuse this user-level activity with the underlying mail architecture is discussed separately.
transmission service exchanges.
For Internet mail, the term "end-to-end" usually refers to single For Internet mail, the term "end-to-end" usually refers to a single
posting and the set of deliveries resulting from a single transiting posting and the set of deliveries directly resulting from its single
of the MHS. However, note that specialized uses of email consider transiting of the MHS. However, note that some uses of email
the entire email service -- including Originator and Recipient -- as consider the entire email service -- including Originator and
a subordinate component. For these services, "end-to-end" refers to Recipient -- as a subordinate component. For these services,
points outside of the email service. Examples are voicemail over "end-to-end" refers to points outside of the email service. Examples
email and EDI over email. are voicemail over email [RFC2423], EDI over email [RFC1767], and
facsimile over email.[ID-ffpim]
The current draft seeks to: The current draft seeks to:
1. Document changes that have taken place in refining the email o Document refinements to the email model
model
2. Clarify functional roles for the architectural components o Clarify functional roles for the architectural components
3. Clarify identity-related issues, across the email service o Clarify identity-related issues, across the email service
4. Provide a common venue for further defining and citing modern o Provide a document that serves as a common venue for further
Internet mail architecture defining and citing modern Internet mail architecture
1.1 Service Overview 1.1 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:
1. An email object o An email object
2. Global addressing o Global addressing
3. A connected sequence of point-to-point transfer mechanisms o A connected sequence of point-to-point transfer mechanisms
4. No prior arrangement between originator and recipient o No prior arrangement between Originator and Recipient
5. No prior arrangement between point-to-point transfer services, o No prior arrangement between point-to-point transfer services,
over the open Internet over the open Internet
The end-to-end portion of the service is the message. Broadly the The end-to-end portion of the service is the message. Broadly the
message, itself, is divided between handling control information and message, itself, is divided between handling control information and
user message payload. user message content.
A precept to the design of Internet mail is to permit user-to-user A precept to the design of Internet mail is permitting user-to-user
and MTA-to-MTA interoperability with no prior, direct administrative and MTA-to-MTA interoperability with no prior, direct administrative
arrangement. That is, all participants rely on having the core arrangement. That is, all participants rely on having the core
services be universally supported, either directly or through services be universally supported, either directly or through
gateways that translate between Internet mail standards and other Gateways that translate between Internet mail standards and other
email conventions. email conventions.
For localized environments (edge networks) prior, administrative For localized environments (Edge networks) prior, administrative
arrangement can include access control, routing constraints and arrangement can include access control, routing constraints and
lookup service configuration. In recent years one change to local lookup service configuration. In recent years one change to local
environments is an increased requirement for authentication or, at environments is an increased requirement for authentication or, at
least, accountability. In these cases, the server performs explicit least, accountability. In these cases, the server performs explicit
validation of the client's identity. validation of the client's identity.
1.2 Document Changes 1.2 Discussion venue
The major changes from the previous version of this document are: Discussion about this document should be directed to the IETF-SMTP
mailing list <http://www.imc.org/ietf-smtp>. It is the most active,
long-standing venue for discussing email architecture. Although it
is primarily for discussing only the SMTP protocol, it is recommended
that discussion of this draft take place on that mailing list because
it attends to end-to-end infrastructure and architecture issues more
than other email-related mailing lists.
Overall: Clarify roles and responsibilities 1.3 Changes
Diagrams: Revised diagrams and tightened things up This is intended to be the last major revision, prior to seeking
publication.
Distinct architectural 'sections': Added concept of ADMDs, as Significant changes to this version:
operational layer, separate from functional or architectural
layer. Added user "layer", as distinct from transfer. Introduced
'mediator'.
1.3 Discussion venue Administrative Domain: Extensive discussion of this operational
construct, including distinguishing User, Edge and Transit ADs.
This elaborates the reference to "providers" in earlier drafts.
NOTE: This document is the work of a single person, about a topic Mediator: Extensive revision both to the description of Mediator
with considerable diversity of views. It is certain to be and use of the construct throughout the document.
incomplete and inaccurate. Some errors simply need to be
reported; they will get fixed. Others need to be discussed by the
community, because the real requirement is to develop common
community views. To this end, please treat the draft as a
touchstone for public discussion.
Discussion about this document should be directed to the: Gateway: The construct of a gateway is elaborated.
<mailto:ietf-smtp@imc.org> mailing list. The IETF-SMTP mailing list
<http://www.imc.org/ietf-smtp/index.htm> is the most active, Set by: Tables that had an entry for "Actor:" have been changed to
long-standing venue for discussing email architecture. Although this "Set by:" in order to clarify the nature of the Actor reference
list is primarily for discussing only the SMTP protocol, it is being made. It is intended to indicate who is responsible for
recommended that discussion of this draft take place on that mailing setting the identity, rather than indicate what identity is
list. This list tends to attend to end-to-end infrastructure and referred to. The specific references were carefully reviewed and
architecture issues more than other email-related mailing lists. modified, to reflect this focus. The list of "set by" entries was
extensively reviewed, with substantial modifications made.
Editorial proofing: A complete word-smithing pass over the
document.
2. Email Actor Roles 2. Email Actor Roles
Discussion of email architecture requires distinguishing different Internet Mail is a highly distributed service, with a variety of
actors within the service, and being clear about the job each actors serving different roles. These divide into:
performs. The best way to maintain the distinction between user
activity and handling activities is to depict their details in
separate diagrams. Current Internet mail provides only a small set
of capabilities for supporting different kinds of ongoing, user-level
exchanges.
Although related to a technical architecture, the focus of a o User
discussions on Actors is on participant responsibilities, rather than
functional modules. Hence the labels used are different than for
classic email architecture diagrams. The figures depict the
relationships among the Actors. Actors often will be associated with
entirely independent organizations from other Actors who are
participating in the email service.
2.1 User-Level Actors o Mail Handling Service (MHS)
o Administrative Domain
Although related to a technical architecture, the focus on Actors
concerns participant responsibilities, rather than on functional
modules. Hence the labels used are different than for classic email
architecture diagrams. Actors often will be associated with
different organizations. This operational independence provides the
motivation for distinguishing Administrative Domains.
2.1 User Actors
Users are the sources and sinks of messages. They may have an Users are the sources and sinks of messages. They may have an
exchange that iterates and they may expand or contract the set of exchange that iterates and they may expand or contract the set of
users participating in a set of exchanges. Users participating in a set of exchanges. In Internet Mail there
are three types of user-level Actors:
In Internet Mail there are three, basic types of user-level Actors: o Originators
Originators, Recipients, and Mediators. Fromhe t User-level
perspective all mail transfer activities are performed by a o Recipients
monolithic, shared handling service. Users are customers of this
service. The following depicts the relationships among them. o Mediators
From the User-level perspective all mail transfer activities are
performed by a monolithic, shared MHS. Users are customers of this
service.
The following depicts the relationships among them.
+------------+ +------------+
| Originator |<--------------+ | Originator |<--------------+
+-+---+----+-+ | +-+---+----+-+ |
| | | | | | | |
| | V | | | V |
| | +-----------+ | | | +-----------+ |
| | | Recipient | | | | | Recipient | |
| | +-----------+ | | | +-----------+ |
| | | | | |
skipping to change at page 6, line 47 skipping to change at page 7, line 28
| V V | | | V V | |
| +-----------+ +---+---+---+ | +-----------+ +---+---+---+
| | Mediator +--->| Recipient | | | Mediator +--->| Recipient |
| +-----------+ +-----------+ | +-----------+ +-----------+
| |
V V
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+
| Mediator +--->| Mediator +--->| Recipient | | Mediator +--->| Mediator +--->| Recipient |
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+
The functions of these Actors are: 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
Mail Handling Service operates to send and deliver mail among MHS operates to send and deliver mail among Originators and
Originators and Recipients. Recipients.
2.1.2 Recipient 2.1.2 Recipient
The Recipient is a consumer of delivered content. The Recipient is a consumer of delivered content.
A recipient may close the user-level communication loop by creating A Recipient may 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
automated, or semi-automated form of reply informs the Originator example of an automated form of reply is the Message Disposition
about the Recipient's disposition of the message. Notification, which informs the Originator about the Recipient's
disposition of the message. See Section 4.1.
2.1.3 Mediator 2.1.3 Mediator
A Mediator receives, aggregates, reformulates and distributes 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. A Mediator is viewed by the Mail Handling Service, when among Users. Example uses of Mediators include group dialogue and
the Mediator's address is specified in the envelope. When submitting organizational message flow, as occurs with a purchase approval
process. Note that it is easy to confuse this user-level activity
with the underlying MHS exchanges. However they serve very different
purposes and operate is very different ways. Mediators are
considered extensively in Section 5.
When mail is delivered to an envelope address, a Mediator is viewed
by the Mail Handling Service as a Recipient. When submitting
messages, the Mediator is an Originator. What is distinctive is that messages, the Mediator is an Originator. What is distinctive is that
a Mediator preserves Originator information of the message(s) it a Mediator preserves the Originator information of the message it
reformulates, but makes meaningful changes to the content. Hence the reformulates, but may make meaningful changes to the content. Hence
Mail Handling Service sees a new message, but Users receive a message the MHS sees a new message, but Users receive a message that is
that is interpreted as primarily being from the author of the interpreted as primarily being from -- or, at least, initiated by --
original message. The role of a Mediator permits distinct, active the author of the original message. The role of a Mediator permits
creativity, rather than being limited the more passive job of merely distinct, active creativity, rather than being limited to the more
connecting together other participants. Hence it is really the constrained job of merely connecting together other participants.
Mediator that is responsible for the new message. Hence it is really the Mediator that is responsible for the new
message.
A Mediator's task may be complex, contingent and creative, such as by A Mediator's task may be complex and contingent, such as by modifying
modifying and adding content or regulating which users may and adding content or regulating which users may participate and
participate and when. The popular example of this role is a group when. The popular example of this role is a group mailing list. A
mailing list. A sequence of mediators may even perform a series of sequence of mediators may even perform a series of formal steps, such
formal steps, such as reviewing, modifying and approving a purchase as reviewing, modifying and approving a purchase request.
request.
Because a Mediator originates messages, it might also receive Because a Mediator originates messages, it might also receive
replies. That is, a Mediator is a full-fledged User. replies. So, a Mediator really is a full-fledged User.
Specialized Mediators include:
Forwarder: A new message encapsulates the original message and is
seen as strictly "from" the Mediator. However the Mediator might
add commentary and certainly has the opportunity to modify the
original message content.
Redirector: Redirection differs from Forwarding by virtue of having
the Mediator "splice" communication between the Originator of the
original message and the Recipient of the new message. Hence the
new Recipient sees the message as being From the original
Originator.
Mailing List: This Actor performs a task that can be viewed as an
elaboration of the Redirector role. In addition to sending the
new message to a potentially large number of new Recipients,
content might be modified, such as deletion of attachments,
formatting conversion, and addition of list-specific comments. In
additional, archival of list messages is common.
Annotator: The integrity of the original message is preserved, but
one or more comments about the message are added in a manner that
distinguishes commentary from original text.
Adaptor: {per Ned Freed}
Security Filter: Organizations often enforce security boundaries by Gateway: A Gateway is a particularly interesting form of Mediator.
having message subjected to analysis for conformance with the It is a hybrid of User and Relay that interconnects heterogeneous
organization's safety policies. Examples are detection of content mail services. Its goal of emulating a Relay, so Gateway is
classed as spam or a virus. A Security Filter might alter the described in the next section.
content, to render it safe, such as by removing content deemed
unacceptable. Typically these actions will result in the addition
of content that records the actions.
2.2 Transfer-Level Actors 2.2 MHS Actors
The Mail Handling Service has the task of performing a single, The Mail Handling Service (MHS) has the task of performing a single,
end-to-end transfer on behalf of the originator and reaching the email-level end-to-end transfer, on behalf of the Originator and
recipient address(es) specified in the envelope. Protracted, reaching the Recipient address(es) specified in the envelope.
iterative exchanges, such as those used for collaboration over time, Mediated or protracted, iterative exchanges, such as those used for
are part of the User-level service, and are not part of this collaboration over time, are part of the User-level service, and are
Transfer-level service. not part of this Transfer-level service.
The following depicts the relationships among transfer participants The following depicts the relationships among transfer participants
in Internet Mail. It shows Source as distinct from the Originator, in Internet Mail. It shows the Source as distinct from the
although it is common for them to be the same actor. The figure also Originator, and Destination as distinct from Recipient, although it
shows multiple Relays in the sequence. It is legal to have only one, is common for each pair to be the same actor. The figure also shows
and for intra-organization mail services, this is common. multiple Relays in the sequence. It is legal to have only one, and
for intra-organization mail services, this is common.
+------------+ +-----------+ +------------+ +-----------+
| Originator | | Recipient | | Originator | | Recipient |
+-----+------+ +-----------+ +-----+------+ +-----------+
| ^ | ^
| Mail Handling Service | | Mail Handling Service |
+===================================================+ /+=================================================+\
|| | | || || | | ||
|| | | || || | | ||
V | V |
+---------+ +--------+ +----+----+ +---------+ +--------+ +----+----+
| | | |<------------+ | | | | |<------------+ |
| Source +...>| Notice | | Dest | | Source +...>| Notice | | Dest |
| | | |<---+ | | | | | |<---+ | |
+----+----+ +--------+ | +---------+ +----+----+ +--------+ | +---------+
| | ^ | | ^
V | | V | |
+---------+ +----+----+ +----+----+ +---------+ +----+----+ +----+----+
| Relay +-->.......-->| Relay +-->| Relay | | Relay +-->.......-->| Relay +-->| Relay |
+---------+ +----+----+ +---------+ +---------+ +----+----+ +---------+
| |
V V
+---------+ +---------+
| Gateway +-->... | Gateway +-->...
+---------+ +---------+
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 mail relay. Validity for posting and then submitting it to a Relay. Validity includes
includes conformance with Internet mail standards, as well as local conformance with Internet mail standards, as well as with local
operational policies. Source may simply review the message for operational policies. The source may simply review the message for
conformance, and reject it if there are errors, or it may create some conformance, and reject it if there are errors, or it may create some
or all of the necessary information. or all of the necessary information.
Source operates with dual allegiance. It serves the Originator and The Source operates with dual "allegiance". It serves the Originator
often it is the same entity. However its role in assuring validity and often it is the same entity. However its role in assuring
means that it must represent the local operator of the Mail Handling validity means that it must also represent the local operator of the
Service. MHS, that is, the local Administrative Domain.
Source also has the responsibility for any post-submission, The Source also has the responsibility for any post-submission,
originator-related administrative tasks associated with message Originator-related administrative tasks associated with message
transmission and delivery. Notably this pertains to error and transmission and delivery. Notably this pertains to error and
delivery notices. Hence, Source is best held accountable for the delivery notices. Hence, Source is best held accountable for the
message content, even when they did not create any or most of it. message content, even when they did not create any or most of it.
2.2.2 Notices Handler 2.2.2 Notifications Handler
Transfer efforts might result in the generation of service reporting The Notifications Handler processes service notifications that are
information about failures or completions. These Transfer or generated by the MHS, as a result of its efforts to transfer or
Delivery notification messages are sent to an address that is deliver the message. Notices may be about failures or completions
specified by the Source. A Notices handling address (also known as and are sent to an address that is specified by the Source. This
Bounce or Return address) might have no characteristics in common the Notices handling address (also known as a Bounce or Return address)
with address of the Originator or Source. might have no visible characteristics in common with the address of
the Originator or Source.
2.2.3 Relay 2.2.3 Relay
A mail relay performs email transfer-service routing and A mail Relay performs email transfer-service routing and
store-and-forward. It adds envelope-related handling information and store-and-forward. It adds envelope-level handling information and
then (re-)transmits the message on towards its recipient(s). A Relay then (re-)transmits the message on towards its Recipient(s). A Relay
does not modify the message contents. may add information to the envelope, such as with trace information.
However it does not modify existing envelope information or the
message content semantics. It may modify message content syntax,
such as a change from text to binary transfer-encoding form, only as
required to meet the capabilities of the next hop in the MHS.
A basic transfer operation is between a client and a server Relay. A A set of Relays composes a Mail Handling Service network. This is
set of Relays composes a Mail Handling Service network. This is
above any underlying packet-switching network that they might be above any underlying packet-switching network that they might be
using. using. Hence, interesting email scenarios can involve three levels
of store-and-forward:
Aborting message transfer results in having the Relay become an o User Mediators
o MHS Relays
o Packet Switches
Aborting a message transfer results in having the Relay become an
Originator and send an error message to the Notifications (Bounce) Originator and send an error message to the Notifications (Bounce)
address. (The potential for looping is avoided by having this address. (The potential for looping is avoided by having this
message, itself, contain no Bounce address. message, itself, contain no Notifications address.)
2.2.4 Gateway 2.2.4 Gateway
A Gateway is a special form of Relay that interconnects heterogeneous A Gateway is a hybrid form of User and Relay that interconnects
mail services. Differences between the services can be as small as heterogeneous mail services. It operates as a User process, but its
minor syntax variations, but usually encompass much more basic, purpose is simply to Relay messages. The more closely a Gateway is
semantic distinctions. For example, the concept of an email address able to operate as a Relay, the better. Differences between mail
might be as different as a hierarchical, machine-specific address services can be as small as minor syntax variations, but usually
versus a flat, global name space. Or between text-only and encompass significant, semantic distinctions. For example, the
multi-media. Hence, the Relay function of a gateway is the minor concept of an email address might be as different as a hierarchical,
component. The significant challenge is in the user-to-user machine-specific address versus a flat, global name space. Or
functionality that matches syntax and semantics of independent email between text-only content and multi-media. Hence the Relay function
standards suites. in a Gateway offers the minor challenge in design. The more
significant challenge is in ensuring the user-to-user functionality
that matches syntax and semantics of 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 can send a message to a recipient, without requiring any Originator on one side of a Gateway can send a message to a Recipient
changes to the components in the originator's mail service or the on the other side, without requiring changes to any of the components
recipient's mail service, other than adding the gateway. To each of in the Originator's or Recipient's mail services, other than adding
these otherwise independent services, the gateway will appear to be a the Gateway. To each of these otherwise independent services, the
"native" participant. However the ultimate test of a gateway's Gateway will appear to be a "native" participant. However the
adequacy is whether the originator and recipient can sustain a ultimate test of a Gateway's adequacy is whether the Originator and
dialogue. In particular, can a recipient formulate a Reply? Recipient can sustain a dialogue. In particular, can a Recipient's
MUA automatically formulate a valid Reply?
2.3 Administrative Actors 2.3 Administrative Actors
Operation of Internet mail services is apportioned to different Operation of Internet mail services is apportioned to different
providers (or operators) each is composed of an independent providers (or operators). Each can be composed of an independent
Administrative Domain. Examples include an end-user operating their Administrative Domain (AD). Examples include an end-user operating
desktop client, a department operating a local relay, an IT their desktop client, a department operating a local Relay, an IT
department operating an enterprise relay, and an ISP operating a department operating an enterprise Relay, and an ISP operating a
public, shared email service. These can be configured into many public, shared email service. These can be configured into many
combinations of administrative and operational relationships, with combinations of administrative and operational relationships, with
each Administrative Domain potentially having a complex arrangement each Administrative Domain potentially having a complex arrangement
of functional components. of functional components. Figure 4 depicts the relationships among
ADs. Perhaps the most salient aspect of an AD is the differential
trust that determines its policies for activities within the AD,
versus those involving interactions with other ADs.
Basic components of AD distinction include:
Transit: These are Mail Service Providers (MSP) offering
value-added capabilities for Edge ADs, such as aggregation and
filtering.
Edge: Independent transfer services, in networks at the edge of the
Internet mail service.
User: End-user services. This might be subsumed under the Edge
service, such as is common for web-based email access.
Note that Transit services are quite different from packet-level
transit operation. Whereas end-to-end packet transfers usually go
through intermediate routers. Email exchange across the open
Internet is often directly between the Edge ADs, at the email level.
+------ +------+ +------+
| AD-1 | | AD-3 | | AD-4 |
| ---- | | ---- | | ---- |
| | +---------------------->| | | |
| User | | |-Edge-+---->|-User |
| | | | +--->| | | |
| V | | | +------+ +------+
| Edge-+----+ |
| | | +---------+ |
+------+ | | AD-2 | |
| | ------- | |
| | | |
+--->|-Transit-+---+
| |
+---------+
Figure 4: Administrative Domains (AD)
Edge networks may use proprietary email standards internally.
However the distinction between Transit network and Edge network
transfer services is primarily significant because it highlights the
need for concern over interaction and protection between independent
administrations. In particular, this distinctions calls for
additional care in assessing transitions of responsibility, as well
as the accountability and authorization relationships among
participants in email transfer.
The interactions between functional components within an The interactions between functional components within an
Administrative Domain are subject to the policies of that domain. Administrative Domain are subject to the policies of that domain.
Policies can cover such things as reliability, access control, Policies can cover such things as reliability, access control,
accountability and content evaluation and may be implemented in accountability and even content evaluation and modification. They
different functional components, according to the needs of the may be implemented in different functional components, according to
Administrative Domain. the needs of the Administrative Domain. For example, see
[ID-spamops].
2.3.1 Provider
Providers operate component services or sets of services. It is User, Edge and Transit services can be offered by providers that
possible for Providers to host services for other Providers. Common operate component services or sets of services. Further, it is
possible for one AD to host services for other ADs. Common AD
examples are: examples are:
Enterprise Service Providers: Operating an organization's internal Enterprise Service Providers:
data and/or mail operations.
Internet Service Providers: Operating underlying data communication Operating an organization's internal data and/or mail operations.
services that, in turn, are used by one or more Relays and Users.
It is not their job to perform email functions, but to provide an
environment in which those functions can be performed.
Mail Service Providers: Operate email services, such as for Internet Service Providers:
end-users, or mailing lists.
Operational pragmatics often dictate that Providers be involved in Operating underlying data communication services that, in turn,
detailed administration and enforcement issues, to help insure the are used by one or more Relays and Users. It is not their job to
health of the overall Internet Mail Service. perform email functions, but to provide an environment in which
those functions can be performed.
3. Email Identities Mail Service Providers:
Operate email services, such as for end-users, or mailing lists.
Operational pragmatics often dictate that providers be involved in
detailed administration and enforcement issues, to help ensure the
health of the overall Internet Mail Service. This can include
operators of lower-level packet services.
3. Identities
Internet mail uses three forms of identity. The most common is the Internet mail uses three forms of identity. The most common is the
mailbox address <addr-spec> [RFC2822]. The other two forms are the mailbox address <addr-spec> [RFC2822]. The other two are the domain
<domain name> [RFC1034] and message identifier [RFC2822]. name <domain> [RFC1034] and message identifier <msg-id> [RFC2822].
3.1 Mailbox Addresses 3.1 Mailbox Addresses
An addr-spec has two distinct parts, divided by an at-sign ("@"). "A mailbox sends and receives mail. It is a conceptual entity
The right-hand side contains a globally interpreted name for an which does not necessarily pertain to file storage." [RFC2822]
administrative domain. This domain name might refer to an entire
organization, or to a collection of machines integrated into a
homogeneous service, or to a single machine. Domain names are
defined and operated through the DNS [RFC1034], [RFC1035].
The left-hand side of the at-sign contains a string that is globally A mailbox is specified as an Internet mail address <addr-spec>. It
opaque and is called the <local-part>. It is to be interpreted only has two distinct parts, divided by an at-sign ("@"). The right-hand
by the entity specified in the address's right-hand side. All other side contains a globally interpreted name for an administrative
entities must treat the local-part as a uninterpreted, literal string domain. This domain name might refer to an entire organization, or
and must preserve all of its original details. As such, its to a collection of machines integrated into a homogeneous service, or
distribution is equivalent to sending a "cookie" that is only to a single machine. Domain names are defined and operated through
interpreted upon being returned to its originator. the Domain Name Service (DNS) [RFC1034], [RFC1035], [RFC2181].
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
interpreted only by the entity specified in the address's right-hand
side. All other entities must treat the local-part as a
uninterpreted, literal string and must preserve all of its original
details. As such, its public distribution is equivalent to sending a
"cookie" that is only interpreted upon being returned to 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 left-hand side (local-part) of an addr-spec. This permits
sub-addressing, such as for distinguishing different discussion sub-addressing, such as for distinguishing different discussion
groups by the same participant. However it must be stressed that groups by the same participant. However it must be stressed that
these conventions are strictly private to the user's organization and these conventions are strictly private to the user's organization and
must not be interpreted by any domain except the one listed in the must not be interpreted by any domain except the one listed in the
right-hand side of the add-spec. right-hand side of the addr-spec.
A small class of addresses have an elaboration on basic email A small class of addresses has an elaboration on basic email
addressing, with a standardized, global schema for the local-part. addressing, with a standardized, global schema for the local-part.
These are conventions between originating end-systems and recipient These are conventions between originating end-systems and Recipient
gateways, and they are invisible to the public email transfer Gateways, and they are invisible to the public email transfer
infrastructure. When an originator is explicitly sending via a infrastructure. When an Originator is explicitly sending via a
gateway out of the Internet, there are coding conventions for the Gateway out of the Internet, there are coding conventions for the
local-part, so that the originator can formulate instructions for the local-part, so that the Originator can formulate instructions for the
gateway. Standardized examples of this are the telephone numbering Gateway. Standardized examples of this are the telephone numbering
formats for VPIM [RFC2421], such as "+16137637582@vpim.example.com", formats for VPIM [RFC2421], such as "+16137637582@vpim.example.com",
and iFax [RFC2304], such as "FAX=+12027653000/ and iFax [RFC2304], such as "FAX=+12027653000/
T33S=1387@ifax.example.com". 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
skipping to change at page 13, line 20 skipping to change at page 14, line 50
IP Addresses. A domain name can be administered to refer to IP Addresses. A domain name can be administered to refer to
individual users, but this is not common practice. The name is individual users, but this is not common practice. The name is
structure as a hierarchical sequence of sub-names, separated by dots structure as a hierarchical sequence of sub-names, separated by dots
("."). (".").
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 a node that took action upon the message, such as mail to refer to a node that took action upon the message, such as
providing the administrative scope for a message identifier, or providing the administrative scope for a message identifier, or
performing transfer processing. performing transfer processing.
3.3 Message Identifers 3.3 Message Identifiers
Message identifiers have two distinct parts, divided by an at-sign Like mailbox addresses, message identifiers have two distinct parts,
("@"). The right-hand side contains a globally interpreted name for divided by an at-sign ("@"). The right-hand side is globally
the administrative domain assigning the identifier. The left-hand interpreted and specifies the administrative domain assigning the
side of the at-sign contains a string that is globally opaque and identifier. The left-hand side of the at-sign contains a string that
serves to uniquely identify the message within the domain referenced is globally opaque and serves to uniquely identify the message within
on the right-hand side. The duration of uniqueness for the message the domain referenced on the right-hand side. The duration of
identifier is undefined. uniqueness for the message identifier is undefined.
The identifier may be assigned by the user or by any component of the The identifier may be assigned by the user or by any component of the
system along the path. Although Internet mail standards provide for system along the path, within the AD responsible for the indicated
a single identifier, more than one is sometimes assigned. domain. Although Internet mail standards provide for a single
identifier, more than one is sometimes assigned.
3.4 Identity Referencing Convention 3.4 Identity Referencing Convention
In this document, fields references to identities are labeled in a In this document, fields references to identities are labeled in a
two-part, dotted notation. The first part cites the document two-part, dotted notation. The first part cites the document
defining the identity and the second defines the name of the defining the identity and the second defines the name of the
identity. Hence, <RFC2822.From> is the From field in an email identity. 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.
4. Protocols and Services 4. Services
NOTE: A discussion about any interesting system architecture is The Internet's MHS architecture distinguishes six types of functional
often complicated by confusion between architecture versus components, arranged to support a store-and-forward service
architecture:
o Message
o Mail User Agent (MUA)
o Message Submission Agent (MSA)
o Message Transfer Agent (MTA)
o Message Delivery Agent (MDA)
o Message Store (MS)
This section describes the specific functional components for
Internet Mail, and the standard protocols associated with performing
them.
This figure shows function modules and the protocols used between
them.
+------+
...............+ oMUA |<------------------------------+
. +--+---+ |
. | {smtp, submission |
. V |
. +------+ |
. | MSA |<--------------------+ |
. +--+---+ | |
. | {smtp | |
. V | |
. +------+ /+===+===+\ |
. | MTA | || dsn || |
/+==========+\ +--+---+ \+=======+/ |
|| MESSAGE || . {smtp ^ ^ |
||----------|| . | | |
|| Envelope || . | | |
|| SMTP || V | | |
|| RFC2822 || +------+ | | /+==+==+\
|| Content || | MTA +-------------------+ | || mdn ||
|| RFC2822 || +--+---+ | \+=====+/
|| MIME || | {local, smtp, lmtp | |
\+==========+/ V | |
. +------+ | |
. | +-----------------------+ |
. | MDA | |
. | |<--------------------+ |
. +-+--+-+ | |
. local} | | | |
. V | | |
. +------+ | /+===+===+\ |
. | MS-1 | | || sieve || |
. +-+--+-+ | \+=======+/ |
. | | | {pop, imap ^ |
. | V V | |
. | +------+ | |
. | | MS-2 | | |
. | +--+---+ | |
. | | {pop, imap, local | |
. V V | |
. +------+ | |
...........>| rMUA +------------------------+---------+
+------+
Figure 5: Protocols and Services
Software implementations of these architectural components often
compress them, such as having the same software do MSA, MTA and MDA
functions. However the requirements for each of these components of
the service are becoming more extensive. So, their separation is
increasingly common.
NOTE:
A discussion about any interesting system architecture is often
complicated by confusion between architecture versus
implementation. An architecture defines the conceptual functions implementation. An architecture defines the conceptual functions
of a service, divided into discrete conceptual modules. An of a service, divided into discrete conceptual modules. An
implementation of that architecture may combine or separate implementation of that architecture may combine or separate
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.
Modern Internet email architecture distinguishes four types of 4.1 Message
functional components, arranged to support a store-and-forward
service architecture:
+------+ The purpose of the Mail Handling Service is to exchange a message
.............+ oMUA |<------------------------------+ object among participants. Hence, all of the underlying mechanisms
. +--+---+ | are merely in the service of getting that message from its Originator
. | { smtp,submission | to its Recipients. A message may be explicitly labeled as to its
. V | nature. [RFC3458]
. +------+ |
. | MSA |<--------------------+ |
. +--+---+ | |
. | { smtp | |
. V | |
. +------+ +====+====+ |
. | MTA | || dsn || |
+============+ +--+---+ +=========+ |
|| MESSAGE || . { smtp ^ ^ |
|| || . | | |
||(envelope)|| . | | |
|| || V | | |
|| RFC2822 || +------+ | | +===+===+
|| || | MTA +-------------------+ | || mdn ||
|| MIME || +--+---+ | +=======+
+============+ | { local, smtp, lmtp | |
. V | |
. +------+ | |
. | +-----------------------+ |
. | MDA | |
. | |<--------------------+ |
. +-+--+-+ | |
. local } | | | |
. V | | |
. +------+ | +====+====+ |
. | MS-1 | | || sieve || |
. +-+--+-+ | +=========+ |
. | | | { pop, imap ^ |
. | V V | |
. | +------+ | |
. | | MS-2 | | |
. | +--+---+ | |
. | | { pop, imap, local | |
. V V | |
. +------+ | |
.........>| rMUA +------------------------+---------+
+------+
Software implementations of these architectural components often A message comprises a transit handling envelope and the end-user
compress them, such as having the same software do MSA, MTA and MDA message content. The envelope contains handling information used by
functions. However the requirements for each of these components of the Message Handling Service, or generated by it. The content is
the service are becoming more extensive. So, their separation is divided into a structured header and the body. The body may be
increasingly common. unstructured, simple text, or it may be a tree of multi-media
subordinate objects.
4.1 Service Components Internet mail has distinguished some special versions of messages,
for exchanging control information:
4.1.1 Mail User Agent (MUA) Delivery Status Notification (DSN):
A Delivery Status Notification (DSN) may be generated by the Mail
Handling Service (MSA, MTA or MDA) and sent to the
RFC2821.MailFrom address. It provides information about message
transit, such as transmission errors or successful delivery.
[RFC3461]
Message Disposition Notification (MDN):
A Message Disposition Notification (MDN) may be generated by an
rMUA and is sent to the Disposition-Notification-To address. It
provides information about Recipient-side message processing, such
as indicating that the message has been read [RFC2298] or the form
of content that can be supported. [RFC3297]
Message Filtering (SIEVE):
SIEVE provides a means of specifying conditions for differential
handling of mail, at the time of delivery. [RFC3028]
4.1.1 Envelope
Information that is directly used by, or produced by, the email
transfer service is called the "envelope". It controls and records
handling activities by the transfer service. Internet mail has a
fragmented framework for handling this "handling" information. The
envelope exists partly in the transfer protocol SMTP [RFC2821] and
partly in the message object [RFC2822]. The SMTP specification uses
the term to refer only to the transfer-protocol information.
NOTE:
Due to the frequent use of the term "envelope" to refer only to
SMTP constructs, there has been some call for using a different
term, to label the larger set of information defined here. So
far, no alternative term has developed any community support.
Direct envelope addressing information, as well as optional transfer
directives, are carried within the SMTP control channel. Other
envelope information, such as trace records, is carried within the
content header fields. Upon delivery, SMTP-level envelope
information is typically encoded within additional content header
fields, such as Return-Path.
4.1.2 Message Header Fields
Header fields are attribute/value pairs covering an extensible range
of email service, user content and user transaction meta-information.
The core set of header fields is defined in [RFC2822], [RFC0822]. It
is common to extend this set, for different applications. A complete
set of registered header fields is being developed through
[ID-hdr-reg].
One danger with placing additional information in header fields is
that Gateways often alter or delete them.
4.1.3 Body
The body of a message might simply be lines of ASCII text or it might
be structured into a composition of multi-media, body-part
attachments, using MIME [RFC2045], [RFC2046], [RFC2047], [RFC2048],
and [RFC2049]. It should be noted that MIME structures each
body-part into a recursive set of MIME header field meta-data and
MIME Content sections.
4.1.4 Identity References in a Message
For a message in transit, the core uses of identity references
combine into:
+-----------------------+-------------+---------------------+
| Layer | Field | Set By |
+-----------------------+-------------+---------------------+
| Message Body | MIME Header | Originator |
| Message header fields | From | Originator |
| | Sender | Source |
| | Reply-To | Originator |
| | To, CC, BCC | Originator |
| | Message-ID | Source |
| | Received | Source, Relay, Dest |
| | Return-Path | MDA, from MailFrom |
| | Resent-* | Mediator |
| SMTP | HELO | Latest Relay Client |
| | MailFrom | Source |
| | RcptTo | Originator |
| IP | IP Address | Latest Relay Client |
+-----------------------+-------------+---------------------+
4.2 Mail User Agent (MUA)
A Mail User Agent (MUA) works on behalf of end-users and end-user A Mail User Agent (MUA) works on behalf of end-users and end-user
applications. It is their "representative" within the email service. applications. It is their "representative" within the email service.
At the origination side of the service, the oMUA is used to create a At the origination side of the service, the oMUA is used to create a
message and perform initial "submission" into the transfer message and perform initial "submission" into the transfer
infrastructure, via a Mail Submission Agent (MSA). It may also infrastructure, via a Mail Submission Agent (MSA). It may also
perform any creation- and posting-time archival. An MUA outbox is perform any creation- and posting-time archival. An MUA outbox is
part of the origination-side MUA. part of the origination-side MUA.
The recipient-side rMUA works on behalf of the end-user recipient to The Recipient-side rMUA works on behalf of the end-user Recipient to
process received mail. This includes generating user-level return process received mail. This includes generating user-level return
control messages, display and disposition of the received message, control messages, display and disposition of the received message,
and closing or expanding the user communication loop, by initiating and closing or expanding the user communication loop, by initiating
replies and forwarding new messages. replies and forwarding new messages.
An MUA may, itself, have a distributed architecture, such as An MUA may, itself, have a distributed architecture, such as
implementing a "thin" user interface module on a limited end-user implementing a "thin" user interface module on a limited end-user
device, with the bulk of the MUA functionality operated remotely on a device, with the bulk of the MUA functionality operated remotely on a
more capable server. An example of such an architecture might use more capable server. An example of such an architecture might use
IMAP [RFC3501] for most of the interactions between an MUA client and IMAP [RFC3501] for most of the interactions between an MUA client and
an MUA server. an MUA server.
A special class of MUA performs message re-posting, as discussed in A Mediator is special class of MUA performs message re-posting, as
the <Mediator> section. discussed in Section 2.1.
Identity fields set by the MUA include: Identity fields relevant to the MUA include:
RFC2822.From RFC2822.From
Actor: Originator Set by: Originator
Names and addresses for author(s) of the message content are Names and addresses for author(s) of the message content are
listed in the From header field listed in the From field
RFC2822.Reply-To RFC2822.Reply-To
Actor: Originator Set by: Originator
If a message recipient sends a reply message that would otherwise If a message Recipient sends a reply message that would otherwise
use RFC2822.From field address(es) contained in the original use the RFC2822.From field address(es) contained in the original
message, then they are instead to use the address(es) in the message, then they are instead to use the address(es) in the
RFC2822.Reply-To field. In other words, this field is a direct RFC2822.Reply-To field. In other words, this field is a direct
override of the From field, for responses from recipients. override of the From field, for responses from Recipients.
RFC2822.Sender RFC2822.Sender
Actor: Source Set by: Source
This specifies the address responsible for submission into the This specifies the address responsible for submitting the message
transfer service. For efficiency, this field should be omitted if into the transfer service. For efficiency, this field should be
it contains the same address as RFC2822.From. However this does omitted if it contains the same address as RFC2822.From. However
not mean there is no Sender specified. Rather, it means that that this does not mean there is no Sender specified. Rather, it means
header field is virtual and that the address in the From field that that header field is virtual and that the address in the From
must be used. Specification of the error return addresses -- the field must be used. Specification of the error return addresses
"notifications" (or "bounces") address, contained in -- the "Notifications" (or "bounces") address, contained in
RFC2821.MailFrom -- is made by the RFC2822.Sender. Typically the RFC2821.MailFrom -- is made by the RFC2822.Sender. Typically the
notifications address is the same as the Sender address. However Notifications address is the same as the Sender address. However
some usage scenarios require it to be different. some usage scenarios require it to be different.
RFC2822.To, RFC2822.CC RFC2822.To, RFC2822.CC
Actor: Recipient Set by: Originator
These specify MUA recipient addresses. The distinction between To These specify MUA Recipient addresses. The addresses in the
and CC is subjective. Generally, a To addressee is considered fields might not be present in the RFC2821.RcptTo command. The
primary and is expected to take action on the message. A CC distinction between To and CC is subjective. Generally, a To
addressee typically receives a copy only for their information. 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.BCC
Actor: Recipient Set by: Originator
A message might be copied to an addressee whose participation is A message might be copied to an addressee whose participation is
not to be disclosed to the RFC2822.To or RFC2822.CC recipients. not to be disclosed to the RFC2822.To or RFC2822.CC Recipients
The BCC header field indicates a message copy to such a recipient. and, usually, not to the other BCC Recipients. The BCC header
Typically, the field lists no addresses or only lists the address field indicates a message copy to such a Recipient. Typically,
of the single recipient receiving the copy. This usually ensures the field lists no addresses or only lists the address of the
that even other BCC recipients do not know of each other. An MUA Recipient receiving this copy. An MUA will typically make
will typically make separate postings for TO and CC recipients, separate postings for TO and CC Recipients, versus BCC Recipients.
versus BCC recipients. The former will see no indication that any The former will see no indication that any BCCs were sent, whereas
BCCs were sent, whereas the latter have a BCC field present. It the latter have a BCC field present. It might be empty, contain a
might be empty, contain a comment, or contain one or more BCC comment, or contain one or more BCC addresses, depending upon the
addresses, depending upon the preferences or the Originator. preferences or the Originator.
4.1.2 Mail Submission Agent (MSA) 4.3 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 network and the oMUA and enforces the policies of the hosting AD and the requirements
requirements of Internet standards. Enforcement might be passive, of Internet standards. Enforcement might be passive, involving
involving review and approval or rejection, or it might be active, review and approval or rejection, or it might be active, involving
involving direct modification of the message. An MSA implements a direct modification of the message. An MSA implements a server
server function to MUAs and a client function to MTAs (or MDAs). function to MUAs and a client function to MTAs (or MDAs).
Examples of MSA-styled functions, in the world of paper mail, might Examples of MSA-styled functions, in the world of paper mail, might
range across the very different capabilities of administrative range across the very different capabilities of administrative
assistants, postal drop boxes, and post office front-counter assistants, postal drop boxes, and post office front-counter
employees. employees.
The MUA/MSA interface can be implemented within single host and use The MUA/MSA interface can be implemented within a single host and use
private conventions for their interactions. Historically, private conventions for its interactions. Historically,
standards-based MUA/MSA interactions have used SMTP [RFC2821]. standards-based MUA/MSA interactions have used SMTP [RFC2821].
However a recent alternative is SUBMISSION [RFC2476]. Although However a recent alternative is SUBMISSION [RFC2476]. Although
SUBMISSION derives from SMTP, it operates on a separate TCP port, and SUBMISSION derives from SMTP, it operates on a separate TCP port, and
will typically impose distinct requirements, such as access will typically impose distinct requirements, such as access
authorization. authorization.
Identities set by the MSA include: Identities relevant to the MSA include:
RFC2821.HELO or RFC2821.EHLO RFC2821.HELO or RFC2821.EHLO
Set by: Source
Actor: Source
The MSA may specify its hosting domain identity for the SMTP HELO The MSA may specify its hosting domain identity for the SMTP HELO
or EHLO command operation. or EHLO command operation.
RFC2821.MailFrom RFC2821.MailFrom
Actor: Source Set by: Source
This is an end-to-end string that specifies an email address for This is an end-to-end string that specifies an email address for
receiving return control information, such as "bounces". The name receiving return control information, such as "bounces". The name
of this field is misleading, because it is not required to specify of this field is misleading, because it is not required to specify
either the author or the agent responsible for submitting the either the author or the agent responsible for submitting the
message. Rather, the agent responsible for submission specifies message. Rather, the agent responsible for submission specifies
the RFC2821.MailFrom address. Ultimately the simple basis for the RFC2821.MailFrom address. Ultimately the simple basis for
deciding what address needs to be in the RFC2821.MailFrom is to deciding what address needs to be in the RFC2821.MailFrom is to
determine what address needs to be informed about determine what address needs to be informed about
transmission-level problems (and, possibly, successes. transmission-level problems (and, possibly, successes.)
RFC2821.Rcpt-To RFC2821.RcptTo
Actor: Recipient Set by: Originator
This specifies the MUA inbox address of a recipient. The string This specifies the MUA mailbox address of a recipient. The string
might not be visible in the message content header. For example, might not be visible in the message content header. For example,
the message destination address header fields, such as RFC2822.To, the message destination address header fields, such as RFC2822.To,
might specify a mailing list address, while the RFC2821.Rcpt-To might specify a mailing list address, while the RFC2821.RcptTo
address specifies a member of that list. address specifies a member of that list.
RFC2821.Received RFC2821.Received
Actor: Source Set by: Source
An MSA may record a Received header field, to indicate initial An MSA may record a Received header field, to indicate initial
submission trace information, including originating host and MSA submission trace information, including originating host and MSA
host domain names and/or IP Addresses. host domain names and/or IP Addresses.
4.1.3 Mail Transfer Agent (MTA) 4.4 Mail Transfer Agent (MTA)
An <MTA> relays a message to another other MTA or to an <MDA>, in a A Mail Transfer Agent (MTA) relays mail. It is like a packet-switch
point-to-point exchange. Relaying is performed by a sequence of or IP router in that its job is to make routing assessments and to
MTAs, until the message reaches its destination MDA. Hence an MTA move the message closer to the Recipient(s). Relaying is performed
implements both client and server MTA functionality. by a sequence of MTAs, until the message reaches its destination MDA.
Hence an MTA implements both client and server MTA functionality. It
does not make changes to addresses in the envelope or reformulate the
content, except as transfer-encoding requirements dictate. Also it
may add trace information.
The basic functionality of an MTA is similar to that of a packet The primary "routing" mechanism for Internet mail is the DNS MX
switch or IP router. That is, it does email store-and-forward email, record [RFC1035]. As with most network layer mechanisms Internet
with a routing decision determining where the next-hop destination mail's SMTP supports a basic level of reliability, by virtue of
shall be. The primary "routing" mechanism for Internet mail is the providing for retransmission after a temporary transfer failure.
DNS MX record [RFC1035]. As with most "link layer" mechanisms However the degree of persistence by an MTA can be highly variable.
Internet mail's SMTP supports a basic level of reliability, by virtue
of providing for retransmission after al transfer failure. However
the degree of persistence by an MTA can be highly variable.
However email objects are typically much larger than the payload of a Of course email objects are typically much larger than the payload of
packet or datagram, and the end-to-end latencies are typically much a packet or datagram, and the end-to-end latencies are typically much
higher. Contrary to typical packet switches (and Instant Messaging higher. Contrary to typical packet switches (and Instant Messaging
services) Internet mail MTAs typically store messages in a manner services) Internet mail MTAs typically store messages in a manner
that allows recovery across services interruptions, such as host that allows recovery across service interruptions, such as host
system shutdown. system shutdown.
Internet mail primarily uses SMTP [RFC2821], [RFC0821] to effect Internet mail primarily uses SMTP [RFC2821], [RFC0821] to effect
point-to-point transfers between peer MTAs. Other transfer point-to-point transfers between peer MTAs. Other transfer
mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645] mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645].
An important characteristic of MTA-MTA communications, over the open An important characteristic of MTA-MTA communications, over the open
Internet, is that they do not require prior arrangement between the Internet, is that they do not require prior arrangement between the
independent administrations operating the different MTAs. Given the independent administrations operating the different MTAs. Given the
importance of spontaneity and serendipity in the world of human importance of spontaneity and serendipity in the world of human
communications, this lack of prearrangement, between the communications, this lack of prearrangement, between the
participants, is a core benefit of Internet mail and remains a core participants, is a core benefit of Internet mail and remains a core
requirement for it. requirement for it.
Identities set by the MTA include: Identities relevant to the MTA include:
RFC2821.HELO RFC2821.HELO
Actor: Relay Set by: Relay
The MTA may specify its hosting domain identity for the SMTP HELO The MTA may specify its hosting domain identity for the SMTP HELO
or EHLO command operation. or EHLO command. This is the only standardized way of identifying
the agent responsible for operation of the Relay, during the
transfer operation.
RFC2821.Return-Path RFC2821.MailFrom
Actor: Source Set by: Source
The MDA records the RFC2821.MailFrom address into an RFC2822 This is an end-to-end string that specifies an email address for
header field named Return-Path. receiving return control Notifications, 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 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.
RFC2822.Received RFC2822.Received
Actor: Relay Set by: Relay
An MTA must record a Received header field, to indicate trace An MTA must 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 names
and/or IP Addresses. and/or IP Addresses.
4.1.4 Mail Delivery Agent (MDA) 4.5 Mail Delivery Agent (MDA)
The <MDA> delivers email to the recipient's inbox.
A Mail Delivery Agent (MDA) can provide distinctive, address-based A Mail Delivery Agent (MDA) delivers email to the Recipient's
functionality, made possible by its detailed knowledge of the mailbox. It can provide distinctive, address-based functionality,
properties of the destination address. This knowledge might also be made possible by its detailed knowledge of the properties of the
present elsewhere in the recipient's Administrative Domain, such as destination address. This knowledge might also be present elsewhere
at an organizational border gateway. However it is required for the in the Recipient's Administrative Domain, such as at an
MDA, if only because the MDA must know where to store the message. organizational border Relay. However it is required for the MDA, if
This knowledge is used to achieve differential handling of messages. only because the MDA must know where to deliver the message.
Using Internet protocols, delivery is effected with POP [RFC1939] or Using Internet protocols, delivery can be effected by a variety of
IMAP [RFC3501]. When coupled with an internal, local mechanism, SMTP standard protocols. When coupled with an internal, local mechanism,
permits "push" delivery to the recipient system, at the initative of SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the
the upstream email service. POP is used for "pull" delivery at the Recipient system, at the initiative of the upstream email service.
initiative of the recipient system. Notably, SMTP and POP effect a POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the
transfer of message control from the email service to the recipient initiative of the Recipient system. POP and IMAP can also be used
host. In contrast, IMAP provides on-going, interactive access to a for repeated access to messages on a remote MS.
message store, and does not effect a transfer of message control to
the end-user host. Instead, control stays with the message store
host that is being access by the user.
Identities set by the MDA include: Identities relevant to the MDA include:
RFC2821.HELO or RFC2821.EHLO RFC2821.Return-Path
Actor: Relay Set by: Source
The MDA may specify its hosting domain identity for the SMTP HELO The MDA records the RFC2821.MailFrom address into the
or EHLO command operation. RFC2822.Return-Path field.
RFC2822.Received RFC2822.Received
Actors: Source, Relay, Dest Set by: Destination
An MTA must record a Received header field, to indicate trace An MDA must 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 names
and/or IP Addresses. and/or IP Addresses.
4.1.5 Message Store 4.6 Message Store (MS)
An MUA's uses a long-term Message Store (MS). A rich set of choices An MUA can use a long-term Message Store (MS). A rich set of choices
for the use of that store derives from permitting more than one to be for the use of that store derives from permitting more than one to be
associated with a single user, demonstrated as MS-1 and MS-2 in the associated with a single user, demonstrated as MS-1 and MS-2 in
Figure. MS-1 is shown as being remote from the MUA and MS-2 as being Figure 5. MS-1 is shown as being remote from the MUA and MS-2 as
local. Further the relationship between two message store may vary. being local. Further the relationship between two message store may
Between the MDA and the MUA, these choices are supported by a wide vary. Between the MDA and the MUA, these choices are supported by a
variety of protocol options. wide variety of protocol options.
The operational relationship among two MSs can be: The operational relationship among two MSs can be:
Online: Only a remote MS is used, with messages being accessible Online:
only when the MUA is attached to the MS, and the MUA repeatedly
fetches all or part of a message, from one session to the next.
Offline: The MS is local to the user, and messages are moved from Only a remote MS is used, with messages being accessible only when
any remote store, rather than (also) being retained there. the MUA is attached to the MS, and the MUA repeatedly fetches all
or part of a message, from one session to the next.
Disconnected: A remote MS and a local MS synchronize all or parts of Offline:
their contents, while connected. The user may make changes while
The MS is local to the user, and messages are moved from any
remote store, rather than (also) being retained there.
Disconnected:
A remote MS and a local MS synchronize all or parts of their
contents, while connected. The user may make changes while
disconnected, and the two stores are re-synchronized upon disconnected, and the two stores are re-synchronized upon
reconnection. reconnection.
4.2 Operational Configuration 5. Mediators
Mail service components can be arranged into numerous organizational Basic email transfer is accomplished with an asynchronous
structures, each with independent software and administration. One store-and-forward communication infrastructure, in a sequence of
common arrangement is to distinguish: independent transmissions through some number of MTAs. A very
different task is a User-level sequence of postings and deliveries,
through Mediators. For such re-postings, a Mediator does share some
functionality with basic MTA relaying, but it enjoys a degree of
freedom with both addressing and content that is not available to
MTAs.
1. an open, core, global email transfer infrastructure RFC2821.HELO or RFC2821.EHLO
2. independent transfer services in networks at the edge of the core Set by: Source or Relay
3. end-user services The MSA may specify its hosting domain identity for the SMTP HELO
or EHLO command operation.
Edge networks may use proprietary email standards. However the RFC2821.MailFrom
distinction between "public" network and edge network transfer
services is primarily significant because it highlights the need for
concern over interaction and protection between independent
administrations. In particular, this distinctions calls for
additional care in assessing transitions of responsibility, as well
as the accountability and authorization relationships among
participants in email transfer.
On the other hand, real-world operations of Internet mail Set by: Source
environments do impose boundaries such as access control at
organizational firewalls to the Internet. It should be noted that
the current Internet Mail architecture offers no special constructs
for these configuration choices. The current design of Internet mail
is for a seamless, end-to-end store-and-forward sequence. It is
possible that the architectural enhancement will not require new
protocols, but rather will require clarification of best practises,
as exemplified by a recent effort [ID-spamops]
4.3 Layers of Identity References This is an end-to-end string that specifies an email address for
receiving return control Notifications, 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.)
For a message in transit, the core identity fields combine into: RFC2821.RcptTo
+-----------------------+-------------+---------------------+ Set by: Mediator
| Layer | Field | Set By |
+-----------------------+-------------+---------------------+
| Message Content | MIME Header | Originator |
| Message header fields | From | Originator |
| | Sender | Source |
| | Reply-To | Originator |
| | To, CC, BCC | Originator |
| | Received | Source, Relay, Dest |
| | Return-Path | MDA, from MailFrom |
| SMTP | HELO | Latest Relay Client |
| | MailFrom | Source |
| | RCPT-TO | Originator |
| IP | IP Address | Latest Relay Client |
+-----------------------+-------------+---------------------+
5. Message Data 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.
5.1 Envelope RFC2821.Received
Information that is directly used or produced by the email transfer Set by: Mediator
service is called the "envelope". It controls and records handling
activities by the transfer service. Internet mail has a fragmented
framework for handling this "handling" information. The envelope
exists partly in the transfer protocol SMTP [RFC2821] and partly in
the message object [RFC2822].
Direct envelope addressing information, as well as optional transfer An MSA may record a Received header field, to indicate initial
directives, are carried in-band by MTAs. All other envelope submission trace information, including originating host and MSA
information, such as trace records, is carried within the content host domain names and/or IP Addresses.
header fields. Upon delivery, SMTP-level envelope information is
typically encoded within additional content header fields, such as
Return-Path and Received (From and For).
5.2 Message Header Fields The salient aspect of a Mediator, that distinguishes it from any
other MUA creating an entirely new message, is that a Mediator
preserves the integrity and tone of the original message, including
the essential aspects of the original origination information. The
Mediator might also add commentary.
Header fields are attribute/value pairs covering an extensible range Examples of MUA message creation that are not performed by Mediators
of email service, user content and user transaction meta-information. include:
The core set of header fields is defined in [RFC2822], [RFC0822]. It
is common to extend this set, for different applications. A complete
set of registered header fields is being developed through
[ID-hdr-reg].
One danger with placing additional information in header fields is New Message Forwarding Existing Message:
that gateways often alter or delete them.
5.3 Body Curiously, this action provides a basic template for a class of
Mediators. However by itself, it's typical occurrence is not, in
fact, an example of a Mediator. The new message is viewed as
being from the Agent doing the forwarding, rather than being from
the original Originator.
The body of a message might simply be lines of ASCII text or it might A new message encapsulates the original message and is seen as
be structured into a composition of multi-media, body-part strictly "from" the Mediator. The Mediator might add commentary
attachments, using MIME [RFC2045], [RFC2046], [RFC2047], [RFC2048], and certainly has the opportunity to modify the original message
and [RFC2049]. It should be noted that MIME structures each content. The forwarded message is therefore independent of the
body-part into a recursive set of MIME header field meta-data and original message exchange and creates a new message dialogue.
MIME Content sections. However the final Recipient sees the contained message as from the
original Originator.
6. Two Levels of Store-And-Forward Reply:
Basic email transfer is accomplished with an asynchronous When a Recipient formulates a response to a message, the new
store-and-forward communication infrastructure. This means that message is not typically viewed as being a "forwarding" of the
moving a message from an originator to a recipient involves a original. It's focus is the new content; any inclusion of
sequence of independent transmissions through some number of material from the original message is contextual and secondary.
intermediaries, called MTAs. A very different task is the user-level
process of re-posting a message through a new submission process,
after final delivery for an earlier transfer sequence. Such
MUA-based re-posting shares some functionality with basic MTA
relaying, but it enjoys a degree of freedom with both addressing and
content that is not available to MTAs.
The primary "routing" mechanism for Internet mail is the DNS MX Annotator:
record [RFC1035]. It is an advertisement, by a recipient domain, of
hosts that are able to relay mail to it, within the portion of the
Internet served by this instance of the DNS.
6.1 MTA Relaying The integrity of the original message is usually preserved, but
one or more comments about the message are added in a manner that
distinguishes commentary from original text. The tone of the new
message is that it is primarily commentary from a new Originator,
similar to a Reply.
MTAs relay mail. They are like packet-switches and IP routers. The remainder of this section describes common examples of Mediators.
Their job is to make routing assessments and to move the message
payload data closer to the recipient. It is not their job to
reformulate the payload or to change addresses in the envelope or the
content.
6.2 MUA Forwarding 5.1 Aliasing
As discussed in <Mediator> section, forwarding is performed by MUAs A simple re-addressing facility that is available in most MDA
that take a received message and submit it back to the transfer implementations is called Aliasing. It is performed just before
service, for delivery to one or more different addresses. A delivering a message to the specified Recipient's mailbox. Instead,
forwarded message may appear identical to a relayed message, such as the message is submitted back to the transfer service, for delivery
for Alias forwarders, or it may have minimal similarity, as with a to one or more alternate addresses. Although implemented as part of
Reply. the message delivery service, this facility is strictly a Recipient
user function. It resubmits the message, replacing the envelope
address, on behalf of the mailbox address that was listed in the
envelope.
6.2.1 MUA Basic Forwarding What is most distinctive about this forwarding mechanism is how
closely it compares to normal MTA store-and-forward Relaying. In
reality its only interesting difference is that it changes the
RFC2821.RcptTo value.
The simplest type of forwarding involves creating an entirely new An MDA that is re-posting a message to an alias typically changes
message, with new content, that includes the original message between only envelope information:
Originator-1 and Recipient-1. However this forwarded communication
is between Recipient-1 (who could also be called Originator-2) and a
new recipient, Recipient-2. The forwarded message is therefore
independent of the original message exchange and creates a new
message dialogue.
6.2.2 MUA Re-Sending RFC2822.TO, RFC2822.CC, RFC2822.BCC
A recipient may wish to declare that an alternate addressee should Set by: Originator
take on responsibility for a message, or otherwise become involved in
the original communication. They do this through a user-level These retain their original addresses.
forwarding function, called re-sending. The act of re-sending, or
re-directing, splices a communication between Originator-1 and RFC2821.RcptTo
Recipient-1, to become a communication between Originator-1 and new
Recipient-2. In this case, the content of the new message is the old Set by: Mediator
message, including preservation of the essential aspects of the
original message's origination information. This field contains an alias address.
RFC2821.MailFrom
Set by: Mediator or original Source
The agent responsible for submission to an alias address will
often retain the original address to receive handling
Notifications. 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
Set by: Mediator
The agent should record Received information, to indicate the
delivery to the original address and submission to the alias
address. The trace of Received header fields should therefore
include everything from original posting through final delivery to
the alias.
5.2 ReSending
Also called ReDirecting, ReSending differs from Forwarding by virtue
of having the Mediator "splice" a message's addressing information,
to connect the Originator of the original message and the Recipient
of the new message. This permits them to have direct exchange, using
their normal MUA Reply functions. Hence the new Recipient sees the
message as being From the original Originator, even if the Mediator
adds commentary.
Identities specified in a resent message include Identities specified in a resent message include
RFC2822.From RFC2822.From
Actor: 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. The free-form (display-name) message content are retained. The free-form (display-name)
portion of the address might be modified to provide informal portion of the address might be modified to provide informal
reference to the agent responsible for the redirection. reference to the agent responsible for the redirection.
RFC2822.Reply-To RFC2822.Reply-To
Actor: Originator Set by: original Originator
If this field is present in the original message, it should be If this field is present in the original message, it is retained
retained in the Re-sent message. in the Resent message.
RFC2822.Sender RFC2822.Sender
Actor: Source Set by: original Source
This field is expected to contain the original Sender value. This field is expected to contain the original Sender value.
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
Actor: Recipient Set by: original Originator
These specify the original message recipients.
These specify the original message Recipients.
RFC2822.Resent-From RFC2822.Resent-From
Actor: Mediating Originator Set by: Mediator
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 message. Otherwise, the same rules apply for the Resent-From
field as for an original RFC2822.From field field as for an original RFC2822.From field
RFC2822.Resent-Sender RFC2822.Resent-Sender
Set by: Mediator
Actor: Mediating 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 should be omitted if it message. For efficiency this field is often omitted if it
contains the same address as RFC2822.Resent-From. However this contains the same address as RFC2822.Resent-From. However this
does not mean there is no Resend-Sender specified. Rather, it does not mean there is no Resend-Sender specified. Rather, it
means that that header field is virtual and that the address in means that that header field is virtual and that the address in
the Resent-From field must be used. Specification of the error the Resent-From field must be used. Specification of the error
return addresses (the "bounces" address, contained in return addresses (the Notification address, contained in
RFC2821.MailFrom) is made by the Resent-Sender. Typically the RFC2821.MailFrom) is made by the Resent-Sender. Typically the
bounce address is the same as the Resent-Sender address. However Notifications address is the same as the Resent-Sender address.
some usage scenarios require it to be different. However some usage scenarios require it to be different.
RFC2822.Resent-To, RFC2822.Resent-cc, RFC2822.Resent-bcc: Actor: RFC2822.Resent-To, RFC2822.Resent-cc, RFC2822.Resent-bcc:
Recipient
The addresses of the new recipients who will now be able to reply Set by: Mediator
The addresses of the new Recipients who will now be able to reply
to the original author. to the original author.
RFC2821.MailFrom RFC2821.MailFrom
Actor: Mediating Source Set by: Mediator
The agent responsible for re-submission (RFC2822.Resent-Sender) is The agent responsible for re-submission (RFC2822.Resent-Sender) is
also responsible for specifying the new RFC2821.MailFrom address. also responsible for specifying the new MailFrom address.
RFC2821.Rcpt-to RFC2821.RcptTo
Actor: Recipient Set by: Mediator
This will contain the address of a new recipient This will contain the address of a new Recipient
RFC2822.Received RFC2822.Received
Actor: Mediating Source
When re-sending a message, the submission agent may record a Set by: Mediator
When resending a message, the submission agent may 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.
6.2.3 MUA Reply 5.3 Mailing Lists
When a recipient formulates a response to a message, the new message
is not typically viewed as being a "forwarding" of the original.
6.2.4 MUA Gateways
Gateways perform the basic routing and transfer work of message
relaying, but they also make any message or address modifications
that are needed to send the message into the next messaging
environment. When a gateway connects two differing messaging
services, its role is easy to identify and understand. When it
connects environments that have technical similarity, but may have
significant administrative differences, it is easy to think that a
gateway is merely an MTA. The critical distinguish between an MTA
and a gateway is that the latter modifies addresses and/or message
content.
A gateway may set any identity field available to a regular MUA.
Identities typically set by gateways include:
RFC2822.From
Actor: Originator
Names and email addresses for the original author(s) of the
message content are retained. As for all original addressing
information in the message, the gateway may translate addresses in
whatever way will allow them continue to be useful in the target
environment.
RFC2822.Reply-To
Actor: Originator
The gateway should retain this information, if it is originally
present. The ability to perform a successful reply by a gatewayed
recipient is a typical test of gateway functionality.
RFC2822.Sender
Actor: Source
This may retain the original value or may be set to a new address
RFC2822.TO, RFC2822.CC, RFC2822.BCC
Actor: Recipient
These usually retain their original addresses.
RFC2821.MailFrom
Actor: Source
The agent responsible for gatewaying the message may choose to
specify a new address to receive handling notices.
RFC2822.Receive
Actors - Source, Relay, Dest
The gateway may record a Received header field, to indicate the
transition from original posting to the new messaging environment.
6.2.5 MUA Alias Handling
A simple re-addressing facility that is available in most MDA
implementations is called Aliasing. It is performed just before
placing a message into the specified recipient's inbox. Instead, the
message is submitted back to the transfer service, for delivery to
one or more alternate addresses. Although implemented as part of the
message delivery service, this facility is strictly a recipient user
function. In effect it resubmits the message to a new address, on
behalf of the listed recipient.
What is most distinctive about this forwarding mechanism is how
closely it compares to normal MTA store-and-forward. In reality its
only interesting difference is that it changes the RFC2821.RCPT-TO
value. Notably it does not typically change the RFC2821.Mailfrom
An MDA that is re-posting a message to an alias typically changes
only envelope information:
RFC2822.TO, RFC2822.CC, RFC2822.BCC
Actor: Recipient
These retain their original addresses.
RFC2821.Rcpt-To
Actor: Recipient
This field contains an alias address.
RFC2821.MailFrom
Actor: Mediating Source
The agent responsible for submission to an alias address will
usually retain the original address to receive handling
notifications. The benefit of retaining the original MailFrom
value is to ensure that the origination-side agent knows of 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
Actor: Mediating Recipient
The agent should record Received information, to indicate the
delivery to the original address and submission to the alias
address. The trace of Received header fields should include
everything from original posting through final delivery to the
alias.
6.2.6 MUA Mailing Lists
Mailing lists have explicit email addresses and they forward messages Mailing lists have explicit email addresses and they forward messages
to a list of subscribed members. Mailing list processing is a to a list of subscribed members. The Mailing List Actor performs a
user-level activity, outside of the core email transfer service. The task that can be viewed as an elaboration of the ReDirector role. In
mailing list address is, therefore, associated with a distinct addition to sending the new message to a potentially large number of
user-level entity that can perform arbitrary actions upon the new Recipients, the Mediator can modify content, such as deleting
original message, before submitting it to the mailing list attachments, formatting conversion, and adding list-specific
membership. Hence, mailing lists are similar to gateways. comments. In addition, archiving list messages is common. Still,
the message retains characteristics of being "from" the original
Originator.
Identities set by 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
Actor: Mediating Originator Set by: Mediator
This provides a global mailing list naming framework that is This provides a global mailing list naming framework that is
independent of particular hosts. Although [RFC2919] is a independent of particular hosts. Although [RFC2919] is a
standards-track specification, it has not gained significant standards-track specification, it has not gained significant
adoption. adoption.
RFC2369.List-* RFC2369.List-*
Actor: Mediating Recipient Set by: Mediator
[RFC2369] defines a collection of message header fields for use by [RFC2369] defines a collection of message header fields for use by
mailing lists. In effect, they supply list-specific parameters mailing lists. In effect, they supply list-specific parameters
for common mailing list user operations. The identifiers for for common mailing list user operations. The identifiers for
these operations are for the list, itself, and the these operations are for the list, itself, and the
user-as-subscriber. user-as-subscriber.
RFC2822.From RFC2822.From
Actor: 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 specified. message content are specified.
RFC2822.Reply-To RFC2822.Reply-To
Actor: Originator Set by: original Originator or Mediator
Mailing lists have introduced an ambiguity for the Reply-To field. Mailing lists have introduced an ambiguity for the Reply-To field.
Some List operations choose to force all replies to go to all list Some List operations choose to force all replies to go to all list
members. They achieve this by placing the list address into the members. They achieve this by placing the list address into the
RFC2822.Reply-To field. Hence, direct, "private" replies only to RFC2822.Reply-To field. Hence, direct, "private" replies only to
the original author cannot be achieved by using the MUA's typical the original author cannot be achieved by using the MUA's typical
"reply to author" function. If the author created a Reply-To "reply to author" function. If the author created a Reply-To
field, its information is lost. field, its information is lost.
RFC2822.Sender RFC2822.Sender
Actor: Source Set by: original Source or Mediator
This will usually specify the address of the agent responsible for This will usually specify the address of the agent responsible for
mailing list operations. However, some mailing lists operate in a mailing list operations. However, some mailing lists operate in a
manner very similar to a simple MTA relay, so that they preserve manner very similar to a simple MTA Relay, so that they preserve
as much of the original handling information as possible, as much of the original handling information as possible,
including the original RFC2822.Sender field. including the original RFC2822.Sender field.
RFC2822.TO, RFC2822.CC RFC2822.TO, RFC2822.CC
Actor: Mediating Recipient Set by: original Originator
These will usually contain the original list of recipient These will usually contain the original list of Recipient
addresses. addresses.
RFC2821.MailFrom RFC2821.MailFrom
Actor: Mediating Source Set by: original Source or Mediator
This may contain the original address to be notified of This may contain the original address to be notified of
transmission issues, or the mailing list agent may set it to transmission issues, or the mailing list agent may set it to
contain a new notification address. Typically, the value is set contain a new Notification address. Typically, the value is set
to a new address, so that mailing list members and posters are not to a new address, so that mailing list members and posters are not
burdened with transmission-related notifications. burdened with transmission-related Notifications.
RFC2821.Rcpt-To RFC2821.RcptTo
Actor: Recipient Set by: Mediator
This contains the address of a mailing list member. This contains the address of a mailing list member.
RFC2821.Received RFC2821.Received
Actor: Mediating Recipient Set by: Mediator
An Mailing List Agent should record a Received header field, to An Mailing List Agent should 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 may choose to have the message retain the forwarding. The Agent may choose to have the message retain the
original set of Received header fields or may choose to remove original set of Received header fields or may choose to remove
them. In the latter case, it should ensure that the original them. In the latter case, it should ensure that the original
Received header fields are otherwise available, to ensure later Received header fields are otherwise available, to ensure later
accountability and diagnostic access to it. accountability and diagnostic access to it.
7. Security Considerations 5.4 Gateways
Gateways perform the basic routing and transfer work of message
relaying, but they also make any message or address modifications
that are needed to send the message into the next messaging
environment. When a Gateway connects two differing messaging
services, its role is easy to identify and understand. When it
connects environments that have technical similarity, but may have
significant administrative differences, it is easy to think that a
Gateway is merely an MTA. The critical distinction between an MTA
and a Gateway is that the latter transforms addresses and/or message
content, in order to map between the standards of two, different
messaging services. In 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 may set any identity field available to a regular MUA.
Identities typically relevant to Gateways include:
RFC2822.From
Set by: original Originator
Names and email addresses for the original author(s) of the
message content are retained. As for all original addressing
information in the message, the Gateway may translate addresses in
whatever way will allow them continue to be useful in the target
environment.
RFC2822.Reply-To
Set by: original Originator
The Gateway should retain this information, if it is originally
present. The ability to perform a successful reply by a Gatewayed
Recipient is a typical test of Gateway functionality.
RFC2822.Sender
Set by: original Source or Mediator
This may retain the original value or may be set to a new address
RFC2822.TO, RFC2822.CC, RFC2822.BCC
Set by: original Recipient
These usually retain their original addresses.
RFC2821.MailFrom
Set by: original Source or Mediator
The agent responsible for gatewaying the message may choose to
specify a new address to receive handling notices.
RFC2822.Received
Set by: Mediator
The Gateway may record a Received header field, to indicate the
transition from original posting to the new messaging environment.
5.5 Security Filter
Organizations often enforce security boundaries by having message
subjected to analysis for conformance with the organization's safety
policies. Examples are detection of content classed as spam or a
virus. A Security Filter might alter the content, to render it safe,
such as by removing content deemed unacceptable. Typically these
actions will result in the addition of content that records the
actions.
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 should introduce no new security considerations. Consequently it should introduce no new security 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 considerations that must be highlights the considerable security considerations that must be
present when implementing any component of the Internet mail service. present when implementing any component of the Internet mail service.
8 References 7. References
7.1 References - Normative
[ID-hdr-reg] [ID-hdr-reg]
"Registration of mail and MIME header fields", "Registration of mail and MIME header fields",
draft-klyne-hdrreg-mail-04.txt (work in progress), Apr draft-klyne-hdrreg-mail-04.txt (work in progress), Apr
2004. 2004.
[ID-spamops]
Hutzler, C., Crocker, D., Resnick, P., Sanderson, R. and
E. Allman, "Email Submission Between Independent
Networks", draft-spamops-00 (work in progress), March
2004.
[RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC
821, August 1982. 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.
[RFC1035] Mockapetris, P., "Domain names - implementation and [RFC1035] Mockapetris, P., "Domain names - implementation and
skipping to change at page 32, line 34 skipping to change at page 36, line 19
Sub-type Registration", RFC 2423, September 1998. 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 [RFC2476] Gellens, R. and J. Klensin, "Message Submission", RFC
2476, December 1998. 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 2465, August 1999.
[RFC2782] Gulbrandsen, A., Vixie, P. and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782,
February 2000.
[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, April [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, April
2001. 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", RFC [RFC3028] Showalter, T., "Sieve: A Mail Filtering Language", RFC
3028, January 2001. 3028, January 2001.
[RFC3297] Klyne, G., Iwazaki, R. and D. Crocker, "Content
Negotiation for Messaging Services based on Email", RFC
3297, July 2002.
[RFC3458] Burger, E., Candell, E., Eliot, C. and G. Klyne, "Message
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)", RFC Extension for Delivery Status Notifications (DSNs)", RFC
3461, January 2003. 3461, January 2003.
[RFC3501] Crispin, M., "Internet Message Access Protocol - Version [RFC3501] Crispin, M., "Internet Message Access Protocol - Version
4rev1", RFC 3501, March 2003. 4rev1", RFC 3501, March 2003.
7.2 Reference - Descriptive
[ID-ffpim]
Crocker, D. and G. Klyne, "Full-mode Fax Profile for
Internet Mail: FFPIM", March 2004.
[ID-spamops]
Hutzler, C., Crocker, D., Resnick, P., Sanderson, R. and
E. Allman, "Email Submission Between Independent
Networks", draft-spamops-00 (work in progress), March
2004.
[RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", RFC
1767, March 1995.
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
EMail: dcrocker@bbiw.net EMail: dcrocker@bbiw.net
Appendix A. Acknowledgements Appendix A. Acknowledgements
The Email Architecture section derives from draft-hutzler-spamops This work derives from a section in draft-hutzler-spamops
[ID-spamops]. The text has been further elaborated. [ID-spamops]. Discussion of the Source actor role was greatly
clarified during discussions in the IETF's Marid working group.
Discussion of the Source actor role was greatly 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 early drafts. Additional insight on the framework and details of early drafts.
review and suggestions were provided by Nathaniel Borenstein, Ed
Bradford, Cyrus Daboo, Tony Finch, Ned Freed, Eric Hall, Bruce Lilly, Additional review and suggestions were provided by Nathaniel
Eric Hall, Chris Newman, Jochen Topf. Borenstein, Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch,
Ned Freed, Eric Hall, Bruce Lilly, Mark E. Mallett, Chris Newman,
Daryl Odnert, Rahmat M. Samik-Ibrahim, Hector Santos, Jochen Topf,
Willemien.
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
 End of changes. 221 change blocks. 
780 lines changed or deleted 974 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/