< draft-crocker-email-arch-05.txt   draft-crocker-email-arch-06.txt >
SMTP D. Crocker SMTP D. Crocker
Internet-Draft Brandenburg InternetWorking Internet-Draft Brandenburg InternetWorking
Intended status: Standards Track October 22, 2006 Intended status: Standards Track March 4, 2007
Expires: April 25, 2007 Expires: September 5, 2007
Internet Mail Architecture Internet Mail Architecture
draft-crocker-email-arch-05 draft-crocker-email-arch-06
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 34 skipping to change at page 1, line 34
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 25, 2007. This Internet-Draft will expire on September 5, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
Abstract Abstract
Over its thirty-five year history Internet Mail has undergone Over its thirty-five year history Internet Mail has undergone
significant changes in scale and complexity, as it has become a significant changes in scale and complexity, as it has become a
global infrastructure service. The first standardized architecture global infrastructure service. The first standardized architecture
for networked email specified a simple split between the user world, for networked email specified little more than a simple split between
in the form of Mail User Agents (MUA), and the transmission world, in the user world and the transmission world. Core aspects of the
the form of the Mail Handling Service (MHS) composed of Mail Transfer service, such as the styles of mailbox address and basic message
Agents (MTA). Core aspects of the service, such as mailbox address format, have remained remarkably constant. However today's 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 that targets
architecture has not kept pace with the real-world technical and description of the existing 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. Field Referencing Convention . . . . . . . . . . . . . . . 5 1.2. Document Conventions . . . . . . . . . . . . . . . . . . . 5
1.3. Document terminology and conventions . . . . . . . . . . . 5 1.3. Document Administration . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 8
2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 12 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 11
3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 15 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 15
3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 16 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 15
4. Services and Standards . . . . . . . . . . . . . . . . . . . . 17 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 17
4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 20 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 20
4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 22 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 22
4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 25 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 25
5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 32 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 34 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 34
5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 38 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 38
skipping to change at page 3, line 48 skipping to change at page 3, line 48
| . . . | | . . . |
| +......................>+ . | | +......................>+ . |
| . . | | . . |
| +.............................>+ | | +.............................>+ |
| | | |
| 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
mailbox 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, with an elaboration to each "level" of the concerns is retained, with an elaboration to each "level" of the
skipping to change at page 4, line 25 skipping to change at page 4, line 25
posting and the set of deliveries directly resulting from its single posting and the set of deliveries directly resulting from its single
transiting of the MHS. A common exception is with group dialogue transiting of the MHS. A common exception is with group dialogue
that is mediated via a mailing list, so that two postings occur, that is mediated via a mailing list, so that two postings occur,
before intended recipients receive an originator's message. In fact, before intended recipients receive an originator's message. In fact,
some uses of email consider the entire email service -- including some uses of email consider the entire email service -- including
Originator and Recipient -- as a subordinate component. For these Originator and Recipient -- as a subordinate component. For these
services "end-to-end" refers to points outside of the email service. services "end-to-end" refers to points outside of the email service.
Examples are voicemail over email [RFC2423], EDI over email [RFC1767] Examples are voicemail over email [RFC2423], EDI over email [RFC1767]
and facsimile over email.[ID-ffpim] and facsimile over email.[ID-ffpim]
The current draft seeks to: The current draft:
o Document refinements to the email model
o Clarify functional roles for the architectural components
o Clarify identity-related issues, across the email service
o Provide a document that serves as a common venue for further * Documents refinements to the email model
defining and citing modern Internet Mail architecture
NOTE: * Clarifies functional roles for the architectural components
Any attempt to provide a retroactive description, for a service * Clarifies identity-related issues, across the email service
that has evolved so extensively, is certain to claim definitions
and relationships that do not match the equally reasonable views
of some portion of the technical community. Ultimately the
"correct" choices are determined solely by the willingness of that
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 * An email object
o Global addressing * Global addressing
o An asynchronous sequence of point-to-point transfer mechanisms * An asynchronous sequence of point-to-point transfer mechanisms
o No prior arrangement between Originator and Recipient * No prior arrangement between Originator and Recipient
o No prior arrangement between point-to-point transfer services, * No prior arrangement between point-to-point transfer services,
over the open Internet over the open Internet
o No requirement for Originator and Recipient to be online at the * No requirement for Originator and Recipient to be online at the
same time. same time.
The end-to-end portion of the service is the email object, called a The end-to-end portion of the service is the email object, called a
message. Broadly the message, itself, is divided between handling message. Broadly the message, itself, is divided between handling
control information and user message content. control information and user message content.
A precept to the design of mail over the open Internet is permitting A precept to the design of mail over the open Internet is permitting
user-to-user and MTA-to-MTA interoperability to take place with no user-to-user and MTA-to-MTA interoperability to take place with no
prior direct administrative arrangement between independent prior, direct administrative arrangement between independent
Administrative Management Domains. That is, all participants rely on Administrative Management Domains (AdMD). That is, all participants
having the core services be universally supported, either directly or rely on having the core services be universally supported, either
through Gateways that translate between Internet Mail standards and directly or through Gateways that translate between Internet Mail
other email environments. standards and other email environments. Given the importance of
spontaneity and serendipity in the world of human communications,
this lack of prearrangement between the participants is a core
benefit of Internet Mail and remains a core requirement for it.
Within 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 a 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. Field Referencing Convention 1.2. Document Conventions
In this document, references to structured fields of a message use a In this document, references to structured fields of a message use a
two-part dotted notation. The first part cites the document that two-part dotted notation. The first part cites the document that
contains the specification for the field and the second is the name contains the specification for the field and the second is the name
of the field. Hence <RFC2822.From> is the From field in an email of the field. Hence <RFC2822.From> is the From field in an email
content header and <RFC2821.MailFrom> is the address in the SMTP content header and <RFC2821.MailFrom> is the address in the SMTP
"Mail From" command. "Mail From" command.
1.3. Document terminology and conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as specified in RFC 2119 [RFC2119]. document are to be interpreted as specified in RFC 2119 [RFC2119].
1.4. Discussion venue 1.3. Document Administration
Please direct discussion about this document to the IETF-SMTP mailing Discussion venue: Please direct discussion about this document to
list <http://www.imc.org/ietf-smtp>. the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>.
1.5. Changes Changes:
o Small modifications to figures Modified Protocols and Services figure, for MS, MSA and MDA.
Revised discussion to reflect these changes, particularly the
split role an MSA or MDA serves.
o Settled on term "ADministrative Management Domain (ADMD) to refer Added recent Lemonade reference, for thin clients.
to independent operational environments. A bit of an homage to
X.400...
o Various clarifications and wordsmithing. Various clarifications and wordsmithing.
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 3 basic types: actors serving different roles. These divide into 3 basic types:
o User * User
o Mail Handling Service (MHS) * Mail Handling Service (MHS)
o ADministrative Management Domain (ADMD) * ADministrative Management Domain (ADMD)
Although related to a technical architecture, the focus on Actors Although related to a technical architecture, the focus on Actors
concerns participant responsibilities, rather than on functional concerns participant responsibilities, rather than on 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 among different ADMDs. motivation for distinguishing among different ADMDs.
2.1. User Actors 2.1. User Actors
Users are the sources and sinks of messages. They can be humans or Users are the sources and sinks of messages. They can be humans or
processes. They can have an exchange that iterates and they can processes. They can have an exchange that iterates and they can
expand or contract the set of Users participating in a set of expand or contract the set of Users participating in a set of
exchanges. In Internet Mail there are three types of user-level exchanges. In Internet Mail there are three types of user-level
Actors: Actors:
o Originators * Originators
o Recipients * Recipients
* 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 can be provided by many independent organizations. the actual service can be provided by many independent organizations.
Users are customers of this unified service. Users are customers of this unified service.
The following depicts the flow of messages among Actors. The following depicts the flow of messages among Actors.
+------------+ +------------+
| |<---------------------------+ | |<---------------------------+
| Originator |<----------------+ | | Originator |<----------------+ |
| |<----+ | | | |<----+ | |
+-+---+----+-+ | | | +-+---+----+-+ | | |
| | | | | | | | | | | |
skipping to change at page 9, line 5 skipping to change at page 8, line 47
request. 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 Section 2.2.4. described in more detail, in Section 2.2.4.
2.2. MHS Actors 2.2. Mail Handling Service (MHS) Actors
The Mail Handling Service (MHS) has the task of performing a single, The Mail Handling Service (MHS) has the task of performing a single,
email-level, end-to-end transfer on behalf of the Originator and 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 Dest[ination] as distinct from Recipient, although it Originator, and Dest[ination] as distinct from Recipient, although it
is common for each pair to be the same actor. The figure also shows is common for each pair to be the same actor. 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 (MHS) |
/+=================================================+\ /+=================================================+\
|| | | || || | | ||
|| | | || || | | ||
V | V |
+---------+ +--------+ +----+----+ +---------+ +--------+ +----+----+
| | | |<------------+ | | | | |<------------+ |
| Source +...>| Bounce | | Dest | | Source +...>| Bounce | | Dest |
| | | |<---+ | | | | | |<---+ | |
+----+----+ +--------+ | +---------+ +----+----+ +--------+ | +---------+
| | ^ | | ^
skipping to change at page 11, line 10 skipping to change at page 11, line 5
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 (MHS) network. This A set of Relays composes a Mail Handling Service (MHS) network. This
is above any underlying packet-switching network that they might be is above any underlying packet-switching network that they might be
using and below any gateways or other user-level Mediators. using and below any gateways or other user-level Mediators.
In other words, interesting email scenarios can involve three In other words, interesting email scenarios can involve three
distinct architectural layers of store-and-forward service: distinct architectural layers of store-and-forward service:
o User Mediators * User Mediators
o MHS Relays * MHS Relays
o Packet Switches * Packet Switches
with the bottom-most usually being the Internet's IP service. The with the bottom-most usually being the Internet's IP service. The
most basic email scenarios involve Relays and Switches. most basic email scenarios involve Relays and Switches.
Aborting a message transfer results in having the Relay become an Aborting a message transfer results in having the Relay become an
Originator and send an error message to the Bounce address. (The Originator and send an error message to the Bounce address. (The
potential for looping is avoided by having this message, itself, potential for looping is avoided by having this message, itself,
contain no Bounce address.) contain no Bounce address.)
2.2.4. Gateway 2.2.4. Gateway
skipping to change at page 12, line 9 skipping to change at page 11, line 52
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 that will reach the initial MUA automatically formulate a valid Reply that will reach the initial
Originator? 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 an independent ADministrative
ADministrative Management Domain (ADMD). Examples include an end- Management Domain (ADMD). Examples include an end-user operating
user operating their desktop client, a department operating a local their desktop client, a department operating a local Relay, an IT
Relay, an IT department operating an enterprise Relay and an ISP department operating an enterprise Relay and an ISP operating a
operating a public shared email service. These can be configured public shared email service. These can be configured into many
into many combinations of administrative and operational combinations of administrative and operational relationships, with
relationships, with each ADMD potentially having a complex each ADMD potentially having a complex arrangement of functional
arrangement of functional components. Figure 4 depicts the components. Figure 4 depicts the relationships among ADMDs. Perhaps
relationships among ADMDs. Perhaps the most salient aspect of an the most salient aspect of an ADMD is the differential trust that
ADMD is the differential trust that determines its policies for determines its policies for activities within the ADMD, versus those
activities within the ADMD, versus those involving interactions with involving interactions with other ADMDs. The architectural impact of
other ADMDs. The architectural impact of needing to have boundaries needing to have boundaries between ADMD's is discussed in [Tussle].
between ADMD's is discussed in [Tussle]
Basic types of ADMDs 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
open 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-
skipping to change at page 14, line 28 skipping to change at page 13, line 49
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
end-point mailbox address <addr-spec> [RFC2822] Also see the related end-point mailbox address <addr-spec>. [RFC2822] Also see the
usage for <address> and <mailbox> in [RFC2821]. The other two forms related usage for <address> and <mailbox> in [RFC2821]. The other
of email identity are the domain name <domain> Section 3.2 and two forms of email identity are the domain name <domain> Section 3.2
message identifier <msg-id> [RFC2822]. and message identifier <msg-id> [RFC2822].
3.1. Mailbox 3.1. Mailbox
"A mailbox sends and receives mail. It is a conceptual entity "A mailbox sends and receives mail. It is a conceptual entity
which does not necessarily pertain to file storage." [RFC2822] which does not necessarily pertain to file storage." [RFC2822]
A mailbox is specified as an Internet Mail address <addr-spec>. It A mailbox is specified as an Internet Mail address <addr-spec>. It
has two distinct parts, divided by an at-sign ("@"). The right-hand has two distinct parts, divided by an at-sign ("@"). The right-hand
side is a globally interpreted domain name that is part of an Common side is a globally interpreted domain name that is part of an Common
Operating Group. Domain Names are discussed in Section 3.2. Formal Operating Group. Domain Names are discussed in Section 3.2. Formal
skipping to change at page 17, line 46 skipping to change at page 17, line 21
one message posting, until the directly-resulting message one message posting, until the directly-resulting message
deliveries. It does not survive re-postings [RFC3461]. deliveries. It does not survive re-postings [RFC3461].
The format of an ENVID is free-form. Although its creator might The format of an ENVID is free-form. Although its creator might
choose to impose structure on the string, none is imposed by choose to impose structure on the string, none is imposed by
Internet standards. By implication, the scope of the string is Internet standards. By implication, the scope of the string is
defined by the domain name of the Bounce Address. defined by the domain name of the Bounce Address.
4. Services and Standards 4. Services and Standards
The Internet's MHS architecture distinguishes among six different The Internet's Mail architecture distinguishes among six different
types of functional components, arranged to support a store-and- types of functional components, arranged to support a store-and-
forward service architecture: forward service architecture:
o Message * Message
o Mail User Agent (MUA) * Mail User Agent (MUA)
o Message Submission Agent (MSA) * Message Submission Agent (MSA)
o Message Transfer Agent (MTA) * Message Transfer Agent (MTA)
o Message Delivery Agent (MDA) * Message Delivery Agent (MDA)
o Message Store (MS) * Message Store (MS)
This section describes each functional component for Internet Mail, This section describes each functional component for Internet Mail,
and the standard protocols associated with their operation. and the standards-based protocols that are associated with their
operation.
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 can 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 The following figure shows function modules and the standardized
them. Additional protocols and configurations are possible. protocols used between them. Additional protocols and configurations
are possible. Boxes defined by asterisks (*) represent functions
+------+ +---------+ that often are distributed among two or more systems.
...............+ oMUA |...| Disp |<----------------+
. +--+---+ +---------+ |
. | {smtp, |
. V {submission |
. +------+ +---------+ |
. | MSA |...| Bounces |< -----+ |
. +--+---+ +---------+ | |
. | | |
. V {smtp | |
. +------+ /+===+===+\ |
. | MTA | || dsn || |
/+==========+\ +--+---+ \+=======+/ |
|| MESSAGE || . ^ ^ |
||----------|| . {smtp | | |
|| Envelope || . | | |
|| SMTP || V | | |
|| RFC2822 || +------+ | | /+==+==+\
|| Content || | MTA +-------------------+ | || mdn ||
|| RFC2822 || +--+---+ | \+=====+/
|| MIME || | {local, smtp, | |
\+==========+/ V {lmtp | |
. +------+ | |
. | +-----------------------+ |
. | MDA | |
. | |<--------------------+ |
. +-+--+-+ | |
. local} | | | |
. V | | |
. +------+ | /+===+===+\ |
. | sMS | | || sieve || |
. +-+--+-+ | \+=======+/ |
. | | | {pop, imap ^ |
. | V V | |
. | +------+ | |
. | | uMS | | |
. | +--+---+ | |
. | | {pop, imap, | |
. V V {local | |
. +------+ | |
. | +------------------------+ |
...........>| rMUA | |
| +----------------------------------+
+------+
+------+ +---------+
............+ oMUA |...................................| Disp |
. +--+-+-+ +---------+
. ******* imap}| | ^
. * oMS *<-----+ | {smtp,submission |
. *******local} | |
. | ***************** |
. +------V-----*------------+ *MHS |
. | +------+ * +------+ | * +---------+ |
. | | oMSA +---O-->| hMSA | |..*......| Bounces | |
. | +------+ * +--+---+ | * +---------+ |
. +------------*------+-----+ * ^ |
. MSA * V {smtp * | |
/+==========+\ * +------+ * /+===+===+\ |
|| MESSAGE || * | MTA | * || dsn || |
||----------|| * +--+---+ * \+=======+/ |
|| Envelope || * . {smtp * ^ ^ |
|| SMTP || * V * | | |
|| RFC2822 || * +------+ * | | /+==+==+\
|| Content || * | MTA +----*---------+ | || mdn ||
|| RFC2822 || * +--+---+ * | \+=====+/
|| MIME || * smtp}| {local * | |
\+==========+/ MDA * | {lmtp * | |
. +------------+------V-----+ * | |
. | +------+ * +------+ | * | |
. | | | * | | +--*-------------+ |
. | | rMDA |<--O---+ hMDA | | * |
. | | | * | | |<-*-----------+ |
. | +-+----+ * +------+ | * | |
. +---+--+-----*------------+ * | |
. | | ***************** | |
. pop} +--+ +-+ | |
. imap} | | {local | |
. ****************V******* | |
. * | +------+ *rMS /+===+===+\ |
. * | | srMS | * || sieve || |
. * V +----+-+ * \+=======+/ |
. * +------+ pop}| | * ^ |
. * | urMS |<-----+ | * | |
. * +--+---+ imap} | * | |
. ************************ | |
. | | | |
. local} | | {pop, | |
. | +------+ | {imap | |
. +->| |<-+ | |
...........>| rMUA +-------------------------------+ |
| +----------------------------------------+
+------+
Figure 5: Protocols and Services Figure 5: Protocols and Services
4.1. Message Data 4.1. Message Data
The purpose of the Mail Handling Service is to exchange a message The purpose of the Mail Handling Service (MHS) is to exchange a
object among participants [RFC2822] [RFC0822]. Hence all of the message object among participants [RFC2822] [RFC0822]. Hence all of
underlying mechanisms are merely in the service of getting that its underlying mechanisms are merely in the service of getting that
message from its Originator to its Recipients. A message can be message from its Originator to its Recipients. A message can be
explicitly labeled as to its nature [RFC3458]. explicitly labeled as to its nature [RFC3458].
A message comprises a transit handling envelope and the end-user A message comprises a transit handling envelope and the end-user
message content. The envelope contains handling information used by message content. The envelope contains handling information used by
the Message Handling Service, or generated by it. The content is the MHS, or generated by it. The content is divided into a
divided into a structured header and the body. The body may be structured header and the body. The body may be unstructured simple
unstructured simple lines of text, or it may be a tree of multi-media lines of text, or it may be a tree of multi-media subordinate
subordinate objects, called body-parts. objects, called body-parts, or attachments.
Internet Mail has some special control data: Internet Mail has some special control data:
Delivery Status Notification (DSN): Delivery Status Notification (DSN):
A Delivery Status Notification (DSN) is a message that can be A Delivery Status Notification (DSN) is a message that can be
generated by the Mail Handling Service (MSA, MTA or MDA) and sent generated by the MHS (MSA, MTA or MDA) and sent to the
to the RFC2821.MailFrom address. The mailbox for this is shown as RFC2821.MailFrom address. The mailbox for this is shown as
Bounces in Figure 5 It provides information about message transit, Bounces in Figure 5. It provides information about message
such as transmission errors or successful delivery. [RFC3461] transit, such as transmission errors or successful delivery.
[RFC3461]
Message Disposition Notification (MDN): Message Disposition Notification (MDN):
A Message Disposition Notification (MDN) is a message that can be A Message Disposition Notification (MDN) is a message that can be
generated by an rMUA and is sent to the generated by an rMUA and is sent to the
Disposition-Notification-To address(es). The mailbox for this is Disposition-Notification-To address(es). The mailbox for this is
shown as Disp in Figure 5. It provides information about user- shown as Disp in Figure 5. It provides information about user-
level, Recipient-side message processing, such as indicating that level, Recipient-side message processing, such as indicating that
the message has been displayed [RFC3798] or the form of content the message has been displayed [RFC3798] or the form of content
that can be supported. [RFC3297] that can be supported. [RFC3297]
Message Filtering (SIEVE): Message Filtering (SIEVE):
SIEVE is a scripting language that permits specifying conditions SIEVE is a scripting language that permits specifying conditions
for differential handling of mail, at the time of delivery for differential handling of mail, typically at the time of
[RFC3028]. It can be conveyed in a variety of ways, as a MIME delivery [RFC3028]. It can be conveyed in a variety of ways, as a
part. Figure 5 shows a Sieve specification going from the rMUA to MIME part. Figure 5 shows a Sieve specification going from the
the MDA. However filtering can be done at many different points rMUA to the MDA. However filtering can be done at many different
along the transit path and any one or more of them might be points along the transit path and any one or more of them might be
subject to Sieve directives, especially within a single ADMD. subject to Sieve directives, especially within a single ADMD.
Hence the Figure shows only one relationship, for simplicity. Hence the Figure shows only one relationship, for (relative)
simplicity.
4.1.1. Envelope 4.1.1. Envelope
Information that is directly used by, or produced by, the MHS is Information that is directly used by, or produced by, the MHS is
called the "envelope". It controls and records handling activities called the "envelope". It controls and records handling activities
by the transfer service. Internet Mail has a fragmented framework by the transfer service. Internet Mail has a fragmented framework
for handling this "handling" information. The envelope exists partly for handling this "handling" information. The envelope exists partly
in the transfer protocol SMTP [RFC2821] and partly in the message in the transfer protocol SMTP [RFC2821] and partly in the message
object [RFC2822]. The SMTP specification uses the term to refer only object [RFC2822]. The SMTP specification uses the term to refer only
to the transfer-protocol information. to the transfer-protocol information.
skipping to change at page 22, line 33 skipping to change at page 22, line 33
| | MailFrom | Source | | | MailFrom | Source |
| | RcptTo | Originator | | | RcptTo | Originator |
| IP | IP Address | Latest Relay Client | | IP | IP Address | Latest Relay Client |
+-----------------------+-------------+---------------------+ +-----------------------+-------------+---------------------+
Layered Identities Layered Identities
4.2. User-Level Services 4.2. User-Level Services
Interactions at the user level entail protocol exchanges, distinct Interactions at the user level entail protocol exchanges, distinct
from those that occur at lower layers of the architecture. Because from those that occur at lower layers of the Internet Mail
architecture, which is above the Internet Transport layer. Because
the motivation for email, and much of its use, is for interaction the motivation for email, and much of its use, is for interaction
among humans, the nature and details of these protocol exchanges among humans, the nature and details of these protocol exchanges
often are determined by the needs of human and group communication. often are determined by the needs of human and group communication.
In terms of efforts to specify behaviors, one effect of this is to In terms of efforts to specify behaviors, one effect of this is to
require subjective guidelines, rather than strict rules, for some require subjective guidelines, rather than strict rules, for some
aspects of system behavior. Mailing Lists provide particularly aspects of system behavior. Mailing Lists provide particularly
salient examples of this. salient examples of this.
4.2.1. Mail User Agent (MUA) 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.
The Origination-side (oMUA) creates a message and performs initial The Origination-side MUA (oMUA) creates a message and performs
"submission" into the transfer infrastructure, via a Mail Submission initial "submission" into the transfer infrastructure, via a Mail
Agent (MSA). It can also perform any creation- and posting-time Submission Agent (MSA). It can also perform any creation- and
archival. An MUA outbox is part of the origination-side MUA. posting-time archival in its Message Store (oMS). An MUA's oMS will
typically include a folder for messages under development (Drafts), a
folder for messages waiting to be sent (Queued or Unsent) and a
folder for messages that have been successfully posted for
transmission (Sent).
The Recipient-side rMUA works on behalf of the end-user Recipient to The Recipient-side MUA (rMUA) works on behalf of the end-user
process received mail. This includes generating user-level return Recipient to process received mail. This includes generating user-
control messages, display and disposition of the received message, level return control messages, displaying and disposing of the
and closing or expanding the user communication loop, by initiating received message, and closing or expanding the user communication
replies and forwarding new messages. loop, by initiating replies and forwarding new messages.
An MUA can, itself, have a distributed implementation, such as a NOTE: Although not shown in Figure 5, an MUA can, itself, have a
"thin" user interface module on a limited end-user device, with the distributed implementation, such as a "thin" user interface module
bulk of the MUA functionality operated remotely on a more capable on a limited end-user device, with the bulk of the MUA
server. An example of such an architecture might use IMAP [RFC3501] functionality operated remotely on a more capable server. An
for most of the interactions between an MUA client and an MUA server. example of such an architecture might use IMAP [RFC3501] for most
of the interactions between an MUA client and an MUA server. A
standardized approach for such scenarios is defined by [RFC4550].
A Mediator is special class of MUA. It performs message re-posting, A Mediator is special class of MUA. It performs message re-posting,
as discussed in Section 2.1. as discussed in Section 2.1.
Identity fields relevant to the MUA include: Identity fields relevant to the MUA include:
RFC2822.From RFC2822.From
Set by: Originator Set by: Originator
skipping to change at page 24, line 34 skipping to change at page 24, line 40
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 of the Originator. preferences of the Originator.
4.2.2. Message Store (MS) 4.2.2. Message Store (MS)
An MUA can employ a long-term Message Store (MS). A rich set of An MUA can employ a long-term Message Store (MS). Figure 5 depicts
choices for the use of that store derives from permitting more than an Origination-side Ms (oMS) and a Recipient-side MS (rMS). There is
one to be associated with a single user, demonstrated as a Server- a rich set of choices for configuring a store, because any MS may
based (sMS) User-based MS (uMS) in Figure 5. The sMS is shown as comprise a distributed set of component stores. In Figure 5, the rMS
being remote from the MUA and the uMS as being local. Further the demonstrates this by showing an rMS that is located on a remote
relationship between two message stores can vary. Between the MDA server (srMS) and an rMS that is on the same machine as the MUA
and the MUA, these choices are supported by a wide variety of (urMS). The relationship between two message stores, themselves, can
protocol options. vary.
The operational relationship among MSs can be: The operational relationship among MSs can be:
Online: Online:
Only a remote MS is used, with messages being accessible only when Only a remote MS is used, with messages being accessible only when
the MUA is attached to the MS, and the MUA repeatedly fetches all the MUA is attached to the MS, and the MUA repeatedly fetches all
or part of a message, from one session to the next. or part of a message, from one session to the next.
Offline: Offline:
The MS is local to the user, and messages are completely moved The MS is local to the user, and messages are completely moved
from any remote store, rather than (also) being retained there. from any remote store, rather than (also) being retained there.
Disconnected: Disconnected:
An r MS and a uMS are kept synchronized, for all or part of their An rMS and a uMS are kept synchronized, for all or part of their
contents, while there is a connection between them. While they contents, while there is a connection between them. While they
are disconnected, mail can continue to arrive at the rMS and the are disconnected, mail can continue to arrive at the rMS and the
user may continue to make changes to the uMS. Upon reconnections, user may continue to make changes to the uMS. Upon reconnections,
the two stores are re-synchronized. the two stores are re-synchronized.
4.3. MHS-Level Services 4.3. MHS-Level Services
4.3.1. Mail Submission Agent (MSA) 4.3.1. Mail Submission Agent (MSA)
A Mail Submission Agent (MSA) accepts the message submission from the A Mail Submission Agent (MSA) accepts the message submission from the
oMUA and enforces the policies of the hosting ADMD and the oMUA and enforces the policies of the hosting ADMD and the
requirements of Internet standards. Enforcement might be passive, requirements of Internet standards. An MSA represents an unusual
involving review and approval or rejection, or it might be active, functional dichotomy. A portion of its task is to represent MUA
involving direct modification of the message. An MSA implements a (uMSA) interests during message posting, to facilitate posting
server function to MUAs and a client function to MTAs (or MDAs). success, and another portion is to represent MHS (hMSA) interests.
This is best modeled, as shown in Figure 5, with two sub-components,
one for the oMUA (oMSA) and one for the MHS (hMSA)
Examples of MSA-styled functions, in the world of paper mail, might The hMSA's function is to take transit responsibility for a message
range across the very different capabilities of administrative that conforms to the relevant Internet standards and to local site
assistants, postal drop boxes, and post office front-counter policies. It rejects messages that are not in conformance. The
employees. oMSA's is to perform final message preparation for submission and to
effect the transfer of responsibility to the MHS, via the hMSA. The
amount of preparation will depend upon the local implementations.
Examples of oMSA tasks could be to add header fields, such as Date:
and Message-ID, to modify portions of the message from local
notations to Internet standards, such as expanding an address to its
formal RFC2822 representation.
The MUA/MSA interface can be implemented within a single host and use Historically, standards-based MUA/MSA interactions have used SMTP
private conventions for its interactions. Historically, standards- [RFC2821]. A recent alternative is SUBMISSION [RFC2476]. Although
based MUA/MSA interactions have used SMTP [RFC2821]. However a SUBMISSION derives from SMTP, it uses a separate TCP port and imposes
recent alternative is SUBMISSION [RFC2476]. Although SUBMISSION distinct requirements, such as access authorization.
derives from SMTP, it on a separate TCP port and imposes distinct
requirements, such as access authorization.
Identities relevant to the MSA include: Identities relevant to the MSA include:
RFC2821.HELO/.EHLO RFC2821.HELO/.EHLO
Set by: Source Set by: Source
The MSA can 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: Mediator or Originator Source
This is an end-to-end string that specifies an email address for This is an end-to-end string that specifies an email address for
receiving return control information, such as "bounces". The name receiving return control information, such as "bounces". The name
of this field is misleading, because it is not required to specify of this field is misleading, because it is not required to specify
either the author or the agent responsible for submitting the either the author or the agent responsible for submitting the
message. Rather, the agent responsible for submission specifies message. Rather, the agent responsible for submission specifies
the RFC2821.MailFrom address. Ultimately the simple basis for the RFC2821.MailFrom address. Ultimately the simple basis for
deciding what address needs to be in the RFC2821.MailFrom is to deciding what address needs to be in the RFC2821.MailFrom is to
determine what address needs to be informed about transmission- determine what address needs to be informed about transmission-
level problems (and, possibly, successes.) level problems (and, possibly, successes.)
skipping to change at page 26, line 31 skipping to change at page 26, line 40
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.
RFC2821.Received RFC2821.Received
Set by: Source Set by: Originator Source
An MSA can 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.3.2. Mail Transfer Agent (MTA) 4.3.2. Mail Transfer Agent (MTA)
A Mail Transfer Agent (MTA) relays mail for one application-level A Mail Transfer Agent (MTA) relays mail for one application-level
"hop". It is like a packet-switch or IP router in that its job is to "hop". It is like a packet-switch or IP router in that its job is to
make routing assessments and to move the message closer to the make routing assessments and to move the message closer to the
skipping to change at page 27, line 8 skipping to change at page 27, line 16
Hence a change in data form, such as to the MIME Content-Transfer- Hence a change in data form, such as to the MIME Content-Transfer-
Encoding, is within the purview of an MTA, whereas removal or Encoding, is within the purview of an MTA, whereas removal or
replacement of body content is not. Also it can add trace replacement of body content is not. Also it can add trace
information. Of course email objects are typically much larger than information. Of course email objects are typically much larger than
the payload of a packet or datagram, and the end-to-end latencies are the payload of a packet or datagram, and the end-to-end latencies are
typically much higher. typically much higher.
Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect
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
Internet, is that they do not require prior arrangement between the
independent administrations operating the different MTAs. Given the
importance of spontaneity and serendipity in the world of human
communications, this lack of prearrangement between the participants
is a core benefit of Internet Mail and remains a core requirement for
it.
Identities relevant to the MTA include: Identities relevant to the MTA include:
RFC2821.HELO/.EHLO RFC2821.HELO/.EHLO
Set by: Relay Set by: Relay
The MTA can 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: Originator or Mediator 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 MailFrom Rather the agent responsible for submission specifies the MailFrom
address. Ultimately the simple basis for deciding what address address. Ultimately the simple basis for deciding what address
needs to be in the RFC2821.MailFrom is to determine what address needs to be in the RFC2821.MailFrom is to determine what address
needs to be informed about transmission-level problems (and, needs to be informed about transmission-level problems (and,
skipping to change at page 28, line 35 skipping to change at page 28, line 36
4.3.3. Mail Delivery Agent (MDA) 4.3.3. Mail Delivery Agent (MDA)
A Mail Delivery Agent (MDA) delivers email to the Recipient's A Mail Delivery Agent (MDA) delivers email to the Recipient's
mailbox. It can provide distinctive, address-based functionality, mailbox. It can provide distinctive, address-based functionality,
made possible by its detailed knowledge of the properties of the made possible by its detailed knowledge of the properties of the
destination address. This knowledge might also be present elsewhere destination address. This knowledge might also be present elsewhere
in the Recipient's ADMD, such as at an organizational border in the Recipient's ADMD, such as at an organizational border
(Boundary) Relay. However it is required for the MDA, if only (Boundary) Relay. However it is required for the MDA, if only
because the MDA must know where to deliver the message. because the MDA must know where to deliver the message.
As with an MSA, an MDA serves two roles, as depicted in Figure 5.
Formal transfer of responsibility, called "delivery" is effected
between the two components that embody these roles. The MHS portion
(hMDA) primarily functions as a server SMTP engine. A common
additional role is to re-direct the message to an alternative
address, as specified by the recipient addressee's preferences. The
job of the recipient portion of the MDA (rMDA) is to perform any
delivery-actions are desired by the recipient.
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:
skipping to change at page 29, line 29 skipping to change at page 29, line 36
communication infrastructure, in a sequence of independent communication infrastructure, in a sequence of independent
transmissions through some number of MTAs. A very different task is transmissions through some number of MTAs. A very different task is
a User-level sequence of postings and deliveries, through Mediators. a User-level sequence of postings and deliveries, through Mediators.
A Mediator forwards a message, through a re-posting process. The A Mediator forwards a message, through a re-posting process. The
Mediator does share some functionality with basic MTA relaying, but Mediator does share some functionality with basic MTA relaying, but
it enjoys a degree of freedom with both addressing and content that it enjoys a degree of freedom with both addressing and content that
is not available to MTAs. is not available to MTAs.
RFC2821.HELO/.EHLO RFC2821.HELO/.EHLO
Set by: Source or Relay Set by: Mediator Source
The MSA can 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: Originator or Mediator 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.)
skipping to change at page 31, line 34 skipping to change at page 31, line 36
Aliasing is a simple re-addressing facility, available in most MDA Aliasing is a simple re-addressing facility, available in most MDA
implementations. It is performed just before delivering a message to implementations. It is performed just before delivering a message to
the specified Recipient's mailbox. Instead the message is submitted the specified Recipient's mailbox. Instead the message is submitted
back to the transfer service, for delivery to one or more alternate back to the transfer service, for delivery to one or more alternate
addresses. Although implemented as part of the message delivery addresses. Although implemented as part of the message delivery
service, this facility is strictly a Recipient user function. It service, this facility is strictly a Recipient user function. It
resubmits the message, replacing the envelope address, on behalf of resubmits the message, replacing the envelope address, on behalf of
the mailbox address that was listed in the envelope. the mailbox address that was listed in the envelope.
What is most distinctive about this forwarding mechanism is how What is most distinctive about this forwarding mechanism is how
closely it compares to normal MTA store-and-forward Relaying. In closely it compares to normal MTA store-and-forward Relaying. Its
reality its only interesting difference is that it changes the only interesting difference is that it changes the RFC2821.RcptTo
RFC2821.RcptTo value. Having the change be this small makes it easy value. Having the change be this small makes it easy to view
to view aliasing as a part of the lower-level mail relaying activity. aliasing as a part of the lower-level mail relaying activity.
However the small change has a large semantic impact: The designated However the small change has a large semantic impact: The designated
recipient has chosen a new recipient. recipient has chosen a new recipient.
Hence that original recipient SHOULD become responsible for any Hence that original recipient SHOULD become responsible for any
handling issues. This change would be reflected by replacing the handling issues. This change would be reflected by replacing the
message's RFC2821.MailFrom address to be one within the scope of the message's RFC2821.MailFrom address to be one within the scope of the
ADMD doing the aliasing. 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:
skipping to change at page 32, line 4 skipping to change at page 32, line 6
Hence that original recipient SHOULD become responsible for any Hence that original recipient SHOULD become responsible for any
handling issues. This change would be reflected by replacing the handling issues. This change would be reflected by replacing the
message's RFC2821.MailFrom address to be one within the scope of the message's RFC2821.MailFrom address to be one within the scope of the
ADMD doing the aliasing. 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.
RFC2821.MailFrom RFC2821.MailFrom
Set by: Mediator or original Source Set by: Originator or Mediator Originator or Mediator Source
The agent responsible for submission to an alias address will The agent responsible for submission to an alias address will
often retain the original address to receive handling Bounces. often retain the original address to receive handling Bounces.
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
skipping to change at page 32, line 47 skipping to change at page 33, line 4
Also called Re-Directing, Re-Sending differs from Forwarding by Also called Re-Directing, Re-Sending differs from Forwarding by
virtue of having the Mediator "splice" a message's addressing virtue of having the Mediator "splice" a message's addressing
information, to connect the Originator of the original message and information, to connect the Originator of the original message and
the Recipient of the new message. This permits them to have direct the Recipient of the new message. This permits them to have direct
exchange, using their normal MUA Reply functions. Hence the new exchange, using their normal MUA Reply functions. Hence the new
Recipient sees the message as being From the original Originator, Recipient sees the message as being From the original Originator,
even if the Mediator adds commentary. even if the Mediator adds commentary.
Identities specified in a resent message include Identities specified in a resent message include
RFC2822.From 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
If this field is present in the original message, it is retained If this field is present in the original message, it is retained
in the Resent message. in the Resent message.
RFC2822.Sender RFC2822.Sender
Set by: original Source Set by: Originator or Mediator Originator or Mediator Source
This field is expected to contain the original Sender value. This field is expected to contain the original Sender value.
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
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
skipping to change at page 35, line 40 skipping to change at page 35, line 43
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: Originator or Mediator Originator or Mediator Source
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: Originator or Mediator Source
This can contain the original address to be notified of This can contain the original address to be notified of
transmission issues, or the mailing list agent can set it to transmission issues, or the mailing list agent can set it to
contain a new Notification address. Typically the value is set to contain a new Notification address. Typically the value is set 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
skipping to change at page 37, line 29 skipping to change at page 37, line 31
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: Originator or Mediator Source
This can retain the original value or can be set to a new address This can retain the original value or can be set to a new address
RFC2822.TO, RFC2822.CC, RFC2822.BCC RFC2822.TO, RFC2822.CC, RFC2822.BCC
Set by: original Recipient Set by: original Recipient
These usually retain their original addresses. These usually retain their original addresses.
RFC2821.MailFrom RFC2821.MailFrom
Set by: original Source or Mediator Set by: Originator or Mediator Source
The agent responsible for gatewaying the message can 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 can record a Received header field, to indicate the
transition from original posting to the new messaging environment. transition from original posting to the new messaging environment.
5.5. Boundary Filter 5.5. Boundary Filter
Organizations often enforce security boundaries by subjecting Organizations often enforce security boundaries by subjecting
messages to analysis, for conformance with the organization's safety messages to analysis, for conformance with the organization's safety
policies. An example is detection of content classed as spam or a policies. An example is detection of content classed as spam or a
virus. A Filter might alter the content, to render it safe, such as virus. A Filter might alter the content, to render it safe, such as
by removing content deemed unacceptable. Typically these actions by removing content deemed unacceptable. Typically these actions
skipping to change at page 38, line 27 skipping to change at page 38, line 29
This document does not specify any new Internet Mail functionality. This document does not specify any new Internet Mail functionality.
Consequently it is not intended to introduce any security Consequently it is not intended to introduce any security
considerations. considerations.
However its discussion of the roles and responsibilities for However its discussion of the roles and responsibilities for
different mail service modules, and the information they create, different mail service modules, and the information they create,
highlights the considerable security issues that are present when highlights the considerable security issues that are present when
implementing any component of the Internet Mail service. In implementing any component of the Internet Mail service. 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 or authorship can be
encrypted. authenticated or encrypted.
7. References 7. References
7.1. Normative 7.1. Normative
[RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10,
RFC 821, August 1982. RFC 821, August 1982.
[RFC0822] Crocker, D., "Standard for the format of ARPA Internet [RFC0822] Crocker, D., "Standard for the format of ARPA Internet
text messages", STD 11, RFC 822, August 1982. text messages", STD 11, RFC 822, August 1982.
skipping to change at page 40, line 42 skipping to change at page 40, line 43
[RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition [RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition
Notification", RFC 3798, May 2004. Notification", RFC 3798, May 2004.
[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Procedures for Message Header Fields", RFC 3864, Procedures for Message Header Fields", RFC 3864,
September 2004. September 2004.
[RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME
Header Fields", RFC 4021, March 2005. Header Fields", RFC 4021, March 2005.
[RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support
Diverse Service Environments (Lemonade) Profile",
June 2006.
7.2. 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),
skipping to change at page 41, line 23 skipping to change at page 41, line 29
This work derives from a section in draft-hutzler-spamops This work derives from a section in draft-hutzler-spamops
[ID-spamops]. Discussion of the Source actor role was greatly [ID-spamops]. Discussion of the Source actor role was greatly
clarified during discussions in the IETF's Marid working group. clarified during discussions in the IETF's Marid working group.
Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful
insight on the framework and details of the original drafts. insight on the framework and details of the original drafts.
Later reviews and suggestions were provided by Nathaniel Borenstein, Later reviews and suggestions were provided by Nathaniel Borenstein,
Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed, Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed,
Eric Hall, Brad Knowles, Bruce Lilly, Mark E. Mallett, David Eric Hall, Brad Knowles, John Leslie, Bruce Lilly, Mark E. Mallett,
MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim, Hector David MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim,
Santos, Jochen Topf, Willemien Hoogendoorn. Marshall Rose, Hector Santos, Jochen Topf, Willemien Hoogendoorn,
Valdis Kletnieks.
Diligent proof-reading was performed by Bruce Lilly, Diligent proof-reading was performed by Bruce Lilly,
Author's Address Author's Address
Dave Crocker Dave Crocker
Brandenburg InternetWorking Brandenburg InternetWorking
675 Spruce Drive 675 Spruce Drive
Sunnyvale, CA 94086 Sunnyvale, CA 94086
USA USA
Phone: +1.408.246.8253 Phone: +1.408.246.8253
Email: dcrocker@bbiw.net Email: dcrocker@bbiw.net
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2006). Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property 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
 End of changes. 93 change blocks. 
241 lines changed or deleted 257 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/