< draft-crocker-email-arch-04.txt   draft-crocker-email-arch-05.txt >
©À
SMTP D. Crocker SMTP D. Crocker
Internet-Draft Brandenburg InternetWorking Internet-Draft Brandenburg InternetWorking
Expires: September 29, 2005 March 28, 2005 Intended status: Standards Track October 22, 2006
Expires: April 25, 2007
Internet Mail Architecture Internet Mail Architecture
draft-crocker-email-arch-04 draft-crocker-email-arch-05
Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all provisions By submitting this Internet-Draft, each author represents that any
of Section 3 of RFC 3667. By submitting this Internet-Draft, each applicable patent or other IPR claims of which he or she is aware
author represents that any applicable patent or other IPR claims of have been or will be disclosed, and any of which he or she becomes
which he or she is aware have been or will be disclosed, and any of aware will be disclosed, in accordance with Section 6 of BCP 79.
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 29, 2005. This Internet-Draft will expire on April 25, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
Abstract Abstract
Over its thirty-four year history, Internet Mail has undergone Over its thirty-five year history Internet Mail has undergone
significant changes in scale and complexity, as it has become a significant changes in scale and complexity, as it has become a
global infrastructure service. The first standardized architecture global infrastructure service. The first standardized architecture
for email specified a simple split between the user world, in the for networked email specified a simple split between the user world,
form of Mail User Agents (MUA), and the transmission world, in the in the form of Mail User Agents (MUA), and the transmission world, in
form of the Mail Handling Service (MHS) composed of Mail Transfer the form of the Mail Handling Service (MHS) composed of Mail Transfer
Agents (MTA). Core aspects of the service, such as address and Agents (MTA). Core aspects of the service, such as mailbox address
message style, have remained remarkably constant. Today, Internet and basic message format style, have remained remarkably constant.
Mail is marked by many independent operators, many different
components for providing users service and many others for performing However today Internet Mail is marked by many independent operators,
message transfer. Public discussion of the architecture has not kept many different components for providing users service and many others
pace with the real-world technical and operational refinements. This for performing message transfer. Public discussion of the
document offers an enhanced Internet Mail architecture to reflect the architecture has not kept pace with the real-world technical and
current service. operational refinements. This document offers an enhanced Internet
Mail architecture to reflect the current service.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Service Overview . . . . . . . . . . . . . . . . . . . . . 4 1.1. Service Overview . . . . . . . . . . . . . . . . . . . . . 4
1.2 Discussion venue . . . . . . . . . . . . . . . . . . . . . 5 1.2. Field Referencing Convention . . . . . . . . . . . . . . . 5
1.3 Changes . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Document terminology and conventions . . . . . . . . . . . 5
1.4. Discussion venue . . . . . . . . . . . . . . . . . . . . . 6
1.5. Changes . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 6 2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 6
2.1 User Actors . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 MHS Actors . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2. MHS Actors . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Administrative Actors . . . . . . . . . . . . . . . . . . 11 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 12
3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Mailbox Addresses . . . . . . . . . . . . . . . . . . . . 13 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Domain Names . . . . . . . . . . . . . . . . . . . . . . . 14 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Message Identifiers . . . . . . . . . . . . . . . . . . . 15 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 16
3.4 Identity Referencing Convention . . . . . . . . . . . . . 15 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 17
4. Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 20
4.1 Message . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 22
4.2 Mail User Agent (MUA) . . . . . . . . . . . . . . . . . . 20 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 25
4.3 Mail Submission Agent (MSA) . . . . . . . . . . . . . . . 22 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4 Mail Transfer Agent (MTA) . . . . . . . . . . . . . . . . 23 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.5 Mail Delivery Agent (MDA) . . . . . . . . . . . . . . . . 25 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 32
4.6 Message Store (MS) . . . . . . . . . . . . . . . . . . . . 26 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 34
5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 38
5.2 ReSending . . . . . . . . . . . . . . . . . . . . . . . . 30 6. Security Considerations . . . . . . . . . . . . . . . . . . . 38
5.3 Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 31 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.4 Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 34 7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 Boundary Filter . . . . . . . . . . . . . . . . . . . . . 35 7.2. Descriptive . . . . . . . . . . . . . . . . . . . . . . . 40
6. Security Considerations . . . . . . . . . . . . . . . . . . . 35 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 41
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.1 References - Normative . . . . . . . . . . . . . . . . . . 35 Intellectual Property and Copyright Statements . . . . . . . . . . 42
7.2 Reference - Descriptive . . . . . . . . . . . . . . . . . 38
Author's Address . . . . . . . . . . . . . . . . . . . . . . . 38
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 38
Intellectual Property and Copyright Statements . . . . . . . . 39
1. Introduction 1. Introduction
Over its thirty-four year history, Internet Mail has undergone Over its thirty-five year history Internet Mail has undergone
significant changes in scale and complexity, as it has become a significant changes in scale and complexity, as it has become a
global infrastructure service. global infrastructure service. However the changes have been
evolutionary, rather than revolutionary, reflecting a strong desire
to preserve its installed base of users and utility.
The first standardized architecture for email specified a simple The first standardized architecture for networked email specified a
split between the user world, in the form of Mail User Agents (MUA), simple split between the user world, in the form of Mail User Agents
and the transmission world, in the form of the Mail Handling Service (MUA), and the transmission world, in the form of the Mail Handling
(MHS) composed of Mail Transfer Agents (MTA). The MHS is responsible Service (MHS) composed of Mail Transfer Agents (MTA). The MHS is
for accepting a message from one User and delivering it to one or responsible for accepting a message from one User and delivering it
more others. to one or more others, creating a virtual MUA-to-MUA exchange
environment.
+--------+ +--------+
+---------------->| User | +---------------->| User |
| +--------+ | +--------+
| . | ^
+--------+ | +--------+ . +--------+ | +--------+ .
| User +--+--------->| User | . | User +--+--------->| User | .
+--------+ | +--------+ . +--------+ | +--------+ .
. | . . . | ^ .
. | +--------+ . . . | +--------+ . .
. +-->| User | . . . +-->| User | . .
. +--------+ . . . +--------+ . .
. ^ . .
. . . . . . . .
. . . . V . . .
. . . . +---+----------------+------+------+---+
+--------------------------------------+ | . . . . |
| +...............>+ . . |
| . . . |
| +......................>+ . |
| . . |
| +.............................>+ |
| |
| Mail Handling Service (MHS) | | Mail Handling Service (MHS) |
+--------------------------------------+ +--------------------------------------+
Figure 1: Basic Internet Mail Service Model Figure 1: Basic Internet Mail Service Model
Today, Internet Mail is marked by many independent operators, many Today Internet Mail is marked by many independent operators, many
different components for providing users service and many other different components for providing users service and many other
components for performing message transfer. So it is not surprising components for performing message transfer. So it is not surprising
that the operational service has sub-divided each of these "layers" that the operational service has sub-divided each of these "layers"
into more specialized modules. Core aspects of the service, such as into more specialized modules. Core aspects of the service, such as
address and message style, have remained remarkably constant. mailbox address and message style, have remained remarkably constant.
However public discussion of the architecture has not kept pace with However public discussion of the architecture has not kept pace with
the real-world refinements. This document offers an enhanced the real-world refinements. This document offers an enhanced
Internet Mail architecture to reflect the current service. The Internet Mail architecture to reflect the current service. The
original distinction between user-level concerns and transfer-level original distinction between user-level concerns and transfer-level
concerns is retained, and the elaboration to each "level" of the concerns is retained, with an elaboration to each "level" of the
architecture is discussed separately. The term "Internet Mail" is architecture that is discussed separately. The term "Internet Mail"
used to refer to the entire collection of user and transfer is used to refer to the entire collection of user and transfer
components. components.
For Internet Mail, the term "end-to-end" usually refers to a single For Internet Mail the term "end-to-end" usually refers to a single
posting and the set of deliveries directly resulting from its single posting and the set of deliveries directly resulting from its single
transiting of the MHS. However, note that some uses of email transiting of the MHS. A common exception is with group dialogue
consider the entire email service -- including Originator and that is mediated via a mailing list, so that two postings occur,
Recipient -- as a subordinate component. For these services, "end- before intended recipients receive an originator's message. In fact,
to-end" refers to points outside of the email service. Examples are some uses of email consider the entire email service -- including
voicemail over email [RFC2423], EDI over email [RFC1767], and Originator and Recipient -- as a subordinate component. For these
facsimile over email.[ID-ffpim] services "end-to-end" refers to points outside of the email service.
Examples 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:
o Document refinements to the email model o Document refinements to the email model
o Clarify functional roles for the architectural components o Clarify functional roles for the architectural components
o Clarify identity-related issues, across the email service o Clarify identity-related issues, across the email service
o Provide a document that serves as a common venue for further o Provide a document that serves as a common venue for further
defining and citing modern Internet Mail architecture defining and citing modern Internet Mail architecture
NOTE: NOTE:
Any attempt to provide a retroactive description, for a service Any attempt to provide a retroactive description, for a service
that evolved so extensively, is certain to claim definitions and that has evolved so extensively, is certain to claim definitions
relationships that do not match the equally reasonable views of and relationships that do not match the equally reasonable views
some portion of the technical community. Ultimately, the of some portion of the technical community. Ultimately the
"correct" choices are determined solely by the willingness of that "correct" choices are determined solely by the willingness of that
community to use the descriptions. community to use the descriptions.
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:
o An email object o An email object
o Global addressing o Global addressing
o An asynchronous sequence of point-to-point transfer mechanisms o An asynchronous sequence of point-to-point transfer mechanisms
skipping to change at page 5, line 9 skipping to change at page 5, line 23
o 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
o No requirement for Originator and Recipient to be online at the o No requirement for Originator and Recipient to be online at the
same time. same time.
The end-to-end portion of the service is the email object, called a The end-to-end portion of the service is the email object, called a
message. Broadly the message, itself, is divided between handling message. Broadly the message, itself, is divided between handling
control information and user message content. control information and user message content.
A precept to the design of Internet Mail is permitting user-to-user A precept to the design of mail over the open Internet is permitting
and MTA-to-MTA interoperability with no prior, direct administrative user-to-user and MTA-to-MTA interoperability to take place with no
arrangement. That is, all participants rely on having the core prior direct administrative arrangement between independent
services be universally supported, either directly or through Administrative Management Domains. That is, all participants rely on
Gateways that translate between Internet Mail standards and other having the core services be universally supported, either directly or
email conventions. through Gateways that translate between Internet Mail standards and
other email environments.
For localized environments (Edge networks) prior, administrative Within 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 a server performs explicit
validation of the client's identity. validation of the client's identity.
1.2 Discussion venue 1.2. Field Referencing Convention
Discussion about this document should be directed to the IETF-SMTP In this document, references to structured fields of a message use a
mailing list <http://www.imc.org/ietf-smtp>. It is the most active, two-part dotted notation. The first part cites the document that
long-standing venue for discussing email architecture. Although it contains the specification for the field and the second is the name
is primarily for discussing only the SMTP protocol, it is recommended of the field. Hence <RFC2822.From> is the From field in an email
that discussion of this draft take place on that mailing list because content header and <RFC2821.MailFrom> is the address in the SMTP
it attends to end-to-end infrastructure and architecture issues more "Mail From" command.
than other email-related mailing lists.
1.3 Changes 1.3. Document terminology and conventions
This is intended to be the last major revision, prior to seeking The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
publication. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as specified in RFC 2119 [RFC2119].
Significant changes to this version: 1.4. Discussion venue
Administrative Unit: Changed from Administrative Domain to Please direct discussion about this document to the IETF-SMTP mailing
Administrative Unit, to remove possible confusion with "domain list <http://www.imc.org/ietf-smtp>.
name". Added Tussle reference
Sieve: Noted ability to have other places to run sieve 1.5. Changes
instructions.
Word Smithing: Assorted small tweaks to definitions, diagrams and o Small modifications to figures
comments.
Notices, Bounces and Disp: Added Bounce module to Services diagram, o Settled on term "ADministrative Management Domain (ADMD) to refer
to make clear that MHS return messages can go to an independent to independent operational environments. A bit of an homage to
address. Dotted link to MSA shows responsibility for setting X.400...
Notices address. Changed "Notification" to "Bounce", to use more
popular term and to avoid confusion with MDN notices. Added Disp o Various clarifications and wordsmithing.
module to Services, to distinguish DSN traffic from MDN.
2. Email Actor Roles 2. Email Actor Roles
Internet Mail is a highly distributed service, with a variety of Internet Mail is a highly distributed service, with a variety of
actors serving different roles. These divide into: actors serving different roles. These divide into 3 basic types:
o User o User
o Mail Handling Service (MHS) o Mail Handling Service (MHS)
o Administrative Unit o ADministrative Management Domain (ADMD)
Although related to a technical architecture, the focus on Actors Although related to a technical architecture, the focus on Actors
concerns participant responsibilities, rather than on functional concerns participant responsibilities, rather than on functional
modules. Hence the labels used are different than for classic email modules. Hence the labels used are different than for classic email
architecture diagrams. Actors often will be associated with architecture diagrams. Actors often will be associated with
different organizations. This operational independence provides the different organizations. This operational independence provides the
motivation for distinguishing Administrative Units. motivation for distinguishing among different ADMDs.
2.1 User Actors 2.1. User Actors
Users are the sources and sinks of messages. They may be humans or Users are the sources and sinks of messages. They can be humans or
processes. They may have an exchange that iterates and they may processes. They can have an exchange that iterates and they can
expand or contract the set of Users participating in a set of expand or contract the set of Users participating in a set of
exchanges. In Internet Mail there are three types of user-level exchanges. In Internet Mail there are three types of user-level
Actors: Actors:
o Originators o Originators
o Recipients o Recipients
o Mediators o Mediators
From the User-level perspective all mail transfer activities are From the User-level perspective all mail transfer activities are
performed by a monolithic Mail Handling Service (MHS), even though performed by a monolithic Mail Handling Service (MHS), even though
the actual service may be provided by many independent organizations. the actual service can be provided by many independent organizations.
Users are customers of this service. Users are customers of this unified service.
The following depicts the flow of messages among Actors. The following depicts the flow of messages among Actors.
+------------+ +------------+
| Originator |<--------------+ | |<---------------------------+
+-+---+----+-+ | | Originator |<----------------+ |
| | | | | |<----+ | |
| | V | +-+---+----+-+ | | |
| | +-----------+ | | | | | | |
| | | Recipient | | | | V | | |
| | +-----------+ | | | +---------+-+ | |
| | | | | | Recipient | | |
| | +----------+ | | | +-----------+ | |
| | | | | | | | |
| V V | | | | +--------+ | |
| +-----------+ +---+---+---+ | | | | | |
| | Mediator +--->| Recipient | | V V | | |
| +-----------+ +-----------+ | +-----------+ +-+-------+-+ |
| | | Mediator +--->| Recipient | |
V | +-----------+ +-----------+ |
+-----------+ +-----------+ +-----------+ | |
| +-----------------------------+ |
| | +----------+ | |
| | | | | |
V V V | | |
+-----------+ +-----------+ +---+-+-+---+
| Mediator +--->| Mediator +--->| Recipient | | Mediator +--->| Mediator +--->| Recipient |
+-----------+ +-----------+ +-----------+ +-----------+ +-----------+ +-----------+
Figure 2: Relationships Among User Actors Figure 2: Relationships Among User Actors
2.1.1 Originator 2.1.1. Originator
Also called "Author", this is the user-level participant responsible Also called "Author", this is the user-level participant responsible
for creating original content and requesting its transmission. The for creating original content and requesting its transmission. The
MHS operates to send and deliver mail among Originators and MHS operates to send and deliver mail among Originators and
Recipients. As described below, the MHS has a "Source" role, that Recipients. As described below, the MHS has a "Source" role that
correlates with the Author role. correlates with the Author role.
2.1.2 Recipient 2.1.2. Recipient
The Recipient is a consumer of delivered content. As described The Recipient is a consumer of delivered content. As described
below, the MHS has a "Dest" role, that correlates with the Recipient below, the MHS has a "Dest[ination]" role that correlates with the
role. Recipient role.
A Recipient may close the user-level communication loop by creating A Recipient can close the user-level communication loop by creating
and submitting a new message that replies to an Originator. An and submitting a new message that replies to an Originator. An
example of an automated form of reply is the Message Disposition example of an automated form of reply is the Message Disposition
Notification, which informs the Originator about the Recipient's Notification, which informs the Originator about how the Recipient
disposition of the message. See Section 4.1. handled the message. See Section 4.1.
2.1.3 Mediator 2.1.3. Mediator
A Mediator receives, aggregates, reformulates and redistributes A Mediator receives, aggregates, reformulates and redistributes
messages as part of a potentially-protracted, higher-level exchange messages as part of a potentially-protracted, higher-level exchange
among Users. Example uses of Mediators include group dialogue and among Users. Example uses of Mediators include group dialogue and
organizational message flow, as occurs with a purchase approval organizational message flow, as occurs with a purchase approval
process. Note that it is easy to confuse this user-level activity process. Note that it is easy to confuse this user-level activity
with the underlying MHS transfer exchanges. However they serve very with the underlying MHS transfer exchanges. However they serve very
different purposes and operate is very different ways. Mediators are different purposes and operate in very different ways. Mediators are
considered extensively in Section 5. considered extensively in Section 5.
When mail is delivered to an envelope address, a Mediator is viewed When mail is delivered to the mailbox address specified in the
by the Mail Handling Service as a Recipient. When submitting RFC2821.MailFrom command, a receiving Mediator is viewed by the Mail
messages, the Mediator is an Originator. What is distinctive is that Handling Service as a Recipient. When submitting messages, the
a Mediator preserves the Originator information of the message it Mediator is an Originator. What is distinctive is that a Mediator
reformulates, but may make meaningful changes to the content. Hence preserves the Originator information of the message it reformulates,
the MHS sees a new message, but Users receive a message that is but may make meaningful changes to the content. Hence the MHS sees a
interpreted as primarily being from -- or, at least, initiated by -- new message, but Users receive a message that is interpreted as
the author of the original message. The role of a Mediator permits primarily being from -- or, at least, initiated by -- the author of
distinct, active creativity, rather than being limited to the more the original message. The role of a Mediator permits distinct,
constrained job of merely connecting together other participants. active creativity, rather than being limited to the more constrained
Hence it is really the Mediator that is responsible for the new job of merely connecting together other participants. Hence it is
message. really the Mediator that is responsible for the new message.
A Mediator's task may be complex and contingent, such as by modifying A Mediator's task can be complex and contingent, such as by modifying
and adding content or regulating which users may participate and and adding content or regulating which users are allowed to
when. The popular example of this role is a group mailing list. A participate and when. The popular example of this role is a group
sequence of mediators may even perform a series of formal steps, such mailing list. A sequence of Mediators may even perform a series of
as reviewing, modifying and approving a purchase request. formal steps, such as reviewing, modifying and approving a purchase
request.
Because a Mediator originates messages, it might also receive Because a Mediator originates messages, it might also receive
replies. So, a Mediator really is a full-fledged User. replies. So a Mediator really is a full-fledged User.
Gateway: A Gateway is a particularly interesting form of Mediator. Gateway: A Gateway is a particularly interesting form of Mediator.
It is a hybrid of User and Relay that interconnects heterogeneous It is a hybrid of User and Relay that interconnects heterogeneous
mail services. Its goal is to emulate a Relay, so Gateway is mail services. Its goal is to emulate a Relay, so Gateway is
described in more detail, in the next section. described in more detail, in Section 2.2.4.
2.2 MHS Actors 2.2. MHS Actors
The Mail Handling Service (MHS) has the task of performing a single, The Mail Handling Service (MHS) has the task of performing a single,
email-level end-to-end transfer, on behalf of the Originator and email-level, end-to-end transfer on behalf of the Originator and
reaching the Recipient address(es) specified in the envelope. reaching the Recipient address(es) specified in the envelope.
Mediated or protracted, iterative exchanges, such as those used for Mediated or protracted, iterative exchanges, such as those used for
collaboration over time, are part of the User-level service, and are collaboration over time, are part of the User-level service, and are
not part of this Transfer-level Handling Service. not part of this Transfer-level Handling Service.
The following depicts the relationships among transfer participants The following depicts the relationships among transfer participants
in Internet Mail. It shows the Source as distinct from the in Internet Mail. It shows the Source as distinct from the
Originator, and Destination as distinct from Recipient, although it Originator, and Dest[ination] as distinct from Recipient, although it
is common for each pair to be the same actor. The figure also shows is common for each pair to be the same actor. The figure also shows
multiple Relays in the sequence. It is legal to have no separate multiple Relays in the sequence. It is legal to have no separate
Relay, where the Source and Dest interact directly. For intra- Relay, where the Source and Dest interact directly. For intra-
organization mail services, it is common to have only one Relay. organization mail services, it is common to have only one Relay.
+------------+ +-----------+ +------------+ +-----------+
| Originator | | Recipient | | Originator | | Recipient |
+-----+------+ +-----------+ +-----+------+ +-----------+
| ^ | ^
| Mail Handling Service | | Mail Handling Service |
skipping to change at page 9, line 40 skipping to change at page 10, line 5
| Relay +-->.......-->| Relay +-->| Relay | | Relay +-->.......-->| Relay +-->| Relay |
+---------+ +----+----+ +---------+ +---------+ +----+----+ +---------+
| |
V V
+---------+ +---------+
| Gateway +-->... | Gateway +-->...
+---------+ +---------+
Figure 3: Relationships Among MHS Actors Figure 3: Relationships Among MHS Actors
2.2.1 Source 2.2.1. Source
The Source role is responsible for ensuring that a message is valid The Source role is responsible for ensuring that a message is valid
for posting and then submitting it to a Relay. Validity includes for posting and then submitting it to a Relay. Validity includes
conformance with Internet Mail standards, as well as with local conformance with Internet Mail standards, as well as with local
operational policies. The source may simply review the message for operational policies. The Source can simply review the message for
conformance, and reject it if there are errors, or it may create some conformance and reject it if there are errors, or it can create some
or all of the necessary information. or all of the necessary information.
The Source operates with dual "allegiance". It serves the Originator The Source operates with dual "allegiance". It serves the Originator
and often it is the same entity. However its role in assuring and often it is the same entity. However its role in assuring
validity means that it must also represent the local operator of the validity means that it MUST also represent the local operator of the
MHS, that is, the local Administrative Domain. MHS, that is, the local ADministrative Management Domain (ADMD).
The 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 Bounce Handler 2.2.2. Bounce Handler
The Bounce Handler processes service notifications that are generated The Bounce Handler processes service notifications that are generated
by the MHS, as a result of its efforts to transfer or deliver the by the MHS, as a result of its efforts to transfer or deliver the
message. Notices may be about failures or completions and are sent message. Notices can be about failures or completions and are sent
to an address that is specified by the Source. This Bounce handling to an address that is specified by the Source. This Bounce handling
address (also known as a Return address) might have no visible address (also known as a Return address) might have no visible
characteristics in common with the address of the Originator or characteristics in common with the address of the Originator or
Source. Source.
2.2.3 Relay NOTE:
The choice of the label "Bounce" is unfortunate, due to its
negative implication. Currently, this is the most popular term
for the field.
2.2.3. Relay
A mail Relay performs email transfer-service routing and store-and- A mail Relay performs email transfer-service routing and store-and-
forward. It adds envelope-level handling information and then forward. It adds envelope-level handling information and then
(re-)transmits the message on towards its Recipient(s). A Relay may (re-)transmits the message on towards its Recipient(s). A Relay can
add information to the envelope, such as with trace information. add information to the envelope, such as with trace information.
However it does not modify existing envelope information or the However it does not modify existing envelope information or the
message content semantics. It may modify message content syntax, message content semantics. It can modify message content syntax,
such as a change from text to binary transfer-encoding form, only as 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. required to meet the capabilities of the next hop in the MHS.
A set of Relays composes a Mail Handling Service network. This is A set of Relays composes a Mail Handling Service (MHS) network. This
above any underlying packet-switching network that they might be is above any underlying packet-switching network that they might be
using and below any gateways or other user-level Mediators. using and below any gateways or other user-level Mediators.
In other words, interesting email scenarios can involve three, In other words, interesting email scenarios can involve three
distinct architectural layers of store-and-forward service: distinct architectural layers of store-and-forward service:
o User Mediators o User Mediators
o MHS Relays o MHS Relays
o Packet Switches o Packet Switches
with the bottom-most usually being the Internet's IP service. The with the bottom-most usually being the Internet's IP service. The
most basic email scenarios involve Relays and Switches. most basic email scenarios involve Relays and Switches.
Aborting a message transfer results in having the Relay become an Aborting a message transfer results in having the Relay become an
Originator and send an error message to the Bounce (Bounce) address. Originator and send an error message to the Bounce address. (The
(The potential for looping is avoided by having this message, itself, potential for looping is avoided by having this message, itself,
contain no Bounce address.) contain no Bounce address.)
2.2.4 Gateway 2.2.4. Gateway
A Gateway is a hybrid form of User and Relay that interconnects A Gateway is a hybrid form of User and Relay that interconnects
heterogeneous mail services. Its purpose is simply to emulate a heterogeneous mail services. Its purpose is simply to emulate a
Relay and the closer it comes to this, the better. However it Relay and the closer it comes to this, the better. However it
operates at the User level, because it must be able to modify message operates at the User level, because it MUST be able to modify message
content. content.
Differences between mail services can be as small as minor syntax Differences between mail services can be as small as minor syntax
variations, but usually encompass significant, semantic distinctions. variations, but usually encompass significant, semantic distinctions.
For example, the concept of an email address might be as different as One difference could have the concept of an email address be a
a hierarchical, machine-specific address versus a flat, global name hierarchical, machine-specific address versus have it be a flat,
space. Or between text-only content and multi-media. Hence the global name space. Another difference could be between text-only
Relay function in a Gateway offers the minor challenge in design. content, versus multi-media. Hence the Relay function in a Gateway
The more significant challenge is in ensuring the user-to-user offers significant design challenges, to make the result be as
functionality that matches syntax and semantics of independent email seamless as possible. The more significant challenge is in ensuring
standards suites. 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 on one side of a Gateway can send a message to a Recipient Originator on one side of a Gateway can send a message to a Recipient
on the other side, without requiring changes to any of the components on the other side, without requiring changes to any of the components
in the Originator's or Recipient's mail services, other than adding in the Originator's or Recipient's mail services, other than adding
the Gateway. To each of these otherwise independent services, the the Gateway. To each of these otherwise independent services, the
Gateway will appear to be a "native" participant. However the Gateway will appear to be a "native" participant. However the
ultimate test of a Gateway's adequacy is whether the Originator and ultimate test of a Gateway's adequacy is whether the Originator and
Recipient can sustain a dialogue. In particular, can a Recipient's Recipient can sustain a dialogue. In particular can a Recipient's
MUA automatically formulate a valid Reply? MUA automatically formulate a valid Reply that will reach the initial
Originator?
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 can be composed of an independent providers (or operators). Each can be composed of an independent
Administrative Unit (AU). Examples include an end-user operating ADministrative Management Domain (ADMD). Examples include an end-
their desktop client, a department operating a local Relay, an IT user operating their desktop client, a department operating a local
department operating an enterprise Relay, and an ISP operating a Relay, an IT department operating an enterprise Relay and an ISP
public, shared email service. These can be configured into many operating a public shared email service. These can be configured
combinations of administrative and operational relationships, with into many combinations of administrative and operational
each Administrative Unit potentially having a complex arrangement of relationships, with each ADMD potentially having a complex
functional components. Figure 4 depicts the relationships among AUs. arrangement of functional components. Figure 4 depicts the
Perhaps the most salient aspect of an AU is the differential trust relationships among ADMDs. Perhaps the most salient aspect of an
that determines its policies for activities within the AU, versus ADMD is the differential trust that determines its policies for
those involving interactions with other AUs. The architectural activities within the ADMD, versus those involving interactions with
impact of needing to have boundaries between AU's is discussed in other ADMDs. The architectural impact of needing to have boundaries
[Tussle] between ADMD's is discussed in [Tussle]
Basic components of AU distinction include: Basic types of ADMDs include:
Edge: Independent transfer services, in networks at the edge of the Edge: Independent transfer services, in networks at the edge of the
Internet Mail service. open Internet Mail service.
User: End-user services. This might be subsumed under the Edge User: End-user services. This might be subsumed under the Edge
service, such as is common for web-based email access. service, such as is common for web-based email access.
Transit: These are Mail Service Providers (MSP) offering value- Transit: These are Mail Service Providers (MSP) offering value-
added capabilities for Edge AUs, such as aggregation and added capabilities for Edge ADMDs, such as aggregation and
filtering. filtering.
Note that Transit services are quite different from packet-level Note that Transit services are quite different from packet-level
transit operation. Whereas end-to-end packet transfers usually go transit operation. Whereas end-to-end packet transfers usually go
through intermediate routers, email exchange across the open Internet through intermediate routers, email exchange across the open Internet
is often directly between the Edge AUs, at the email level. is often directly between the Boundary MTAs of Edge ADMDs, at the
email level.
+------ +------+ +------+ +-------+ +------+ +-------+
| AU-1 | | AU-3 | | AU-4 | | ADMD1 | | ADMD3 | | ADMD4 |
| ---- | | ---- | | ---- | | ----- | | ----- | | ----- |
| | +---------------------->| | | | | | +---------------------->| | | |
| User | | |-Edge-+---->|-User | | User | | |-Edge--+--->|-User |
| | | | +--->| | | | | | | | +--->| | | |
| V | | | +------+ +------+ | V | | | +-------+ +-------+
| Edge-+----+ | | Edge--+---+ |
| | | +---------+ | | | | +---------+ |
+------+ | | AU-2 | | +-------+ | | ADMD2 | |
| | ------- | | | | ----- | |
| | | | | | | |
+--->|-Transit-+---+ +--->|-Transit-+---+
| | | |
+---------+ +---------+
Figure 4: Administrative Units (AU) Example Figure 4: ADministrative Management Domains (ADMD) Example
Edge networks may use proprietary email standards internally. Edge networks can use proprietary email standards internally.
However the distinction between Transit network and Edge network However the distinction between Transit network and Edge network
transfer services is primarily significant because it highlights the transfer services is primarily significant because it highlights the
need for concern over interaction and protection between independent need for concern over interaction and protection between independent
administrations. In particular, this distinctions calls for administrations. In particular this distinction calls for additional
additional care in assessing transitions of responsibility, as well care in assessing transitions of responsibility, as well as the
as the accountability and authorization relationships among accountability and authorization relationships among participants in
participants in email transfer. email transfer.
The interactions between functional components within an The interactions between functional components within an ADMD are
Administrative Unit are subject to the policies of that domain. subject to the policies of that domain. Policies can cover such
Policies can cover such things as reliability, access control, things as reliability, access control, accountability and even
accountability and even content evaluation and modification. They content evaluation and modification. They can be implemented in
may be implemented in different functional components, according to different functional components, according to the needs of the ADMD.
the needs of the Administrative Unit. For example, see [ID-spamops]. For example see [ID-spamops].
User, Edge and Transit services can be offered by providers that User, Edge and Transit services can be offered by providers that
operate component services or sets of services. Further, it is operate component services or sets of services. Further it is
possible for one AU to host services for other AUs. Common AU possible for one ADMD to host services for other ADMDs. Common ADMD
examples are: examples are:
Enterprise Service Providers: Enterprise Service Providers:
Operating an organization's internal data and/or mail services. Operating an organization's internal data and/or mail services.
Internet Service Providers: Internet Service Providers:
Operating underlying data communication services that, in turn, Operating underlying data communication services that, in turn,
are used by one or more Relays and Users. It is not their job to are used by one or more Relays and Users. It is not necessarily
perform email functions, but to provide an environment in which their job to perform email functions, but they can, instead,
those functions can be performed. provide an environment in which those functions can be performed.
Mail Service Providers: Mail Service Providers:
Operating email services, such as for end-users, or mailing lists. Operating email services, such as for end-users, or mailing lists.
Operational pragmatics often dictate that providers be involved in Operational pragmatics often dictate that providers be involved in
detailed administration and enforcement issues, to help ensure the detailed administration and enforcement issues, to help ensure the
health of the overall Internet Mail Service. This can include health of the overall Internet Mail Service. This can include
operators of lower-level packet services. operators of lower-level packet services.
3. Identities 3. Identities
Internet Mail uses three forms of identity. The most common is the Internet Mail uses three forms of identity. The most common is the
mailbox address <addr-spec> [RFC2822] Also see <address> and end-point mailbox address <addr-spec> [RFC2822] Also see the related
<mailbox> in [RFC2821]. The other two are the domain name <domain> usage for <address> and <mailbox> in [RFC2821]. The other two forms
Section 3.2 and message identifier <msg-id> [RFC2822]. of email identity are the domain name <domain> Section 3.2 and
message identifier <msg-id> [RFC2822].
3.1 Mailbox Addresses 3.1. Mailbox
"A mailbox sends and receives mail. It is a conceptual entity "A mailbox sends and receives mail. It is a conceptual entity
which does not necessarily pertain to file storage." [RFC2822] which does not necessarily pertain to file storage." [RFC2822]
A mailbox is specified as an Internet Mail address <addr-spec>. It A mailbox is specified as an Internet Mail address <addr-spec>. It
has two distinct parts, divided by an at-sign ("@"). The right-hand has two distinct parts, divided by an at-sign ("@"). The right-hand
side contains a globally interpreted name for an Administrative Unit. side is a globally interpreted domain name that is part of an Common
Domain Names are discussed in Section 3.2. Operating Group. Domain Names are discussed in Section 3.2. Formal
Internet Mail addressing syntax can support source routes, to
indicate the path through which a message should be sent. Although
legal, the use of source routes is not part of the modern Internet
Mail service and it is ignored in the rest of this document.
The portion to the left of the at-sign contains a string that is The portion to the left of the at-sign contains a string that is
globally opaque and is called the <local-part>. It is to be globally opaque and is called the <local-part>. It is to be
interpreted only by the entity specified in the address's right-hand interpreted only by the entity specified in the address's right-hand
side. All other entities must treat the local-part as a side. All other entities MUST treat the local-part as a
uninterpreted, literal string and must preserve all of its original uninterpreted literal string and MUST preserve all of its original
details. As such, its public distribution is equivalent to sending a details. As such its public distribution is equivalent to sending a
"cookie" that is only interpreted upon being returned to its "cookie" that is only interpreted upon being returned to its
originator. originator.
3.1.1 Global Standards for Local-Part 3.1.1. Global Standards for Local-Part
It is common for sites to have local structuring conventions for the It is common for sites to have local structuring conventions for the
left-hand side (local-part) of an addr-spec. This permits sub- left-hand side (local-part) of an addr-spec. This permits sub-
addressing, such as for distinguishing different discussion groups by addressing, such as for distinguishing different discussion groups by
the same participant. However it must be stressed that these the same participant. However it is worth stressing that these
conventions are strictly private to the user's organization and must conventions are strictly private to the user's organization and MUST
not be interpreted by any domain except the one listed in the right- not be interpreted by any domain except the one listed in the right-
hand side of the addr-spec. hand side of the addr-spec, and those specialized services conforming
to standardized conventions, as noted in the next paragraph.
A small class of addresses has 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 and iFax [RFC2304], such as
"FAX=+12027653000/T33S=1387@ifax.example.com". "FAX=+12027653000/T33S=1387@ifax.example.com".
3.1.2 Scope of Email Address Use 3.1.2. Scope of Email Address Use
Email addresses are being used far beyond their original email Email addresses are being used far beyond their original email
transfer and delivery role. In practical terms, email strings have transfer and delivery role. In practical terms, email strings have
become a common form of user identity on the Internet. What is become a common form of user identity on the Internet. What is
essential, then, is to be clear about the nature and role of an essential, then, is to be clear about the nature and role of an
identity string in a particular context and to be clear about the identity string in a particular context and to be clear about the
entity responsible for setting that string. entity responsible for setting that string.
3.2 Domain Names 3.2. Domain Names
A domain name is a global reference to an Internet resource, such as A domain name is a global reference to an Internet resource, such as
a host, a service or a network. A name usually maps to one or more a host, a service or a network. A name usually maps to one or more
IP Addresses. Conceptually, the name might encompass an entire IP Addresses. Conceptually the name might encompass an entire
organization, or a collection of machines integrated into a organization, or a collection of machines integrated into a
homogeneous service, or only a single machine. A domain name can be homogeneous service, or only a single machine. A domain name can be
administered to refer to individual users, but this is not common administered to refer to individual users, but this is not common
practice. The name is structured as a hierarchical sequence of sub- practice. The name is structured as a hierarchical sequence of sub-
names, separated by dots ("."). Domain names are defined and names, separated by dots ("."). Domain names are defined and
operated through the Domain Name Service (DNS) [RFC1034], [RFC1035], operated through the Domain Name Service (DNS) [RFC1034], [RFC1035],
[RFC2181]. [RFC2181].
When not part of a mailbox address, a domain name is used in Internet When not part of a mailbox address, a domain name is used in Internet
Mail to refer to a node that took action upon the message, such as Mail to refer to the ADMD or the host that took action upon the
providing the administrative scope for a message identifier, or message, such as providing the administrative scope for a message
performing transfer processing. identifier, or performing transfer processing.
3.3 Message Identifiers 3.3. Message Identifier
Like mailbox addresses, message identifiers have two distinct parts, There are two standardized tags, for identifying messages.
divided by an at-sign ("@"). The right-hand side is globally
interpreted and specifies the Administrative Unit assigning the
identifier. The left-hand side of the at-sign contains a string that
is globally opaque and serves to uniquely identify the message within
the domain referenced on the right-hand side. The duration of
uniqueness for the message identifier is undefined.
The identifier may be assigned by the user or by any component of the Message-ID:
system along the path, within the AU responsible for the indicated
domain. Although Internet Mail standards provide for a single
identifier, more than one is sometimes assigned.
3.4 Identity Referencing Convention The Message-ID is a user-level tag, primarily used for threading
and elimination of duplicates and is specified in [RFC2822]. It
is associated with the RFC2822.From, although any actor within the
originating ADMD might assign it. The recipient's ADMD is the
intended consumer of the Message-ID, although any actor along the
transmission path might use it. Internet Mail standards provide
for a single Message-ID; however more than one is sometimes
assigned.
In this document, fields references to identities are labeled in a Like a mailbox address, a Message-ID has two distinct parts,
two-part, dotted notation. The first part cites the document divided by an at-sign ("@"). The right-hand side is globally
defining the identity and the second defines the name of the interpreted and specifies the ADMD or host assigning the
identity. Hence, <RFC2822.From> is the From field in an email identifier. The left-hand side contains a string that is globally
content header, and <RFC2821.MailFrom> is the address in the SMTP opaque and serves to uniquely identify the message within the
"Mail From" command. domain referenced on the right-hand side. The duration of
uniqueness for the message identifier is undefined.
4. Services When a message is revised in any way, the question of whether to
assign a new Message-ID requires a subjective assessment, deciding
whether the editorial content has been changed enough to
constitute a new message. [RFC2822] says "a message identifier
pertains to exactly one instantiation of a particular message;
subsequent revisions to the message each receive new message
identifiers." However real-world experience dictates some
flexibility. An impossible test is whether the recipient will
consider the new message to be equivalent to the old. For most
components of Internet Mail, there is no way to predict a specific
recipient's preferences on this matter. Both creating and failing
to create a new Message-ID have their downsides.
The Internet's MHS architecture distinguishes six types of functional The best that can be offered, here, are some guidelines and
components, arranged to support a store-and-forward service examples:
architecture:
* If a message is changed only in terms of form, such as
character-encoding, it clearly is still the same message.
* If a message has minor additions to the content, such as a
mailing list tag at the beginning of the RFC2822.Subject header
field, or some mailing list administrative information added to
the end of the primary body-part's text, then it probably is
still the same message.
* If a message has viruses deleted from it, it probably is still
the same message.
* If a message has offensive words deleted from it, then some
recipients will consider it the same message, but some will
not.
* If a message is translated into a different language, then some
recipients will consider it the same message, but some will
not.
The absence of objective, precise criteria for Message-ID re-
generation, along with the absence of strong protection associated
with the string, means that the presence of an ID can permit an
assessment that is marginally better than a heuristic, but the ID
certainly has no value for strict formal reference or comparison.
Hence it is not appropriate to use the Message-ID for any process
that might be called "security".
ENVID:
The ENVID (envelope identifier) is an envelope-level tag,
primarily for use within Delivery Status Notifications, so that
the Bounce Address (RFC2821.MailFrom) recipient can correlate the
DSN with a particular message. The ENVID is therefore used from
one message posting, until the directly-resulting message
deliveries. It does not survive re-postings [RFC3461].
The format of an ENVID is free-form. Although its creator might
choose to impose structure on the string, none is imposed by
Internet standards. By implication, the scope of the string is
defined by the domain name of the Bounce Address.
4. Services and Standards
The Internet's MHS architecture distinguishes among six different
types of functional components, arranged to support a store-and-
forward service architecture:
o Message o Message
o Mail User Agent (MUA) o Mail User Agent (MUA)
o Message Submission Agent (MSA) o Message Submission Agent (MSA)
o Message Transfer Agent (MTA) o Message Transfer Agent (MTA)
o Message Delivery Agent (MDA) o Message Delivery Agent (MDA)
o Message Store (MS) o Message Store (MS)
This section describes the specific functional components for This section describes each functional component for Internet Mail,
Internet Mail, and the standard protocols associated with performing and the standard protocols associated with their operation.
them.
Software implementations of these architectural components often Software implementations of these architectural components often
compress them, such as having the same software do MSA, MTA and MDA compress them, such as having the same software do MSA, MTA and MDA
functions. However the requirements for each of these components of functions. However the requirements for each of these components of
the service are becoming more extensive. So, their separation is the service are becoming more extensive. So their separation is
increasingly common. increasingly common.
NOTE: NOTE:
A discussion about any interesting system architecture is often A discussion about any interesting system architecture is often
complicated by confusion between architecture versus 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 can 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.
This figure shows function modules and the protocols used between This figure shows function modules and the protocols used between
them. Additional protocols and configurations are possible. them. Additional protocols and configurations are possible.
+------+ +---------+ +------+ +---------+
...............+ oMUA |...| Disp |<----------------+ ...............+ oMUA |...| Disp |<----------------+
. +--+---+ +---------+ | . +--+---+ +---------+ |
. | {smtp, | . | {smtp, |
. V {submission | . V {submission |
. +------+ +---------+ | . +------+ +---------+ |
. | MSA |...| Bounces |< -----+ | . | MSA |...| Bounces |< -----+ |
. +--+---+ +---------+ | | . +--+---+ +---------+ | |
. | | | . | | |
. V {smtp | | . V {smtp | |
. +------+ /+===+===+\ | . +------+ /+===+===+\ |
. | MTA | || dsn || | . | MTA | || dsn || |
/+==========+\ +--+---+ \+=======+/ | /+==========+\ +--+---+ \+=======+/ |
|| MESSAGE || . ^ ^ | || MESSAGE || . ^ ^ |
||----------|| . {smtp | | | ||----------|| . {smtp | | |
|| Envelope || . | | | || Envelope || . | | |
|| SMTP || V | | | || SMTP || V | | |
|| RFC2822 || +------+ | | /+==+==+\ || RFC2822 || +------+ | | /+==+==+\
|| Content || | MTA +-------------------+ | || mdn || || Content || | MTA +-------------------+ | || mdn ||
|| RFC2822 || +--+---+ | \+=====+/ || RFC2822 || +--+---+ | \+=====+/
|| MIME || | {local, smtp, | | || MIME || | {local, smtp, | |
\+==========+/ V {lmtp | | \+==========+/ V {lmtp | |
. +------+ | | . +------+ | |
. | +-----------------------+ | . | +-----------------------+ |
. | MDA | | . | MDA | |
. | |<--------------------+ | . | |<--------------------+ |
. +-+--+-+ | | . +-+--+-+ | |
. local} | | | | . local} | | | |
. V | | | . V | | |
. +------+ | /+===+===+\ | . +------+ | /+===+===+\ |
. | sMS | | || sieve || | . | sMS | | || sieve || |
. +-+--+-+ | \+=======+/ | . +-+--+-+ | \+=======+/ |
. | | | {pop, imap ^ | . | | | {pop, imap ^ |
. | V V | | . | V V | |
. | +------+ | | . | +------+ | |
. | | uMS | | | . | | uMS | | |
. | +--+---+ | | . | +--+---+ | |
. | | {pop, imap, | | . | | {pop, imap, | |
. V V {local | | . V V {local | |
. +------+ | | . +------+ | |
. | +---- -------------------+ | . | +------------------------+ |
...........>| rMUA | | ...........>| rMUA | |
| +----------------------------------+ | +----------------------------------+
+------+ +------+
Figure 5: Protocols and Services Figure 5: Protocols and Services
4.1 Message 4.1. Message Data
The purpose of the Mail Handling Service is to exchange a message The purpose of the Mail Handling Service is to exchange a message
object among participants. Hence, all of the underlying mechanisms object among participants [RFC2822] [RFC0822]. Hence all of the
are merely in the service of getting that message from its Originator underlying mechanisms are merely in the service of getting that
to its Recipients. A message may be explicitly labeled as to its message from its Originator to its Recipients. A message can be
nature. [RFC3458] explicitly labeled as to its nature [RFC3458].
A message comprises a transit handling envelope and the end-user A message comprises a transit handling envelope and the end-user
message content. The envelope contains handling information used by message content. The envelope contains handling information used by
the Message Handling Service, or generated by it. The content is the Message Handling Service, or generated by it. The content is
divided into a structured header and the body. The body may be divided into a structured header and the body. The body may be
unstructured, simple text, or it may be a tree of multi-media unstructured simple lines of text, or it may be a tree of multi-media
subordinate objects, called body-parts. subordinate objects, called body-parts.
Internet Mail has distinguished some special versions of messages, Internet Mail has some special control data:
for exchanging control information:
Delivery Status Notification (DSN): Delivery Status Notification (DSN):
A Delivery Status Notification (DSN) may be generated by the Mail A Delivery Status Notification (DSN) is a message that can be
Handling Service (MSA, MTA or MDA) and sent to the generated by the Mail Handling Service (MSA, MTA or MDA) and sent
RFC2821.MailFrom address. It provides information about message to the RFC2821.MailFrom address. The mailbox for this is shown as
transit, such as transmission errors or successful delivery. Bounces in Figure 5 It provides information about message transit,
[RFC3461] such as transmission errors or successful delivery. [RFC3461]
Message Disposition Notification (MDN): Message Disposition Notification (MDN):
A Message Disposition Notification (MDN) may be generated by an A Message Disposition Notification (MDN) is a message that can be
rMUA and is sent to the Disposition-Notification-To address(es). generated by an rMUA and is sent to the
It provides information about user-level, Recipient-side message Disposition-Notification-To address(es). The mailbox for this is
processing, such as indicating that the message has been read shown as Disp in Figure 5. It provides information about user-
[RFC2298] or the form of content that can be supported. [RFC3297] level, Recipient-side message processing, such as indicating that
the message has been displayed [RFC3798] or the form of content
that can be supported. [RFC3297]
Message Filtering (SIEVE): Message Filtering (SIEVE):
SIEVE provides a means of specifying conditions for differential SIEVE is a scripting language that permits specifying conditions
handling of mail, at the time of delivery [RFC3028]. Figure 5 for differential handling of mail, at the time of delivery
shows a Sieve specification going from the rMUA to the MDA. [RFC3028]. It can be conveyed in a variety of ways, as a MIME
However filtering can be done at many different points along the part. Figure 5 shows a Sieve specification going from the rMUA to
transit path and any one or more of them might be subject to Sieve the MDA. However filtering can be done at many different points
directives, especially within a single AU. Hence, the Figure along the transit path and any one or more of them might be
shows only one relationship, for simplicity. subject to Sieve directives, especially within a single ADMD.
Hence the Figure shows only one relationship, for simplicity.
4.1.1 Envelope 4.1.1. Envelope
Information that is directly used by, or produced by, the MHS is Information that is directly used by, or produced by, the MHS is
called the "envelope". It controls and records handling activities called the "envelope". It controls and records handling activities
by the transfer service. Internet Mail has a fragmented framework by the transfer service. Internet Mail has a fragmented framework
for handling this "handling" information. The envelope exists partly for handling this "handling" information. The envelope exists partly
in the transfer protocol SMTP [RFC2821] and partly in the message in the transfer protocol SMTP [RFC2821] and partly in the message
object [RFC2822]. The SMTP specification uses the term to refer only object [RFC2822]. The SMTP specification uses the term to refer only
to the transfer-protocol information. to the transfer-protocol information.
NOTE: NOTE:
Due to the frequent use of the term "envelope" to refer only to Due to the frequent use of the term "envelope" to refer only to
SMTP constructs, there has been some call for using a different SMTP constructs, there has been some call for using a different
term, to label the larger set of information defined here. So term, to label the larger set of information defined here. So
far, no alternative term has developed any community support. far, no alternative term has developed any community support.
Direct envelope addressing information, as well as optional transfer Direct envelope addressing information, as well as optional transfer
directives, are carried within the SMTP control channel. Other directives, are carried within the SMTP control channel. Other
envelope information, such as trace records, is carried within the envelope information, such as trace records, is carried within the
content header fields. Upon delivery, some SMTP-level envelope message object header fields. Upon delivery, some SMTP-level
information is typically encoded within additional content header envelope information is typically encoded within additional message
fields, such as Return-Path. object header fields, such as Return-Path.
4.1.2 Message Header Fields 4.1.2. Header Fields
Header fields are attribute/value pairs covering an extensible range Header fields are attribute name/value pairs covering an extensible
of email service, user content and user transaction meta-information. range of email service, user content and user transaction meta-
The core set of header fields is defined in [RFC2822], [RFC0822]. It information. The core set of header fields is defined in [RFC2822],
is common to extend this set, for different applications. Procedures [RFC0822]. It is common to extend this set, for different
for registering headers are provided in [RFC4021]. A complete set of applications. Procedures for registering header fields are defined
registered header fields is being developed through [ID-hdr-reg]. in [RFC4021]. An extensive set of existing header field
registrations is provided in [RFC3864].
One danger with placing additional information in header fields is One danger with placing additional information in header fields is
that Gateways often alter or delete them. that Gateways often alter or delete them.
4.1.3 Body 4.1.3. Body
The body of a message might simply be lines of ASCII text or it might The body of a message might simply be lines of ASCII text or it might
be structured into a composition of multi-media, body-part be hierarchically structured into a composition of multi-media body-
attachments, using MIME [RFC2045], [RFC2046], [RFC2047], [RFC2048], part attachments, using MIME [RFC2045], [RFC2046], [RFC2047],
and [RFC2049]. MIME structures each body-part into a recursive set [RFC2048], and [RFC2049]. MIME structures each body-part into a
of MIME header field meta-data and MIME Content sections. recursive set of MIME header field meta-data and MIME Content
sections.
4.1.4 Identity References in a Message 4.1.4. Identity References in a Message
For a message in transit, the core uses of identity references For a message in transit, the core uses of identity references
combine into: combine into:
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
| Layer | Field | Set By | | Layer | Field | Set By |
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
| Message Body | MIME Header | Originator | | Message Body | MIME Header | Originator |
| Message header fields | From | Originator | | Message header fields | From | Originator |
| | Sender | Source | | | Sender | Source |
| | Reply-To | Originator | | | Reply-To | Originator |
| | To, CC, BCC | Originator | | | To, CC, BCC | Originator |
| | Message-ID | Source | | | Message-ID | Source |
| | Received | Source, Relay, Dest | | | Received | Source, Relay, Dest |
| | Return-Path | MDA, from MailFrom | | | Return-Path | MDA, from MailFrom |
| | Resent-* | Mediator | | | Resent-* | Mediator |
| SMTP | HELO | Latest Relay Client | | SMTP | HELO | Latest Relay Client |
| | MailFrom | Source | | | MailFrom | Source |
| | RcptTo | Originator | | | RcptTo | Originator |
| IP | IP Address | Latest Relay Client | | IP | IP Address | Latest Relay Client |
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
4.2 Mail User Agent (MUA) Layered Identities
4.2. User-Level Services
Interactions at the user level entail protocol exchanges, distinct
from those that occur at lower layers of the architecture. Because
the motivation for email, and much of its use, is for interaction
among humans, the nature and details of these protocol exchanges
often are determined by the needs of human and group communication.
In terms of efforts to specify behaviors, one effect of this is to
require subjective guidelines, rather than strict rules, for some
aspects of system behavior. Mailing Lists provide particularly
salient examples of this.
4.2.1. 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 The Origination-side (oMUA) creates a message and performs initial
message and perform initial "submission" into the transfer "submission" into the transfer infrastructure, via a Mail Submission
infrastructure, via a Mail Submission Agent (MSA). It may also Agent (MSA). It can also perform any creation- and posting-time
perform any creation- and posting-time archival. An MUA outbox is 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 implementation, such as a An MUA can, itself, have a distributed implementation, such as a
"thin" user interface module on a limited end-user device, with the "thin" user interface module on a limited end-user device, with the
bulk of the MUA functionality operated remotely on a more capable bulk of the MUA functionality operated remotely on a more capable
server. An example of such an architecture might use IMAP [RFC3501] server. An example of such an architecture might use IMAP [RFC3501]
for most of the interactions between an MUA client and an MUA server. for most of the interactions between an MUA client and an MUA server.
A Mediator is special class of MUA. It performs message re-posting, A Mediator is special class of MUA. It performs message re-posting,
as discussed in Section 2.1. as discussed in Section 2.1.
Identity fields relevant to the MUA include: Identity fields relevant to the MUA include:
skipping to change at page 21, line 19 skipping to change at page 23, line 34
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 field listed in the From field
RFC2822.Reply-To RFC2822.Reply-To
Set by: 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 the 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
Set by: Source Set by: Source
This specifies the address responsible for submitting the message This specifies the address responsible for submitting the message
into the transfer service. For efficiency, this field should be into the transfer service. For efficiency this field can be
omitted if it contains the same address as RFC2822.From. However omitted if it contains the same address as RFC2822.From. However
this does not mean there is no Sender specified. Rather, it means this does not mean there is no Sender specified. Rather it means
that that header field is virtual and that the address in the From that that header field is virtual and that the address in the From
field must be used. Specification of the error return addresses field MUST be used. Specification of the error return addresses
-- the "Bounce" address, contained in RFC2821.MailFrom -- is made -- the "Bounce" address, contained in RFC2821.MailFrom -- is made
by the RFC2822.Sender. Typically the Bounce address is the same by the RFC2822.Sender. Typically the Bounce address is the same
as the Sender address. However some usage scenarios require it to as the Sender address. However some usage scenarios require it to
be different. be different.
RFC2822.To, RFC2822.CC RFC2822.To, RFC2822.CC
Set by: Originator Set by: Originator
These specify MUA Recipient addresses. The addresses in the These specify MUA Recipient addresses. The addresses in the
fields might not be present in the RFC2821.RcptTo command. The fields might not be present in the RFC2821.RcptTo command. The
distinction between To and CC is subjective. Generally, a To distinction between To and CC is subjective. Generally a To
addressee is considered primary and is expected to take action on addressee is considered primary and is expected to take action on
the message. A CC addressee typically receives a copy only for the message. A CC addressee typically receives a copy only for
their information. their information.
RFC2822.BCC RFC2822.BCC
Set by: Originator 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
and, usually, not to the other BCC Recipients. The BCC header and, usually, not to the other BCC Recipients. The BCC header
field indicates a message copy to such a Recipient. Typically, field indicates a message copy to such a Recipient. Typically,
the field lists no addresses or only lists the address of the the field lists no addresses or only lists the address of the
Recipient receiving this copy. An MUA will typically make Recipient receiving this copy. An MUA will typically make
separate postings for TO and CC Recipients, versus BCC Recipients. separate postings for TO and CC Recipients, versus BCC Recipients.
The former will see no indication that any BCCs were sent, whereas The former will see no indication that any BCCs were sent, whereas
the latter have a BCC field present. It might be empty, contain a the latter have a BCC field present. It might be empty, contain a
comment, or contain one or more BCC addresses, depending upon the comment, or contain one or more BCC addresses, depending upon the
preferences or the Originator. preferences of the Originator.
4.3 Mail Submission Agent (MSA) 4.2.2. Message Store (MS)
An MUA can employ 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 associated with a single user, demonstrated as a Server-
based (sMS) User-based MS (uMS) in Figure 5. The sMS is shown as
being remote from the MUA and the uMS as being local. Further the
relationship between two message stores can vary. Between the MDA
and the MUA, these choices are supported by a wide variety of
protocol options.
The operational relationship among MSs can be:
Online:
Only a remote MS is used, with messages being accessible 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 completely moved
from any remote store, rather than (also) being retained there.
Disconnected:
An r MS and a uMS are kept synchronized, for all or part of their
contents, while there is a connection between them. While they
are disconnected, mail can continue to arrive at the rMS and the
user may continue to make changes to the uMS. Upon reconnections,
the two stores are re-synchronized.
4.3. MHS-Level Services
4.3.1. Mail Submission Agent (MSA)
A Mail Submission Agent (MSA) accepts the message submission from the A Mail Submission Agent (MSA) accepts the message submission from the
oMUA and enforces the policies of the hosting AU and the requirements oMUA and enforces the policies of the hosting ADMD and the
of Internet standards. Enforcement might be passive, involving requirements of Internet standards. Enforcement might be passive,
review and approval or rejection, or it might be active, involving involving review and approval or rejection, or it might be active,
direct modification of the message. An MSA implements a server involving direct modification of the message. An MSA implements a
function to MUAs and a client function to MTAs (or MDAs). server 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 a single host and use The MUA/MSA interface can be implemented within a single host and use
private conventions for its interactions. Historically, standards- private conventions for its interactions. Historically, standards-
based MUA/MSA interactions have used SMTP [RFC2821]. However a based MUA/MSA interactions have used SMTP [RFC2821]. However a
recent alternative is SUBMISSION [RFC2476]. Although SUBMISSION recent alternative is SUBMISSION [RFC2476]. Although SUBMISSION
derives from SMTP, it operates on a separate TCP port, and will derives from SMTP, it on a separate TCP port and imposes distinct
typically impose distinct requirements, such as access authorization. requirements, such as access authorization.
Identities relevant to the MSA include: Identities relevant to the MSA include:
RFC2821.HELO or RFC2821.EHLO RFC2821.HELO/.EHLO
Set by: Source Set by: Source
The MSA may specify its hosting domain identity for the SMTP HELO The MSA can specify its hosting domain identity for the SMTP HELO
or EHLO command operation. or EHLO command operation.
RFC2821.MailFrom RFC2821.MailFrom
Set by: 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
skipping to change at page 23, line 33 skipping to change at page 26, line 33
This specifies the MUA mailbox 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.RcptTo 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
Set by: Source Set by: Source
An MSA may record a Received header field, to indicate initial An MSA can 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.4 Mail Transfer Agent (MTA) 4.3.2. Mail Transfer Agent (MTA)
A Mail Transfer Agent (MTA) relays mail for one, application-level A Mail Transfer Agent (MTA) relays mail for one application-level
"hop". It is like a packet-switch or IP router in that its job is to "hop". It is like a packet-switch or IP router in that its job is to
make routing assessments and to move the message closer to the make routing assessments and to move the message closer to the
Recipient(s). Relaying is performed by a sequence of MTAs, until the Recipient(s). Relaying is performed by a sequence of MTAs, until the
message reaches its destination MDA(s). Hence an MTA implements both message reaches its destination MDA(s). Hence an MTA implements both
client and server MTA functionality. It does not make changes to client and server MTA functionality. It does not make changes to
addresses in the envelope or reformulate the content, except as addresses in the envelope or reformulate the editorial content.
transfer-encoding requirements dictate. Also it may add trace Hence a change in data form, such as to the MIME Content-Transfer-
Encoding, is within the purview of an MTA, whereas removal or
replacement of body content is not. Also it can add trace
information. Of course email objects are typically much larger than information. Of course email objects are typically much larger than
the payload of a packet or datagram, and the end-to-end latencies are the payload of a packet or datagram, and the end-to-end latencies are
typically much higher. typically much higher.
Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect
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]. As with mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645]. As with
most network layer mechanisms Internet Mail's SMTP supports a basic most network layer mechanisms Internet Mail's SMTP supports a basic
level of reliability, by virtue of providing for retransmission after level of reliability, by virtue of providing for retransmission after
a temporary transfer failure. Contrary to typical packet switches a temporary transfer failure. Contrary to typical packet switches
(and Instant Messaging services) Internet Mail MTAs typically store (and Instant Messaging services) Internet Mail MTAs typically store
messages in a manner that allows recovery across service messages in a manner that allows recovery across service
interruptions, such as host system shutdown. However the degree of interruptions, such as host system shutdown. However the degree of
such robustness and persistence by an MTA can be highly variable. such robustness and persistence by an MTA can be highly variable.
The primary "routing" mechanism for Internet Mail is the DNS MX The primary "routing" mechanism for Internet Mail is the DNS MX
record [RFC1035], which specifies a host, through which the queried record [RFC1035], which specifies a host through which the queried
domain can be reached. This presumes a public -- or at least a domain can be reached. This presumes a public -- or at least a
common -- backbone that permits any attached host to connect to any common -- backbone that permits any attached host to connect to any
other. other.
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
participants, is a core benefit of Internet Mail and remains a core is a core benefit of Internet Mail and remains a core requirement for
requirement for it. it.
Identities relevant to the MTA include: Identities relevant to the MTA include:
RFC2821.HELO RFC2821.HELO/.EHLO
Set by: Relay Set by: Relay
The MTA may specify its hosting domain identity for the SMTP HELO The MTA can specify its hosting domain identity for the SMTP HELO
or EHLO command. This is the only standardized way of identifying or EHLO command. This is the only standardized way of identifying
the agent responsible for operation of the Relay, during the the agent responsible for operation of the Relay, during the
transfer operation. transfer operation.
RFC2821.MailFrom RFC2821.MailFrom
Set by: Source Set by: Source
This is an MHS end-to-end string that specifies an email address This is an MHS end-to-end string that specifies an email address
for receiving return control Bounce, such as delivery for receiving return control Bounce, such as delivery
confirmations and error notices. The protocol name of this field confirmations and error notices. The protocol name of this field
is misleading, because it is not required to specify either the is misleading, because it is not required to specify either the
author or the agent responsible for submitting the message. author or the agent responsible for submitting the message.
Rather, the agent responsible for submission specifies the Rather the agent responsible for submission specifies the MailFrom
MailFrom address. Ultimately the simple basis for deciding what address. Ultimately the simple basis for deciding what address
address needs to be in the RFC2821.MailFrom is to determine what needs to be in the RFC2821.MailFrom is to determine what address
address needs to be informed about transmission-level problems needs to be informed about transmission-level problems (and,
(and, possibly, successes.) possibly, successes.)
RFC2821.RcptTo RFC2821.RcptTo
Set by: Originator Set by: Originator
This specifies the MUA mailbox 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.RcptTo might specify a mailing list address, while the RFC2821.RcptTo
address specifies a member of that list. address specifies a member of that list.
RFC2822.Received RFC2822.Received
Set by: Relay Set by: Relay
An MTA must record a Received header field, to indicate trace An MTA can record a Received header field, to indicate trace
information, including source host and receiving host domain names information, including source host and receiving host domain names
and/or IP Addresses. and/or IP Addresses.
4.5 Mail Delivery Agent (MDA) 4.3.3. Mail Delivery Agent (MDA)
A Mail Delivery Agent (MDA) delivers email to the Recipient's A Mail Delivery Agent (MDA) delivers email to the Recipient's
mailbox. It can provide distinctive, address-based functionality, mailbox. It can provide distinctive, address-based functionality,
made possible by its detailed knowledge of the properties of the made possible by its detailed knowledge of the properties of the
destination address. This knowledge might also be present elsewhere destination address. This knowledge might also be present elsewhere
in the Recipient's Administrative Unit, such as at an organizational in the Recipient's ADMD, such as at an organizational border
border Relay. However it is required for the MDA, if only because (Boundary) Relay. However it is required for the MDA, if only
the MDA must know where to deliver the message. because the MDA must know where to deliver the message.
Using Internet protocols, delivery can be effected by a variety of Using Internet protocols, delivery can be effected by a variety of
standard protocols. When coupled with an internal, local mechanism, standard protocols. When coupled with an internal local mechanism,
SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the
Recipient system, at the initiative of the upstream email service. Recipient system, at the initiative of the upstream email service.
POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the
initiative of the Recipient system. POP and IMAP can also be used initiative of the Recipient system. POP and IMAP can also be used
for repeated access to messages on a remote MS. for repeated access to messages on a remote MS.
Identities relevant to the MDA include: Identities relevant to the MDA include:
RFC2821.Return-Path RFC2821.Return-Path
Set by: Source Set by: Source
The MDA records the RFC2821.MailFrom address into the The MDA records the RFC2821.MailFrom address into the
RFC2822.Return-Path field. RFC2822.Return-Path field.
RFC2822.Received RFC2822.Received
Set by: Destination Set by: Destination
An MDA must record a Received header field, to indicate trace An MDA can record a Received header field, to indicate trace
information, including source host and receiving host domain names information, including source host and receiving host domain names
and/or IP Addresses. and/or IP Addresses.
4.6 Message Store (MS)
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
associated with a single user, demonstrated as a server-based MS
(sMS) and user-based MS (uMS) in Figure 5. sMS is shown as being
remote from the MUA and uMS as being local. Further the relationship
between two message store may vary. Between the MDA and the MUA,
these choices are supported by a wide variety of protocol options.
The operational relationship among two MSs can be:
Online:
Only a remote MS is used, with messages being accessible 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 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
reconnection.
5. Mediators 5. Mediators
Basic email transfer is accomplished with an asynchronous store-and- Basic email transfer from an Originator to the specified Recipients
forward communication infrastructure, in a sequence of independent is accomplished by using an asynchronous, store-and-forward
communication infrastructure, in a sequence of independent
transmissions through some number of MTAs. A very different task is transmissions through some number of MTAs. A very different task is
a User-level sequence of postings and deliveries, through Mediators. a User-level sequence of postings and deliveries, through Mediators.
For such re-postings, a Mediator does share some functionality with A Mediator forwards a message, through a re-posting process. The
basic MTA relaying, but it enjoys a degree of freedom with both Mediator does share some functionality with basic MTA relaying, but
addressing and content that is not available to MTAs. it enjoys a degree of freedom with both addressing and content that
is not available to MTAs.
RFC2821.HELO or RFC2821.EHLO RFC2821.HELO/.EHLO
Set by: Source or Relay Set by: Source or Relay
The MSA may specify its hosting domain identity for the SMTP HELO The MSA can specify its hosting domain identity for the SMTP HELO
or EHLO command operation. or EHLO command operation.
RFC2821.MailFrom RFC2821.MailFrom
Set by: 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 Bounces. The name of this field is receiving return control Bounces. The name of this field is
misleading, because it is not required to specify either the misleading, because it is not required to specify either the
author or the agent responsible for submitting the message. author or the agent responsible for submitting the message.
Rather, the agent responsible for submission specifies the Rather the agent responsible for submission specifies the
RFC2821.MailFrom address. Ultimately the simple basis for 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 transmission- determine what address needs to be informed about transmission-
level problems (and, possibly, successes.) level problems (and, possibly, successes.)
RFC2821.RcptTo RFC2821.RcptTo
Set by: Mediator Set by: Mediator
This specifies the MUA mailbox 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.RcptTo 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
Set by: Mediator Set by: Mediator
An MSA may record a Received header field, to indicate initial An MSA can 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.
The salient aspect of a Mediator, that distinguishes it from any The salient aspect of a Mediator, that distinguishes it from any
other MUA creating an entirely new message, is that a Mediator other MUA creating an entirely new message, is that a Mediator
preserves the integrity and tone of the original message, including preserves the integrity and tone of the original message, including
the essential aspects of the original origination information. The the essential aspects of the original origination information. The
Mediator might also add commentary. Mediator might also add commentary.
Examples of MUA message creation that are NOT performed by Mediators Examples of MUA message creation that are NOT performed by Mediators
include: include --
New message forwarding existing message: New message that forwards an existing message:
This action rather curiously provides a basic template for a class This action rather curiously provides a basic template for a class
of Mediators. However for it's typical occurrence it is not of Mediators. However for its typical occurrence it is not itself
itself an example of a Mediator. The new message is viewed as an example of a Mediator. The new message is viewed as being from
being from the Agent doing the forwarding, rather than being from the Agent doing the forwarding, rather than being from the
the original Originator. original Originator.
A new message encapsulates the original message and is seen as A new message encapsulates the original message and is seen as
strictly "from" the Mediator. The Mediator might add commentary strictly "from" the Mediator. The Mediator might add commentary
and certainly has the opportunity to modify the original message and certainly has the opportunity to modify the original message
content. The forwarded message is therefore independent of the content. The forwarded message is therefore independent of the
original message exchange and creates a new message dialogue. original message exchange and creates a new message dialogue.
However the final Recipient sees the contained message as from the However the final Recipient sees the contained message as from the
original Originator. original Originator.
Reply: Reply:
When a Recipient formulates a response to a message, the new When a Recipient formulates a response back to the original
message is not typically viewed as being a "forwarding" of the message's author, the new message is not typically viewed as being
original. It's focus is the new content; any inclusion of a "forwarding" of the original. Its focus is the new content,
material from the original message is contextual and secondary. although it might contain all or part of the material in the
original message. Therefore the earlier material is merely
contextual and secondary.
Annotator: Annotator:
The integrity of the original message is usually preserved, but The integrity of the original message is usually preserved, but
one or more comments about the message are added in a manner that one or more comments about the message are added in a manner that
distinguishes commentary from original text. The tone of the new distinguishes commentary from original text. The tone of the new
message is that it is primarily commentary from a new Originator, message is that it is primarily commentary from a new Originator,
similar to a Reply. similar to a Reply.
The remainder of this section describes common examples of Mediators. The remainder of this section describes common examples of Mediators.
5.1 Aliasing 5.1. Aliasing
A simple re-addressing facility that is available in most MDA Aliasing is a simple re-addressing facility, available in most MDA
implementations is called Aliasing. It is performed just before implementations. It is performed just before delivering a message to
delivering a message to the specified Recipient's mailbox. Instead, the specified Recipient's mailbox. Instead the message is submitted
the message is submitted back to the transfer service, for delivery back to the transfer service, for delivery to one or more alternate
to one or more alternate addresses. Although implemented as part of addresses. Although implemented as part of the message delivery
the message delivery service, this facility is strictly a Recipient service, this facility is strictly a Recipient user function. It
user function. It resubmits the message, replacing the envelope resubmits the message, replacing the envelope address, on behalf of
address, on behalf of the mailbox address that was listed in the the mailbox address that was listed in the envelope.
envelope.
What is most distinctive about this forwarding mechanism is how What is most distinctive about this forwarding mechanism is how
closely it compares to normal MTA store-and-forward Relaying. In closely it compares to normal MTA store-and-forward Relaying. In
reality its only interesting difference is that it changes the reality its only interesting difference is that it changes the
RFC2821.RcptTo value. Having the change be this small makes it easy RFC2821.RcptTo value. Having the change be this small makes it easy
to view aliasing as a part of the lower-level mail relaying activity. to view aliasing as a part of the lower-level mail relaying activity.
However the small change has a large semantic impact: The designated However the small change has a large semantic impact: The designated
recipient has chosen a new recipient. Hence, that original recipient recipient has chosen a new recipient.
must become responsible for any handling issues.
Hence that original recipient SHOULD become responsible for any
handling issues. This change would be reflected by replacing the
message's RFC2821.MailFrom address to be one within the scope of the
ADMD doing the aliasing.
An MDA that is re-posting a message to an alias typically changes An MDA that is re-posting a message to an alias typically changes
only envelope information: only envelope information:
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
Set by: Originator Set by: Originator
These retain their original addresses. These retain their original addresses.
RFC2821.RcptTo RFC2821.RcptTo
Set by: Mediator Set by: Mediator
This field contains an alias address. This field contains an alias address.
skipping to change at page 29, line 46 skipping to change at page 32, line 30
The benefit of retaining the original MailFrom value is to ensure The benefit of retaining the original MailFrom value is to ensure
that the origination-side agent knows that there has been a that the origination-side agent knows that there has been a
delivery problem. On the other hand, the responsibility for the delivery problem. On the other hand, the responsibility for the
problem usually lies with the Recipient, since the Alias mechanism problem usually lies with the Recipient, since the Alias mechanism
is strictly under the Recipient's control. is strictly under the Recipient's control.
RFC2821.Received RFC2821.Received
Set by: Mediator Set by: Mediator
The agent should record Received information, to indicate the The agent can record Received information, to indicate the
delivery to the original address and submission to the alias delivery to the original address and submission to the alias
address. The trace of Received header fields should therefore address. The trace of Received header fields can therefore
include everything from original posting through final delivery to include everything from original posting through final delivery to
the alias. the alias.
5.2 ReSending 5.2. Re-Sending
Also called ReDirecting, ReSending differs from Forwarding by virtue Also called Re-Directing, Re-Sending differs from Forwarding by
of having the Mediator "splice" a message's addressing information, virtue of having the Mediator "splice" a message's addressing
to connect the Originator of the original message and the Recipient information, to connect the Originator of the original message and
of the new message. This permits them to have direct exchange, using the Recipient of the new message. This permits them to have direct
their normal MUA Reply functions. Hence the new Recipient sees the exchange, using their normal MUA Reply functions. Hence the new
message as being From the original Originator, even if the Mediator Recipient sees the message as being From the original Originator,
adds commentary. even if the Mediator adds commentary.
Identities specified in a resent message include Identities specified in a resent message include
RFC2822.From RFC2822.From
Set by: original Originator Set by: original Originator
Names and email addresses for the original author(s) of the Names and email addresses for the original author(s) of the
message content are retained. 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
Set by: original Originator Set by: original Originator
skipping to change at page 30, line 50 skipping to change at page 33, line 35
Set by: original Originator Set by: original Originator
These specify the original message Recipients. These specify the original message Recipients.
RFC2822.Resent-From RFC2822.Resent-From
Set by: Mediator 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
field as for an original RFC2822.From field as for an original RFC2822.From field
RFC2822.Resent-Sender RFC2822.Resent-Sender
Set by: Mediator Set by: Mediator
The address of the agent responsible for re-submitting the The address of the agent responsible for re-submitting the
message. For efficiency this field is often omitted if it message. 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 Notification 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 Bounce address is the same as the Resent-Sender address. However
some usage scenarios require it to be different. some usage scenarios require it to be different.
RFC2822.Resent-To, RFC2822.Resent-cc, RFC2822.Resent-bcc: RFC2822.Resent-To, RFC2822.Resent-cc, RFC2822.Resent-bcc:
Set by: Mediator Set by: Mediator
The addresses of the new Recipients who will now be able to reply The addresses of the new Recipients who will now be able to reply
skipping to change at page 31, line 44 skipping to change at page 34, line 29
RFC2821.RcptTo RFC2821.RcptTo
Set by: Mediator 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
Set by: Mediator Set by: Mediator
When resending a message, the submission agent may record a When resending a message the submission agent can record a
Received header field, to indicate the transition from original Received header field, to indicate the transition from original
posting to resubmission. posting to resubmission.
5.3 Mailing Lists 5.3. Mailing Lists
Mailing lists have explicit email addresses and they forward messages Mailing lists have explicit email addresses and they forward messages
to a list of subscribed members. The Mailing List Actor performs a to a list of subscribed members. The Mailing List Actor performs a
task that can be viewed as an elaboration of the ReDirector role. In task that can be viewed as an elaboration of the Re-Director role.
addition to sending the new message to a potentially large number of In addition to sending the new message to a potentially large number
new Recipients, the Mediator can modify content, such as deleting of new Recipients, the Mediator can modify content, such as deleting
attachments, formatting conversion, and adding list-specific attachments, formatting conversion, and adding list-specific
comments. In addition, archiving list messages is common. Still, comments. In addition, archiving list messages is common. Still the
the message retains characteristics of being "from" the original message retains characteristics of being "from" the original
Originator. Originator.
Identities relevant to a mailing list processor, when submitting a Identities relevant to a mailing list processor, when submitting a
message, include: message, include:
RFC2919.List-id RFC2919.List-Id
Set by: Mediator 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. [RFC2919]
standards-track specification, it has not gained significant
adoption.
RFC2369.List-* RFC2369.List-*
Set by: Mediator 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
for common mailing list user operations. The identifiers for common mailing list user operations. The identifiers for these
these operations are for the list, itself, and the user-as- operations are for the list, itself, and the user-as-subscriber.
subscriber. [RFC2369]
RFC2822.From RFC2822.From
Set by: original Originator Set by: original Originator
Names and email addresses for the original author(s) of the Names and email addresses for the original author(s) of the
message content are specified. message content are specified.
RFC2822.Reply-To RFC2822.Reply-To
Set by: original Originator or Mediator 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
Set by: original Source or Mediator 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
Set by: original Originator 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
Set by: original Source or Mediator Set by: original Source or Mediator
This may contain the original address to be notified of This can contain the original address to be notified of
transmission issues, or the mailing list agent may set it to transmission issues, or the mailing list agent can set it to
contain a new Notification address. Typically, the value is set contain a new Notification address. Typically the value is set to
to a new address, so that mailing list members and posters are not a new address, so that mailing list members and posters are not
burdened with transmission-related Bounces. burdened with transmission-related Bounces.
RFC2821.RcptTo RFC2821.RcptTo
Set by: Mediator 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
Set by: Mediator Set by: Mediator
An Mailing List Agent should record a Received header field, to A Mailing List Agent can record a Received header field, to
indicate the transition from original posting to mailing list indicate the transition from original posting to mailing list
forwarding. The Agent may choose to have the message retain the forwarding. The Agent can 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 can choose to remove
them. In the latter case, it should ensure that the original them. In the latter case it can ensure that the original Received
Received header fields are otherwise available, to ensure later header fields are otherwise available, to ensure later
accountability and diagnostic access to it. accountability and diagnostic access to them.
5.4 Gateways 5.4. Gateways
Gateways perform the basic routing and transfer work of message Gateways perform the basic routing and transfer work of message
relaying, but they also make any message or address modifications relaying, but they also make any message or address modifications
that are needed to send the message into the next messaging that are needed to send the message into a messaging environment that
environment. When a Gateway connects two differing messaging operates according to different standards or potentially incompatible
services, its role is easy to identify and understand. When it policies. When a Gateway connects two differing messaging services,
connects environments that have technical similarity, but may have its role is easy to identify and understand. When it connects
significant administrative differences, it is easy to think that a environments that have technical similarity, but can have significant
Gateway is merely an MTA. The critical distinction between an MTA administrative differences, it is easy to think that a Gateway is
and a Gateway is that the latter transforms addresses and/or message merely an MTA. The critical distinction between an MTA and a Gateway
content, in order to map between the standards of two, different is that the latter transforms addresses and/or message content, in
messaging services. In virtually all cases, this mapping process order to map between the standards of two, different messaging
results in some degree of semantic loss. The challenge of Gateway services. In virtually all cases, this mapping process results in
design is to minimize this loss. 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. A Gateway can set any identity field available to a regular MUA.
Identities typically relevant to Gateways include: Identities typically relevant to Gateways include:
RFC2822.From RFC2822.From
Set by: original Originator Set by: original Originator
Names and email addresses for the original author(s) of the Names and email addresses for the original author(s) of the
message content are retained. As for all original addressing message content are retained. As for all original addressing
information in the message, the Gateway may translate addresses in information in the message, the Gateway can translate addresses in
whatever way will allow them continue to be useful in the target whatever way will allow them continue to be useful in the target
environment. environment.
RFC2822.Reply-To RFC2822.Reply-To
Set by: original Originator Set by: original Originator
The Gateway should retain this information, if it is originally The Gateway SHOULD retain this information, if it is originally
present. The ability to perform a successful reply by a Gatewayed present. The ability to perform a successful reply by a Gatewayed
Recipient is a typical test of Gateway functionality. Recipient is a typical test of Gateway functionality.
RFC2822.Sender RFC2822.Sender
Set by: original Source or Mediator Set by: original Source or Mediator
This may retain the original value or may be set to a new address This can retain the original value or can be set to a new address
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
Set by: original Recipient Set by: original Recipient
These usually retain their original addresses. These usually retain their original addresses.
RFC2821.MailFrom RFC2821.MailFrom
Set by: original Source or Mediator Set by: original Source or Mediator
The agent responsible for gatewaying the message may choose to The agent responsible for gatewaying the message can choose to
specify a new address to receive handling notices. specify a new address to receive handling notices.
RFC2822.Received RFC2822.Received
Set by: Mediator Set by: Mediator
The Gateway can record a Received header field, to indicate the
The Gateway may record a Received header field, to indicate the
transition from original posting to the new messaging environment. transition from original posting to the new messaging environment.
5.5 Boundary Filter 5.5. Boundary Filter
Organizations often enforce security boundaries by subjecting Organizations often enforce security boundaries by subjecting
messages to analysis, for conformance with the organization's safety messages to analysis, for conformance with the organization's safety
policies. An example is detection of content classed as spam or a policies. An example is detection of content classed as spam or a
virus. A Filter might alter the content, to render it safe, such as virus. A Filter might alter the content, to render it safe, such as
by removing content deemed unacceptable. Typically these actions by removing content deemed unacceptable. Typically these actions
will result in the addition of content that records the actions. will result in the addition of content that records the actions.
6. Security Considerations 6. Security Considerations
This document does not specify any new Internet Mail functionality. This document does not specify any new Internet Mail functionality.
Consequently it should introduce no new security considerations. Consequently it is not intended to introduce any 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 issues that are present when
present when implementing any component of the Internet Mail service. implementing any component of the Internet Mail service. In
In addition, email transfer protocols can operate over authenticated addition, email transfer protocols can operate over authenticated
and/or encrypted links, and message content can be authenticated or and/or encrypted links, and message content can be authenticated or
encrypted. encrypted.
7. References 7. References
7.1 References - Normative 7.1. Normative
[ID-hdr-reg]
"Registration of mail and MIME header fields",
draft-klyne-hdrreg-mail-04.txt (work in progress),
Apr 2004.
[RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10,
RFC 821, August 1982. RFC 821, August 1982.
[RFC0822] Crocker, D., "Standard for the format of ARPA Internet [RFC0822] Crocker, D., "Standard for the format of ARPA Internet
text messages", STD 11, RFC 822, August 1982. text messages", STD 11, RFC 822, August 1982.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987. STD 13, RFC 1034, November 1987.
skipping to change at page 36, line 44 skipping to change at page 39, line 26
RFC 2047, November 1996. RFC 2047, November 1996.
[RFC2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose [RFC2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose
Internet Mail Extensions (MIME) Part Four: Registration Internet Mail Extensions (MIME) Part Four: Registration
Procedures", BCP 13, RFC 2048, November 1996. Procedures", BCP 13, RFC 2048, November 1996.
[RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2049] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Five: Conformance Criteria and Extensions (MIME) Part Five: Conformance Criteria and
Examples", RFC 2049, November 1996. Examples", RFC 2049, November 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
Specification", RFC 2181, July 1997. Specification", RFC 2181, July 1997.
[RFC2298] Fajman, R., "An Extensible Message Format for Message
Disposition Notifications", RFC 2298, March 1998.
[RFC2304] Allocchio, C., "Minimal FAX address format in Internet [RFC2304] Allocchio, C., "Minimal FAX address format in Internet
Mail", RFC 2304, March 1998. Mail", RFC 2304, March 1998.
[RFC2369] Neufeld, G. and J. Baer, "The Use of URLs as Meta-Syntax [RFC2369] Neufeld, G. and J. Baer, "The Use of URLs as Meta-Syntax
for Core Mail List Commands and their Transport through for Core Mail List Commands and their Transport through
Message Header Fields", RFC 2369, July 1998. Message Header Fields", RFC 2369, July 1998.
[RFC2421] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet [RFC2421] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet
Mail - version 2", RFC 2421, September 1998. Mail - version 2", RFC 2421, September 1998.
skipping to change at page 37, line 50 skipping to change at page 40, line 32
[RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message
Context for Internet Mail", RFC 3458, January 2003. Context for Internet Mail", RFC 3458, January 2003.
[RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service
Extension for Delivery Status Notifications (DSNs)", Extension for Delivery Status Notifications (DSNs)",
RFC 3461, January 2003. RFC 3461, January 2003.
[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.
[RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition
Notification", RFC 3798, May 2004.
[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Procedures for Message Header Fields", RFC 3864,
September 2004.
[RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
Header Fields", RFC 4021, March 2005. Header Fields", RFC 4021, March 2005.
7.2 Reference - Descriptive 7.2. Descriptive
[ID-ffpim] [ID-ffpim]
Crocker, D. and G. Klyne, "Full-mode Fax Profile for Crocker, D. and G. Klyne, "Full-mode Fax Profile for
Internet Mail: FFPIM", March 2004. Internet Mail: FFPIM", March 2004.
[ID-spamops] [ID-spamops]
Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and
E. Allman, "Email Submission Between Independent E. Allman, "Email Submission Between Independent
Networks", draft-spamops-00 (work in progress), Networks", draft-spamops-00 (work in progress),
March 2004. March 2004.
[RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects",
RFC 1767, March 1995. RFC 1767, March 1995.
[Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden, [Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden,
"Tussle in Cyberspace: Defining Tomorrow‚ÇÖs Internet", "Tussle in Cyberspace: Defining Tomorrow's Internet",
ACM SIGCOMM, 2002. ACM SIGCOMM, 2002.
Appendix A. Acknowledgements
This work derives from a section in draft-hutzler-spamops
[ID-spamops]. 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
insight on the framework and details of the original drafts.
Later reviews and suggestions were provided by Nathaniel Borenstein,
Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed,
Eric Hall, Brad Knowles, Bruce Lilly, Mark E. Mallett, David
MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim, Hector
Santos, Jochen Topf, Willemien Hoogendoorn.
Diligent proof-reading was performed by Bruce Lilly,
Author's Address Author's Address
Dave Crocker Dave Crocker
Brandenburg InternetWorking Brandenburg InternetWorking
675 Spruce Drive 675 Spruce Drive
Sunnyvale, CA 94086 Sunnyvale, CA 94086
USA USA
Phone: +1.408.246.8253 Phone: +1.408.246.8253
Email: dcrocker@bbiw.net Email: dcrocker@bbiw.net
Appendix A. Acknowledgements Full Copyright Statement
This work derives from a section in draft-hutzler-spamops [ID- Copyright (C) The Internet Society (2006).
spamops]. 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 This document is subject to the rights, licenses and restrictions
insight on the framework and details of the original drafts. contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
Later reviews and suggestions were provided by Nathaniel Borenstein, This document and the information contained herein are provided on an
Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed, "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
Eric Hall, Brad Knowles, Bruce Lilly, Mark E. Mallett, David OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim, Hector ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
Santos, Jochen Topf, Willemien Hoogendoorn. INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property Statement Intellectual Property
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
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 39, line 29 skipping to change at page 42, line 45
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 224 change blocks. 
579 lines changed or deleted 693 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/