| < draft-crocker-email-arch-03.txt | draft-crocker-email-arch-04.txt > | |||
|---|---|---|---|---|
| ©À | ||||
| SMTP D. Crocker | SMTP D. Crocker | |||
| Internet-Draft Brandenburg InternetWorking | Internet-Draft Brandenburg InternetWorking | |||
| Expires: August 15, 2005 February 14, 2005 | Expires: September 29, 2005 March 28, 2005 | |||
| Internet Mail Architecture | Internet Mail Architecture | |||
| draft-crocker-email-arch-03 | draft-crocker-email-arch-04 | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft and is subject to all provisions | This document is an Internet-Draft and is subject to all provisions | |||
| of section 3 of RFC 3667. By submitting this Internet-Draft, each | of Section 3 of RFC 3667. By submitting this Internet-Draft, each | |||
| author represents that any applicable patent or other IPR claims of | author represents that any applicable patent or other IPR claims of | |||
| which he or she is aware have been or will be disclosed, and any of | which he or she is aware have been or will be disclosed, and any of | |||
| which he or she become aware will be disclosed, in accordance with | which he or she become aware will be disclosed, in accordance with | |||
| RFC 3668. | RFC 3668. | |||
| 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 | other groups may also distribute working documents as Internet- | |||
| 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 August 15, 2005. | This Internet-Draft will expire on September 29, 2005. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The Internet Society (2005). | Copyright (C) The Internet Society (2005). | |||
| Abstract | Abstract | |||
| Over its thirty-four year history, Internet mail has undergone | Over its thirty-four year history, Internet Mail has undergone | |||
| significant changes in scale and complexity. The first standardized | significant changes in scale and complexity, as it has become a | |||
| architecture for email specified a simple split between the user | global infrastructure service. The first standardized architecture | |||
| world, in the form of Mail User Agents (MUA), and the transmission | for email specified a simple split between the user world, in the | |||
| world, in the form of the Mail Handling Service (MHS) composed of | form of Mail User Agents (MUA), and the transmission world, in the | |||
| Mail Transfer Agents (MTA). Core aspects of the service, such as | form of the Mail Handling Service (MHS) composed of Mail Transfer | |||
| address and message style, have remained remarkably constant. | Agents (MTA). Core aspects of the service, such as address and | |||
| However public discussion of the architecture has not kept pace with | message style, have remained remarkably constant. Today, Internet | |||
| the real-world refinements. This document offers an enhanced | Mail is marked by many independent operators, many different | |||
| Internet Mail architecture to reflect the current service. | components for providing users service and many others for performing | |||
| message transfer. Public discussion of the architecture has not kept | ||||
| pace with the real-world technical and 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 Discussion venue . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1.3 Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 1.3 Changes . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Email Actor Roles . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2.1 User Actors . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.1 User Actors . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2.2 MHS Actors . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 2.2 MHS Actors . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 2.3 Administrative Actors . . . . . . . . . . . . . . . . . . . . 11 | 2.3 Administrative Actors . . . . . . . . . . . . . . . . . . 11 | |||
| 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 3.1 Mailbox Addresses . . . . . . . . . . . . . . . . . . . . . . 13 | 3.1 Mailbox Addresses . . . . . . . . . . . . . . . . . . . . 13 | |||
| 3.2 Domain Names . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 3.2 Domain Names . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 3.3 Message Identifiers . . . . . . . . . . . . . . . . . . . . . 14 | 3.3 Message Identifiers . . . . . . . . . . . . . . . . . . . 15 | |||
| 3.4 Identity Referencing Convention . . . . . . . . . . . . . . . 15 | 3.4 Identity Referencing Convention . . . . . . . . . . . . . 15 | |||
| 4. Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 4. Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.1 Message . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 4.1 Message . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.2 Mail User Agent (MUA) . . . . . . . . . . . . . . . . . . . . 19 | 4.2 Mail User Agent (MUA) . . . . . . . . . . . . . . . . . . 20 | |||
| 4.3 Mail Submission Agent (MSA) . . . . . . . . . . . . . . . . . 21 | 4.3 Mail Submission Agent (MSA) . . . . . . . . . . . . . . . 22 | |||
| 4.4 Mail Transfer Agent (MTA) . . . . . . . . . . . . . . . . . . 22 | 4.4 Mail Transfer Agent (MTA) . . . . . . . . . . . . . . . . 23 | |||
| 4.5 Mail Delivery Agent (MDA) . . . . . . . . . . . . . . . . . . 24 | 4.5 Mail Delivery Agent (MDA) . . . . . . . . . . . . . . . . 25 | |||
| 4.6 Message Store (MS) . . . . . . . . . . . . . . . . . . . . . . 25 | 4.6 Message Store (MS) . . . . . . . . . . . . . . . . . . . . 26 | |||
| 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 5.1 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | 5.1 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 5.2 ReSending . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 5.2 ReSending . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 5.3 Mailing Lists . . . . . . . . . . . . . . . . . . . . . . . . 30 | 5.3 Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 5.4 Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 5.4 Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 5.5 Security Filter . . . . . . . . . . . . . . . . . . . . . . . 34 | 5.5 Boundary Filter . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 34 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 35 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 7.1 References - Normative . . . . . . . . . . . . . . . . . . . . 34 | 7.1 References - Normative . . . . . . . . . . . . . . . . . . 35 | |||
| 7.2 Reference - Descriptive . . . . . . . . . . . . . . . . . . . 36 | 7.2 Reference - Descriptive . . . . . . . . . . . . . . . . . 38 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . 37 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37 | A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| Intellectual Property and Copyright Statements . . . . . . . . 38 | Intellectual Property and Copyright Statements . . . . . . . . 39 | |||
| 1. Introduction | 1. Introduction | |||
| Over its thirty-four year history, Internet mail has undergone | Over its thirty-four year history, Internet Mail has undergone | |||
| significant changes in scale and complexity. The first standardized | significant changes in scale and complexity, as it has become a | |||
| architecture for email specified a simple split between the user | global infrastructure service. | |||
| world, in the form of Mail User Agents (MUA), and the transmission | ||||
| world, in the form of the Mail Handling Service (MHS) composed of | ||||
| Mail Transfer Agents (MTA). | ||||
| The MHS is responsible for accepting a message from one User and | The first standardized architecture for email specified a simple | |||
| delivering it to one or more others. | split between the user world, in the form of Mail User Agents (MUA), | |||
| and the transmission world, in the form of the Mail Handling Service | ||||
| (MHS) composed of Mail Transfer Agents (MTA). The MHS is responsible | ||||
| for accepting a message from one User and delivering it to one or | ||||
| more others. | ||||
| +--------+ | +--------+ | |||
| +---------------->| User | | +---------------->| User | | |||
| | +--------+ | | +--------+ | |||
| | . | | . | |||
| +--------+ | +--------+ . | +--------+ | +--------+ . | |||
| | User +--+--------->| User | . | | User +--+--------->| User | . | |||
| +--------+ | +--------+ . | +--------+ | +--------+ . | |||
| . | . . | . | . . | |||
| . | +--------+ . . | . | +--------+ . . | |||
| . +-->| User | . . | . +-->| User | . . | |||
| . +--------+ . . | . +--------+ . . | |||
| . . . . | . . . . | |||
| . . . . | . . . . | |||
| . . . . | . . . . | |||
| +--------------------------------------+ | +--------------------------------------+ | |||
| | Mail Handling Service (MHS) | | | Mail Handling Service (MHS) | | |||
| +--------------------------------------+ | +--------------------------------------+ | |||
| Figure 1: Basic Email Service Model | Figure 1: Basic Internet Mail Service Model | |||
| Over time the operational service has sub-divided each of these | Today, Internet Mail is marked by many independent operators, many | |||
| "layers" into more specialized modules. Core aspects of the service, | different components for providing users service and many other | |||
| such as address and message style, have remained remarkably constant. | components for performing message transfer. So it is not surprising | |||
| that the operational service has sub-divided each of these "layers" | ||||
| into more specialized modules. Core aspects of the service, such as | ||||
| 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, and the elaboration to each "level" of the | |||
| architecture is discussed separately. | architecture is discussed separately. The term "Internet Mail" is | |||
| used to refer to the entire collection of user and transfer | ||||
| components. | ||||
| For Internet mail, the term "end-to-end" usually refers to a single | For Internet Mail, the term "end-to-end" usually refers to a single | |||
| posting and the set of deliveries directly resulting from its single | posting and the set of deliveries directly resulting from its single | |||
| transiting of the MHS. However, note that some uses of email | transiting of the MHS. However, note that some uses of email | |||
| consider the entire email service -- including Originator and | consider the entire email service -- including Originator and | |||
| Recipient -- as a subordinate component. For these services, | Recipient -- as a subordinate component. For these services, "end- | |||
| "end-to-end" refers to points outside of the email service. Examples | to-end" refers to points outside of the email service. Examples are | |||
| are voicemail over email [RFC2423], EDI over email [RFC1767], and | voicemail over email [RFC2423], EDI over email [RFC1767], and | |||
| facsimile over email.[ID-ffpim] | 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: | ||||
| Any attempt to provide a retroactive description, for a service | ||||
| that 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 | o An email object | |||
| o Global addressing | o Global addressing | |||
| o A connected sequence of point-to-point transfer mechanisms | o An asynchronous sequence of point-to-point transfer mechanisms | |||
| o No prior arrangement between Originator and Recipient | o No prior arrangement between Originator and Recipient | |||
| 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 | |||
| The end-to-end portion of the service is the message. Broadly the | o No requirement for Originator and Recipient to be online at the | |||
| message, itself, is divided between handling control information and | same time. | |||
| user message content. | ||||
| A precept to the design of Internet mail is permitting user-to-user | The end-to-end portion of the service is the email object, called a | |||
| message. Broadly the message, itself, is divided between handling | ||||
| control information and user message content. | ||||
| A precept to the design of Internet Mail is permitting user-to-user | ||||
| and MTA-to-MTA interoperability with no prior, direct administrative | and MTA-to-MTA interoperability with no prior, direct administrative | |||
| arrangement. That is, all participants rely on having the core | arrangement. That is, all participants rely on having the core | |||
| services be universally supported, either directly or through | services be universally supported, either directly or through | |||
| Gateways that translate between Internet mail standards and other | Gateways that translate between Internet Mail standards and other | |||
| email conventions. | email conventions. | |||
| For localized environments (Edge networks) prior, administrative | For localized environments (Edge networks) prior, administrative | |||
| arrangement can include access control, routing constraints and | arrangement can include access control, routing constraints and | |||
| lookup service configuration. In recent years one change to local | lookup service configuration. In recent years one change to local | |||
| environments is an increased requirement for authentication or, at | environments is an increased requirement for authentication or, at | |||
| least, accountability. In these cases, the server performs explicit | least, accountability. In these cases, the server performs explicit | |||
| validation of the client's identity. | validation of the client's identity. | |||
| 1.2 Discussion venue | 1.2 Discussion venue | |||
| skipping to change at page 5, line 22 ¶ | skipping to change at page 5, line 40 ¶ | |||
| it attends to end-to-end infrastructure and architecture issues more | it attends to end-to-end infrastructure and architecture issues more | |||
| than other email-related mailing lists. | than other email-related mailing lists. | |||
| 1.3 Changes | 1.3 Changes | |||
| This is intended to be the last major revision, prior to seeking | This is intended to be the last major revision, prior to seeking | |||
| publication. | publication. | |||
| Significant changes to this version: | Significant changes to this version: | |||
| Administrative Domain: Extensive discussion of this operational | Administrative Unit: Changed from Administrative Domain to | |||
| construct, including distinguishing User, Edge and Transit ADs. | Administrative Unit, to remove possible confusion with "domain | |||
| This elaborates the reference to "providers" in earlier drafts. | name". Added Tussle reference | |||
| Mediator: Extensive revision both to the description of Mediator | ||||
| and use of the construct throughout the document. | ||||
| Gateway: The construct of a gateway is elaborated. | Sieve: Noted ability to have other places to run sieve | |||
| instructions. | ||||
| Set by: Tables that had an entry for "Actor:" have been changed to | Word Smithing: Assorted small tweaks to definitions, diagrams and | |||
| "Set by:" in order to clarify the nature of the Actor reference | comments. | |||
| being made. It is intended to indicate who is responsible for | ||||
| setting the identity, rather than indicate what identity is | ||||
| referred to. The specific references were carefully reviewed and | ||||
| modified, to reflect this focus. The list of "set by" entries was | ||||
| extensively reviewed, with substantial modifications made. | ||||
| Editorial proofing: A complete word-smithing pass over the | Notices, Bounces and Disp: Added Bounce module to Services diagram, | |||
| document. | to make clear that MHS return messages can go to an independent | |||
| address. Dotted link to MSA shows responsibility for setting | ||||
| Notices address. Changed "Notification" to "Bounce", to use more | ||||
| popular term and to avoid confusion with MDN notices. Added Disp | ||||
| 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: | |||
| o User | o User | |||
| o Mail Handling Service (MHS) | o Mail Handling Service (MHS) | |||
| o Administrative Domain | o Administrative Unit | |||
| 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 Domains. | motivation for distinguishing Administrative Units. | |||
| 2.1 User Actors | 2.1 User Actors | |||
| Users are the sources and sinks of messages. They may have an | Users are the sources and sinks of messages. They may be humans or | |||
| exchange that iterates and they may expand or contract the set of | processes. They may have an exchange that iterates and they may | |||
| Users participating in a set of exchanges. In Internet Mail there | expand or contract the set of Users participating in a set of | |||
| are three types of user-level Actors: | exchanges. In Internet Mail there are three types of user-level | |||
| 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, shared MHS. Users are customers of this | performed by a monolithic Mail Handling Service (MHS), even though | |||
| service. | the actual service may be provided by many independent organizations. | |||
| Users are customers of this service. | ||||
| The following depicts the relationships among them. | The following depicts the flow of messages among Actors. | |||
| +------------+ | +------------+ | |||
| | Originator |<--------------+ | | Originator |<--------------+ | |||
| +-+---+----+-+ | | +-+---+----+-+ | | |||
| | | | | | | | | | | |||
| | | V | | | | V | | |||
| | | +-----------+ | | | | +-----------+ | | |||
| | | | Recipient | | | | | | Recipient | | | |||
| | | +-----------+ | | | | +-----------+ | | |||
| | | | | | | | | |||
| skipping to change at page 7, line 28 ¶ | skipping to change at page 7, line 28 ¶ | |||
| | V V | | | | V V | | | |||
| | +-----------+ +---+---+---+ | | +-----------+ +---+---+---+ | |||
| | | Mediator +--->| Recipient | | | | Mediator +--->| Recipient | | |||
| | +-----------+ +-----------+ | | +-----------+ +-----------+ | |||
| | | | | |||
| 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. | Recipients. As described below, the MHS has a "Source" role, that | |||
| correlates with the Author role. | ||||
| 2.1.2 Recipient | 2.1.2 Recipient | |||
| The Recipient is a consumer of delivered content. | The Recipient is a consumer of delivered content. As described | |||
| below, the MHS has a "Dest" role, that correlates with the Recipient | ||||
| role. | ||||
| A Recipient may close the user-level communication loop by creating | A Recipient may close the user-level communication loop by creating | |||
| and submitting a new message that replies to an Originator. An | and submitting a new message that replies to an Originator. An | |||
| 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 the Recipient's | |||
| disposition of the message. See Section 4.1. | disposition of the message. See Section 4.1. | |||
| 2.1.3 Mediator | 2.1.3 Mediator | |||
| A Mediator receives, aggregates, reformulates and redistributes | A Mediator receives, aggregates, reformulates and redistributes | |||
| messages as part of a potentially-protracted, higher-level exchange | messages as part of a potentially-protracted, higher-level exchange | |||
| among Users. Example uses of Mediators include group dialogue and | among Users. Example 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 exchanges. However they serve very different | with the underlying MHS transfer exchanges. However they serve very | |||
| purposes and operate is very different ways. Mediators are | different purposes and operate is 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 an envelope address, a Mediator is viewed | |||
| by the Mail Handling Service as a Recipient. When submitting | by the Mail Handling Service as a Recipient. When submitting | |||
| messages, the Mediator is an Originator. What is distinctive is that | messages, the Mediator is an Originator. What is distinctive is that | |||
| a Mediator preserves the Originator information of the message it | a Mediator preserves the Originator information of the message it | |||
| reformulates, but may make meaningful changes to the content. Hence | reformulates, but may make meaningful changes to the content. Hence | |||
| the MHS sees a new message, but Users receive a message that is | the MHS sees a new message, but Users receive a message that is | |||
| interpreted as primarily being from -- or, at least, initiated by -- | interpreted as primarily being from -- or, at least, initiated by -- | |||
| the author of the original message. The role of a Mediator permits | the author of the original message. The role of a Mediator permits | |||
| skipping to change at page 8, line 34 ¶ | skipping to change at page 8, line 40 ¶ | |||
| and adding content or regulating which users may participate and | and adding content or regulating which users may participate and | |||
| when. The popular example of this role is a group mailing list. A | when. The popular example of this role is a group mailing list. A | |||
| sequence of mediators may even perform a series of formal steps, such | sequence of mediators may even perform a series of formal steps, such | |||
| as reviewing, modifying and approving a purchase request. | 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 of emulating a Relay, so Gateway is | mail services. Its goal is to emulate a Relay, so Gateway is | |||
| described in the next section. | described in more detail, in the next section. | |||
| 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 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 Destination 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 only one, and | multiple Relays in the sequence. It is legal to have no separate | |||
| for intra-organization mail services, this is common. | Relay, where the Source and Dest interact directly. For intra- | |||
| organization mail services, it is common to have only one Relay. | ||||
| +------------+ +-----------+ | +------------+ +-----------+ | |||
| | Originator | | Recipient | | | Originator | | Recipient | | |||
| +-----+------+ +-----------+ | +-----+------+ +-----------+ | |||
| | ^ | | ^ | |||
| | Mail Handling Service | | | Mail Handling Service | | |||
| /+=================================================+\ | /+=================================================+\ | |||
| || | | || | || | | || | |||
| || | | || | || | | || | |||
| V | | V | | |||
| +---------+ +--------+ +----+----+ | +---------+ +--------+ +----+----+ | |||
| | | | |<------------+ | | | | | |<------------+ | | |||
| | Source +...>| Notice | | Dest | | | Source +...>| Bounce | | Dest | | |||
| | | | |<---+ | | | | | | |<---+ | | | |||
| +----+----+ +--------+ | +---------+ | +----+----+ +--------+ | +---------+ | |||
| | | ^ | | | ^ | |||
| V | | | V | | | |||
| +---------+ +----+----+ +----+----+ | +---------+ +----+----+ +----+----+ | |||
| | Relay +-->.......-->| Relay +-->| Relay | | | Relay +-->.......-->| Relay +-->| Relay | | |||
| +---------+ +----+----+ +---------+ | +---------+ +----+----+ +---------+ | |||
| | | | | |||
| V | V | |||
| +---------+ | +---------+ | |||
| | Gateway +-->... | | Gateway +-->... | |||
| +---------+ | +---------+ | |||
| Figure 3: Relationships Among MHS Actors | Figure 3: Relationships Among MHS Actors | |||
| 2.2.1 Source | 2.2.1 Source | |||
| The Source role is responsible for ensuring that a message is valid | The Source role is responsible for ensuring that a message is valid | |||
| for posting and then submitting it to a Relay. Validity includes | for posting and then submitting it to a Relay. Validity includes | |||
| conformance with Internet mail standards, as well as with local | conformance with Internet Mail standards, as well as with local | |||
| operational policies. The source may simply review the message for | operational policies. The source may simply review the message for | |||
| conformance, and reject it if there are errors, or it may create some | conformance, and reject it if there are errors, or it may create some | |||
| or all of the necessary information. | or all of the necessary information. | |||
| 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 Domain. | |||
| 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 Notifications Handler | 2.2.2 Bounce Handler | |||
| The Notifications Handler processes service notifications that are | The Bounce Handler processes service notifications that are generated | |||
| generated by the MHS, as a result of its efforts to transfer or | by the MHS, as a result of its efforts to transfer or deliver the | |||
| deliver the message. Notices may be about failures or completions | message. Notices may be about failures or completions and are sent | |||
| and are sent to an address that is specified by the Source. This | to an address that is specified by the Source. This Bounce handling | |||
| Notices handling address (also known as a Bounce or Return address) | address (also known as a Return address) might have no visible | |||
| might have no visible characteristics in common with the address of | characteristics in common with the address of the Originator or | |||
| the Originator or Source. | Source. | |||
| 2.2.3 Relay | 2.2.3 Relay | |||
| A mail Relay performs email transfer-service routing and | A mail Relay performs email transfer-service routing and store-and- | |||
| store-and-forward. It adds envelope-level handling information and | forward. It adds envelope-level handling information and then | |||
| then (re-)transmits the message on towards its Recipient(s). A Relay | (re-)transmits the message on towards its Recipient(s). A Relay may | |||
| may 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 may 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 network. This is | |||
| above any underlying packet-switching network that they might be | above any underlying packet-switching network that they might be | |||
| using. Hence, interesting email scenarios can involve three levels | using and below any gateways or other user-level Mediators. | |||
| of store-and-forward: | ||||
| In other words, interesting email scenarios can involve three, | ||||
| 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 | ||||
| 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 Notifications (Bounce) | Originator and send an error message to the Bounce (Bounce) address. | |||
| address. (The potential for looping is avoided by having this | (The potential for looping is avoided by having this message, itself, | |||
| message, itself, contain no Notifications 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. It operates as a User process, but its | heterogeneous mail services. Its purpose is simply to emulate a | |||
| purpose is simply to Relay messages. The more closely a Gateway is | Relay and the closer it comes to this, the better. However it | |||
| able to operate as a Relay, the better. Differences between mail | operates at the User level, because it must be able to modify message | |||
| services can be as small as minor syntax variations, but usually | content. | |||
| encompass significant, semantic distinctions. For example, the | ||||
| concept of an email address might be as different as a hierarchical, | Differences between mail services can be as small as minor syntax | |||
| machine-specific address versus a flat, global name space. Or | variations, but usually encompass significant, semantic distinctions. | |||
| between text-only content and multi-media. Hence the Relay function | For example, the concept of an email address might be as different as | |||
| in a Gateway offers the minor challenge in design. The more | a hierarchical, machine-specific address versus a flat, global name | |||
| significant challenge is in ensuring the user-to-user functionality | space. Or between text-only content and multi-media. Hence the | |||
| that matches syntax and semantics of independent email standards | Relay function in a Gateway offers the minor challenge in design. | |||
| suites. | The more significant challenge is in ensuring the user-to-user | |||
| functionality that matches syntax and semantics of independent email | ||||
| standards suites. | ||||
| The basic test of a Gateway's adequacy is, of course, whether an | The basic test of a Gateway's adequacy is, of course, whether an | |||
| Originator 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? | |||
| 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 Domain (AD). Examples include an end-user operating | Administrative Unit (AU). Examples include an end-user operating | |||
| their desktop client, a department operating a local Relay, an IT | their desktop client, a department operating a local Relay, an IT | |||
| department operating an enterprise Relay, and an ISP operating a | department operating an enterprise Relay, and an ISP operating a | |||
| public, shared email service. These can be configured into many | public, shared email service. These can be configured into many | |||
| combinations of administrative and operational relationships, with | combinations of administrative and operational relationships, with | |||
| each Administrative Domain potentially having a complex arrangement | each Administrative Unit potentially having a complex arrangement of | |||
| of functional components. Figure 4 depicts the relationships among | functional components. Figure 4 depicts the relationships among AUs. | |||
| ADs. Perhaps the most salient aspect of an AD is the differential | Perhaps the most salient aspect of an AU is the differential trust | |||
| trust that determines its policies for activities within the AD, | that determines its policies for activities within the AU, versus | |||
| versus those involving interactions with other ADs. | those involving interactions with other AUs. The architectural | |||
| impact of needing to have boundaries between AU's is discussed in | ||||
| Basic components of AD distinction include: | [Tussle] | |||
| Transit: These are Mail Service Providers (MSP) offering | Basic components of AU distinction include: | |||
| value-added capabilities for Edge ADs, such as aggregation and | ||||
| filtering. | ||||
| 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. | 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- | ||||
| added capabilities for Edge AUs, such as aggregation and | ||||
| filtering. | ||||
| Note that Transit services are quite different from packet-level | Note that Transit services are quite different from packet-level | |||
| transit operation. Whereas end-to-end packet transfers usually go | transit operation. Whereas end-to-end packet transfers usually go | |||
| through intermediate routers. Email exchange across the open | through intermediate routers, email exchange across the open Internet | |||
| Internet is often directly between the Edge ADs, at the email level. | is often directly between the Edge AUs, at the email level. | |||
| +------ +------+ +------+ | +------ +------+ +------+ | |||
| | AD-1 | | AD-3 | | AD-4 | | | AU-1 | | AU-3 | | AU-4 | | |||
| | ---- | | ---- | | ---- | | | ---- | | ---- | | ---- | | |||
| | | +---------------------->| | | | | | | +---------------------->| | | | | |||
| | User | | |-Edge-+---->|-User | | | User | | |-Edge-+---->|-User | | |||
| | | | | +--->| | | | | | | | | +--->| | | | | |||
| | V | | | +------+ +------+ | | V | | | +------+ +------+ | |||
| | Edge-+----+ | | | Edge-+----+ | | |||
| | | | +---------+ | | | | | +---------+ | | |||
| +------+ | | AD-2 | | | +------+ | | AU-2 | | | |||
| | | ------- | | | | | ------- | | | |||
| | | | | | | | | | | |||
| +--->|-Transit-+---+ | +--->|-Transit-+---+ | |||
| | | | | | | |||
| +---------+ | +---------+ | |||
| Figure 4: Administrative Domains (AD) | Figure 4: Administrative Units (AU) Example | |||
| Edge networks may use proprietary email standards internally. | Edge networks may 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 distinctions calls for | |||
| additional care in assessing transitions of responsibility, as well | additional care in assessing transitions of responsibility, as well | |||
| as the accountability and authorization relationships among | as the accountability and authorization relationships among | |||
| participants in email transfer. | participants in email transfer. | |||
| The interactions between functional components within an | The interactions between functional components within an | |||
| Administrative Domain are subject to the policies of that domain. | Administrative Unit are subject to the policies of that domain. | |||
| Policies can cover such things as reliability, access control, | Policies can cover such things as reliability, access control, | |||
| accountability and even content evaluation and modification. They | accountability and even content evaluation and modification. They | |||
| may be implemented in different functional components, according to | may be implemented in different functional components, according to | |||
| the needs of the Administrative Domain. For example, see | the needs of the Administrative Unit. For example, see [ID-spamops]. | |||
| [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 AD to host services for other ADs. Common AD | possible for one AU to host services for other AUs. Common AU | |||
| examples are: | examples are: | |||
| Enterprise Service Providers: | Enterprise Service Providers: | |||
| Operating an organization's internal data and/or mail operations. | 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 their job to | |||
| perform email functions, but to provide an environment in which | perform email functions, but to provide an environment in which | |||
| those functions can be performed. | those functions can be performed. | |||
| Mail Service Providers: | Mail Service Providers: | |||
| Operate 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]. The other two are the domain | mailbox address <addr-spec> [RFC2822] Also see <address> and | |||
| name <domain> [RFC1034] and message identifier <msg-id> [RFC2822]. | <mailbox> in [RFC2821]. The other two are the domain name <domain> | |||
| Section 3.2 and message identifier <msg-id> [RFC2822]. | ||||
| 3.1 Mailbox Addresses | 3.1 Mailbox Addresses | |||
| "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 | side contains a globally interpreted name for an Administrative Unit. | |||
| domain. This domain name might refer to an entire organization, or | Domain Names are discussed in Section 3.2. | |||
| to a collection of machines integrated into a homogeneous service, or | ||||
| to a single machine. Domain names are defined and operated through | ||||
| the Domain Name Service (DNS) [RFC1034], [RFC1035], [RFC2181]. | ||||
| 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 | left-hand side (local-part) of an addr-spec. This permits sub- | |||
| sub-addressing, such as for distinguishing different discussion | addressing, such as for distinguishing different discussion groups by | |||
| groups by the same participant. However it must be stressed that | the same participant. However it must be stressed that these | |||
| these conventions are strictly private to the user's organization and | conventions are strictly private to the user's organization and must | |||
| must not be interpreted by any domain except the one listed in the | not be interpreted by any domain except the one listed in the right- | |||
| right-hand side of the addr-spec. | hand side of the addr-spec. | |||
| 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 "FAX=+12027653000/ | and iFax [RFC2304], such as | |||
| 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. A domain name can be administered to refer to | IP Addresses. Conceptually, the name might encompass an entire | |||
| individual users, but this is not common practice. The name is | organization, or a collection of machines integrated into a | |||
| structure as a hierarchical sequence of sub-names, separated by dots | homogeneous service, or only a single machine. A domain name can be | |||
| ("."). | administered to refer to individual users, but this is not common | |||
| practice. The name is structured as a hierarchical sequence of sub- | ||||
| names, separated by dots ("."). Domain names are defined and | ||||
| operated through the Domain Name Service (DNS) [RFC1034], [RFC1035], | ||||
| [RFC2181]. | ||||
| When not part of a mailbox address, a domain name is used in Internet | When not part of a mailbox address, a domain name is used in Internet | |||
| mail to refer to a node that took action upon the message, such as | Mail to refer to a node that took action upon the message, such as | |||
| providing the administrative scope for a message identifier, or | providing the administrative scope for a message identifier, or | |||
| performing transfer processing. | performing transfer processing. | |||
| 3.3 Message Identifiers | 3.3 Message Identifiers | |||
| Like mailbox addresses, message identifiers have two distinct parts, | Like mailbox addresses, message identifiers have two distinct parts, | |||
| divided by an at-sign ("@"). The right-hand side is globally | divided by an at-sign ("@"). The right-hand side is globally | |||
| interpreted and specifies the administrative domain assigning the | interpreted and specifies the Administrative Unit assigning the | |||
| identifier. The left-hand side of the at-sign contains a string that | identifier. The left-hand side of the at-sign contains a string that | |||
| is globally opaque and serves to uniquely identify the message within | is globally opaque and serves to uniquely identify the message within | |||
| the domain referenced on the right-hand side. The duration of | the domain referenced on the right-hand side. The duration of | |||
| uniqueness for the message identifier is undefined. | uniqueness for the message identifier is undefined. | |||
| The identifier may be assigned by the user or by any component of the | The identifier may be assigned by the user or by any component of the | |||
| system along the path, within the AD responsible for the indicated | system along the path, within the AU responsible for the indicated | |||
| domain. Although Internet mail standards provide for a single | domain. Although Internet Mail standards provide for a single | |||
| identifier, more than one is sometimes assigned. | identifier, more than one is sometimes assigned. | |||
| 3.4 Identity Referencing Convention | 3.4 Identity Referencing Convention | |||
| In this document, fields references to identities are labeled in a | In this document, fields references to identities are labeled in a | |||
| two-part, dotted notation. The first part cites the document | two-part, dotted notation. The first part cites the document | |||
| defining the identity and the second defines the name of the | defining the identity and the second defines the name of the | |||
| identity. Hence, <RFC2822.From> is the From field in an email | identity. Hence, <RFC2822.From> is the From field in an email | |||
| content header, and <RFC2821.MailFrom> is the address in the SMTP | content header, and <RFC2821.MailFrom> is the address in the SMTP | |||
| "Mail From" command. | "Mail From" command. | |||
| skipping to change at page 15, line 47 ¶ | skipping to change at page 16, line 6 ¶ | |||
| 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 the specific functional components for | |||
| Internet Mail, and the standard protocols associated with performing | Internet Mail, and the standard protocols associated with performing | |||
| them. | them. | |||
| Software implementations of these architectural components often | ||||
| compress them, such as having the same software do MSA, MTA and MDA | ||||
| functions. However the requirements for each of these components of | ||||
| the service are becoming more extensive. So, their separation is | ||||
| increasingly common. | ||||
| NOTE: | ||||
| A discussion about any interesting system architecture is often | ||||
| complicated by confusion between architecture versus | ||||
| implementation. An architecture defines the conceptual functions | ||||
| of a service, divided into discrete conceptual modules. An | ||||
| implementation of that architecture may combine or separate | ||||
| architectural components, as needed for a particular operational | ||||
| environment. It is important not to confuse the engineering | ||||
| decisions that are made to implement a product, with the | ||||
| 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. | them. Additional protocols and configurations are possible. | |||
| +------+ | +------+ +---------+ | |||
| ...............+ oMUA |<------------------------------+ | ...............+ oMUA |...| Disp |<----------------+ | |||
| . +--+---+ | | . +--+---+ +---------+ | | |||
| . | {smtp, submission | | . | {smtp, | | |||
| . V | | . V {submission | | |||
| . +------+ | | . +------+ +---------+ | | |||
| . | MSA |<--------------------+ | | . | MSA |...| Bounces |< -----+ | | |||
| . +--+---+ | | | . +--+---+ +---------+ | | | |||
| . | {smtp | | | . | | | | |||
| . V | | | . V {smtp | | | |||
| . +------+ /+===+===+\ | | . +------+ /+===+===+\ | | |||
| . | MTA | || dsn || | | . | MTA | || dsn || | | |||
| /+==========+\ +--+---+ \+=======+/ | | /+==========+\ +--+---+ \+=======+/ | | |||
| || MESSAGE || . {smtp ^ ^ | | || MESSAGE || . ^ ^ | | |||
| ||----------|| . | | | | ||----------|| . {smtp | | | | |||
| || Envelope || . | | | | || Envelope || . | | | | |||
| || SMTP || V | | | | || SMTP || V | | | | |||
| || RFC2822 || +------+ | | /+==+==+\ | || RFC2822 || +------+ | | /+==+==+\ | |||
| || Content || | MTA +-------------------+ | || mdn || | || Content || | MTA +-------------------+ | || mdn || | |||
| || RFC2822 || +--+---+ | \+=====+/ | || RFC2822 || +--+---+ | \+=====+/ | |||
| || MIME || | {local, smtp, lmtp | | | || MIME || | {local, smtp, | | | |||
| \+==========+/ V | | | \+==========+/ V {lmtp | | | |||
| . +------+ | | | . +------+ | | | |||
| . | +-----------------------+ | | . | +-----------------------+ | | |||
| . | MDA | | | . | MDA | | | |||
| . | |<--------------------+ | | . | |<--------------------+ | | |||
| . +-+--+-+ | | | . +-+--+-+ | | | |||
| . local} | | | | | . local} | | | | | |||
| . V | | | | . V | | | | |||
| . +------+ | /+===+===+\ | | . +------+ | /+===+===+\ | | |||
| . | MS-1 | | || sieve || | | . | sMS | | || sieve || | | |||
| . +-+--+-+ | \+=======+/ | | . +-+--+-+ | \+=======+/ | | |||
| . | | | {pop, imap ^ | | . | | | {pop, imap ^ | | |||
| . | V V | | | . | V V | | | |||
| . | +------+ | | | . | +------+ | | | |||
| . | | MS-2 | | | | . | | uMS | | | | |||
| . | +--+---+ | | | . | +--+---+ | | | |||
| . | | {pop, imap, local | | | . | | {pop, imap, | | | |||
| . V V | | | . V V {local | | | |||
| . +------+ | | | . +------+ | | | |||
| ...........>| rMUA +------------------------+---------+ | . | +---- -------------------+ | | |||
| ...........>| rMUA | | | ||||
| | +----------------------------------+ | ||||
| +------+ | +------+ | |||
| Figure 5: Protocols and Services | Figure 5: Protocols and Services | |||
| Software implementations of these architectural components often | ||||
| compress them, such as having the same software do MSA, MTA and MDA | ||||
| functions. However the requirements for each of these components of | ||||
| the service are becoming more extensive. So, their separation is | ||||
| increasingly common. | ||||
| NOTE: | ||||
| A discussion about any interesting system architecture is often | ||||
| complicated by confusion between architecture versus | ||||
| implementation. An architecture defines the conceptual functions | ||||
| of a service, divided into discrete conceptual modules. An | ||||
| implementation of that architecture may combine or separate | ||||
| architectural components, as needed for a particular operational | ||||
| environment. It is important not to confuse the engineering | ||||
| decisions that are made to implement a product, with the | ||||
| architectural abstractions used to define conceptual functions. | ||||
| 4.1 Message | 4.1 Message | |||
| 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. Hence, all of the underlying mechanisms | |||
| are merely in the service of getting that message from its Originator | are merely in the service of getting that message from its Originator | |||
| to its Recipients. A message may be explicitly labeled as to its | to its Recipients. A message may be explicitly labeled as to its | |||
| nature. [RFC3458] | 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 text, or it may be a tree of multi-media | |||
| subordinate objects. | subordinate objects, called body-parts. | |||
| Internet mail has distinguished some special versions of messages, | Internet Mail has distinguished some special versions of messages, | |||
| for exchanging control information: | 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) may be generated by the Mail | |||
| Handling Service (MSA, MTA or MDA) and sent to the | Handling Service (MSA, MTA or MDA) and sent to the | |||
| RFC2821.MailFrom address. It provides information about message | RFC2821.MailFrom address. It provides information about message | |||
| transit, such as transmission errors or successful delivery. | transit, such as transmission errors or successful delivery. | |||
| [RFC3461] | [RFC3461] | |||
| Message Disposition Notification (MDN): | Message Disposition Notification (MDN): | |||
| A Message Disposition Notification (MDN) may be generated by an | A Message Disposition Notification (MDN) may be generated by an | |||
| rMUA and is sent to the Disposition-Notification-To address. It | rMUA and is sent to the Disposition-Notification-To address(es). | |||
| provides information about Recipient-side message processing, such | It provides information about user-level, Recipient-side message | |||
| as indicating that the message has been read [RFC2298] or the form | processing, such as indicating that the message has been read | |||
| of content that can be supported. [RFC3297] | [RFC2298] 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 provides a means of specifying conditions for differential | |||
| handling of mail, at the time of delivery. [RFC3028] | handling of mail, at the time of delivery [RFC3028]. Figure 5 | |||
| shows a Sieve specification going from the rMUA to the MDA. | ||||
| However filtering can be done at many different points along the | ||||
| transit path and any one or more of them might be subject to Sieve | ||||
| directives, especially within a single AU. 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 email | Information that is directly used by, or produced by, the MHS is | |||
| transfer service is called the "envelope". It controls and records | called the "envelope". It controls and records handling activities | |||
| handling activities by the transfer service. Internet mail has a | by the transfer service. Internet Mail has a fragmented framework | |||
| fragmented framework for handling this "handling" information. The | for handling this "handling" information. The envelope exists partly | |||
| envelope exists partly in the transfer protocol SMTP [RFC2821] and | in the transfer protocol SMTP [RFC2821] and partly in the message | |||
| partly in the message object [RFC2822]. The SMTP specification uses | object [RFC2822]. The SMTP specification uses the term to refer only | |||
| 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, SMTP-level envelope | content header fields. Upon delivery, some SMTP-level envelope | |||
| information is typically encoded within additional content header | information is typically encoded within additional content header | |||
| fields, such as Return-Path. | fields, such as Return-Path. | |||
| 4.1.2 Message Header Fields | 4.1.2 Message Header Fields | |||
| Header fields are attribute/value pairs covering an extensible range | Header fields are attribute/value pairs covering an extensible range | |||
| of email service, user content and user transaction meta-information. | of email service, user content and user transaction meta-information. | |||
| The core set of header fields is defined in [RFC2822], [RFC0822]. It | The core set of header fields is defined in [RFC2822], [RFC0822]. It | |||
| is common to extend this set, for different applications. A complete | is common to extend this set, for different applications. Procedures | |||
| set of registered header fields is being developed through | for registering headers are provided in [RFC4021]. A complete set of | |||
| [ID-hdr-reg]. | registered header fields is being developed through [ID-hdr-reg]. | |||
| 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 structured into a composition of multi-media, body-part | |||
| attachments, using MIME [RFC2045], [RFC2046], [RFC2047], [RFC2048], | attachments, using MIME [RFC2045], [RFC2046], [RFC2047], [RFC2048], | |||
| and [RFC2049]. It should be noted that MIME structures each | and [RFC2049]. MIME structures each body-part into a recursive set | |||
| body-part into a recursive set of MIME header field meta-data and | of MIME header field meta-data and MIME Content sections. | |||
| 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 | | |||
| skipping to change at page 19, line 47 ¶ | skipping to change at page 20, line 40 ¶ | |||
| infrastructure, via a Mail Submission Agent (MSA). It may also | infrastructure, via a Mail Submission Agent (MSA). It may also | |||
| perform any creation- and posting-time archival. An MUA outbox is | perform any creation- and posting-time archival. An MUA outbox is | |||
| part of the origination-side MUA. | part of the origination-side MUA. | |||
| The Recipient-side rMUA works on behalf of the end-user Recipient to | The Recipient-side rMUA works on behalf of the end-user Recipient to | |||
| process received mail. This includes generating user-level return | process received mail. This includes generating user-level return | |||
| control messages, display and disposition of the received message, | control messages, display and disposition of the received message, | |||
| and closing or expanding the user communication loop, by initiating | and closing or expanding the user communication loop, by initiating | |||
| replies and forwarding new messages. | replies and forwarding new messages. | |||
| An MUA may, itself, have a distributed architecture, such as | An MUA may, itself, have a distributed implementation, such as a | |||
| implementing a "thin" user interface module on a limited end-user | "thin" user interface module on a limited end-user device, with the | |||
| device, with the bulk of the MUA functionality operated remotely on a | bulk of the MUA functionality operated remotely on a more capable | |||
| more capable server. An example of such an architecture might use | server. An example of such an architecture might use IMAP [RFC3501] | |||
| IMAP [RFC3501] for most of the interactions between an MUA client and | for most of the interactions between an MUA client and an MUA server. | |||
| an MUA server. | ||||
| A Mediator is special class of MUA performs message re-posting, as | A Mediator is special class of MUA. It performs message re-posting, | |||
| 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 | |||
| 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 | |||
| skipping to change at page 20, line 39 ¶ | skipping to change at page 21, line 32 ¶ | |||
| 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 should 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 "Notifications" (or "bounces") address, contained in | -- the "Bounce" address, contained in RFC2821.MailFrom -- is made | |||
| RFC2821.MailFrom -- is made by the RFC2822.Sender. Typically the | by the RFC2822.Sender. Typically the Bounce address is the same | |||
| Notifications address is the same as the Sender address. However | as the Sender address. However some usage scenarios require it to | |||
| 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 | |||
| skipping to change at page 21, line 8 ¶ | skipping to change at page 22, line 4 ¶ | |||
| 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 or the Originator. | |||
| 4.3 Mail Submission Agent (MSA) | 4.3 Mail Submission Agent (MSA) | |||
| A Mail Submission Agent (MSA) accepts the message submission from the | A Mail Submission Agent (MSA) accepts the message submission from the | |||
| oMUA and enforces the policies of the hosting AD and the requirements | oMUA and enforces the policies of the hosting AU and the requirements | |||
| of Internet standards. Enforcement might be passive, involving | of Internet standards. Enforcement might be passive, involving | |||
| review and approval or rejection, or it might be active, involving | review and approval or rejection, or it might be active, involving | |||
| direct modification of the message. An MSA implements a server | direct modification of the message. An MSA implements a server | |||
| function to MUAs and a client function to MTAs (or MDAs). | function to MUAs and a client function to MTAs (or MDAs). | |||
| Examples of MSA-styled functions, in the world of paper mail, might | Examples of MSA-styled functions, in the world of paper mail, might | |||
| range across the very different capabilities of administrative | range across the very different capabilities of administrative | |||
| assistants, postal drop boxes, and post office front-counter | assistants, postal drop boxes, and post office front-counter | |||
| employees. | employees. | |||
| The MUA/MSA interface can be implemented within a single host and use | The MUA/MSA interface can be implemented within a single host and use | |||
| private conventions for its interactions. Historically, | private conventions for its interactions. Historically, standards- | |||
| standards-based MUA/MSA interactions have used SMTP [RFC2821]. | based MUA/MSA interactions have used SMTP [RFC2821]. However a | |||
| However a recent alternative is SUBMISSION [RFC2476]. Although | recent alternative is SUBMISSION [RFC2476]. Although SUBMISSION | |||
| SUBMISSION derives from SMTP, it operates on a separate TCP port, and | derives from SMTP, it operates on a separate TCP port, and will | |||
| will typically impose distinct requirements, such as access | typically impose distinct requirements, such as access authorization. | |||
| authorization. | ||||
| Identities relevant to the MSA include: | Identities relevant to the MSA include: | |||
| RFC2821.HELO or RFC2821.EHLO | RFC2821.HELO or RFC2821.EHLO | |||
| Set by: Source | Set by: Source | |||
| The MSA may specify its hosting domain identity for the SMTP HELO | The MSA may specify its hosting domain identity for the SMTP HELO | |||
| or EHLO command operation. | or EHLO command operation. | |||
| RFC2821.MailFrom | RFC2821.MailFrom | |||
| 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 | |||
| message. Rather, the agent responsible for submission specifies | message. Rather, the agent responsible for submission specifies | |||
| the RFC2821.MailFrom address. Ultimately the simple basis for | the RFC2821.MailFrom address. Ultimately the simple basis for | |||
| deciding what address needs to be in the RFC2821.MailFrom is to | deciding what address needs to be in the RFC2821.MailFrom is to | |||
| determine what address needs to be informed about | determine what address needs to be informed about transmission- | |||
| transmission-level problems (and, possibly, successes.) | level problems (and, 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. | |||
| skipping to change at page 22, line 43 ¶ | skipping to change at page 23, line 39 ¶ | |||
| RFC2821.Received | RFC2821.Received | |||
| Set by: Source | Set by: Source | |||
| An MSA may record a Received header field, to indicate initial | An MSA may record a Received header field, to indicate initial | |||
| submission trace information, including originating host and MSA | submission trace information, including originating host and MSA | |||
| host domain names and/or IP Addresses. | host domain names and/or IP Addresses. | |||
| 4.4 Mail Transfer Agent (MTA) | 4.4 Mail Transfer Agent (MTA) | |||
| A Mail Transfer Agent (MTA) relays mail. It is like a packet-switch | A Mail Transfer Agent (MTA) relays mail for one, application-level | |||
| or IP router in that its job is to make routing assessments and to | "hop". It is like a packet-switch or IP router in that its job is to | |||
| move the message closer to the Recipient(s). Relaying is performed | make routing assessments and to move the message closer to the | |||
| by a sequence of MTAs, until the message reaches its destination MDA. | Recipient(s). Relaying is performed by a sequence of MTAs, until the | |||
| Hence an MTA implements both client and server MTA functionality. It | message reaches its destination MDA(s). Hence an MTA implements both | |||
| does not make changes to addresses in the envelope or reformulate the | client and server MTA functionality. It does not make changes to | |||
| content, except as transfer-encoding requirements dictate. Also it | addresses in the envelope or reformulate the content, except as | |||
| may add trace information. | transfer-encoding requirements dictate. Also it may add trace | |||
| information. Of course email objects are typically much larger than | ||||
| The primary "routing" mechanism for Internet mail is the DNS MX | the payload of a packet or datagram, and the end-to-end latencies are | |||
| record [RFC1035]. As with most network layer mechanisms Internet | typically much higher. | |||
| mail's SMTP supports a basic level of reliability, by virtue of | ||||
| providing for retransmission after a temporary transfer failure. | ||||
| However the degree of persistence by an MTA can be highly variable. | ||||
| Of course email objects are typically much larger than the payload of | ||||
| a packet or datagram, and the end-to-end latencies are typically much | ||||
| higher. Contrary to typical packet switches (and Instant Messaging | ||||
| services) Internet mail MTAs typically store messages in a manner | ||||
| that allows recovery across service interruptions, such as host | ||||
| system shutdown. | ||||
| Internet mail primarily uses SMTP [RFC2821], [RFC0821] to effect | Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect | |||
| point-to-point transfers between peer MTAs. Other transfer | point-to-point transfers between peer MTAs. Other transfer | |||
| mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645]. | mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645]. As with | |||
| most network layer mechanisms Internet Mail's SMTP supports a basic | ||||
| level of reliability, by virtue of providing for retransmission after | ||||
| a temporary transfer failure. Contrary to typical packet switches | ||||
| (and Instant Messaging services) Internet Mail MTAs typically store | ||||
| messages in a manner that allows recovery across service | ||||
| interruptions, such as host system shutdown. However the degree of | ||||
| such robustness and persistence by an MTA can be highly variable. | ||||
| The primary "routing" mechanism for Internet Mail is the DNS MX | ||||
| record [RFC1035], which specifies a host, through which the queried | ||||
| domain can be reached. This presumes a public -- or at least a | ||||
| common -- backbone that permits any attached host to connect to any | ||||
| 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, is a core benefit of Internet mail and remains a core | participants, is a core benefit of Internet Mail and remains a core | |||
| requirement for it. | requirement for it. | |||
| Identities relevant to the MTA include: | Identities relevant to the MTA include: | |||
| RFC2821.HELO | RFC2821.HELO | |||
| Set by: Relay | Set by: Relay | |||
| The MTA may specify its hosting domain identity for the SMTP HELO | The MTA may specify its hosting domain identity for the SMTP HELO | |||
| or EHLO command. 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 end-to-end string that specifies an email address for | This is an MHS end-to-end string that specifies an email address | |||
| receiving return control Notifications, such as "bounces". The | for receiving return control Bounce, such as delivery | |||
| name of this field is misleading, because it is not required to | confirmations and error notices. The protocol name of this field | |||
| specify either the author or the agent responsible for submitting | is misleading, because it is not required to specify either the | |||
| the message. Rather, the agent responsible for submission | author or the agent responsible for submitting the message. | |||
| specifies the MailFrom address. Ultimately the simple basis for | Rather, the agent responsible for submission specifies the | |||
| deciding what address needs to be in the RFC2821.MailFrom is to | MailFrom address. Ultimately the simple basis for deciding what | |||
| determine what address needs to be informed about | address needs to be in the RFC2821.MailFrom is to determine what | |||
| transmission-level problems (and, possibly, successes.) | address needs to be informed about transmission-level problems | |||
| (and, 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. | |||
| skipping to change at page 24, line 30 ¶ | skipping to change at page 25, line 30 ¶ | |||
| An MTA must record a Received header field, to indicate trace | An MTA must record a Received header field, to indicate trace | |||
| information, including source host and receiving host domain names | information, including source host and receiving host domain names | |||
| and/or IP Addresses. | and/or IP Addresses. | |||
| 4.5 Mail Delivery Agent (MDA) | 4.5 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 Domain, such as at an | in the Recipient's Administrative Unit, such as at an organizational | |||
| organizational border Relay. However it is required for the MDA, if | border Relay. However it is required for the MDA, if only because | |||
| only because the MDA must know where to deliver the message. | 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: | |||
| skipping to change at page 24, line 47 ¶ | skipping to change at page 26, line 4 ¶ | |||
| 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 must record a Received header field, to indicate trace | |||
| information, including source host and receiving host domain names | information, including source host and receiving host domain names | |||
| and/or IP Addresses. | and/or IP Addresses. | |||
| 4.6 Message Store (MS) | 4.6 Message Store (MS) | |||
| An MUA can use a long-term Message Store (MS). A rich set of choices | An MUA can use a long-term Message Store (MS). A rich set of choices | |||
| for the use of that store derives from permitting more than one to be | for the use of that store derives from permitting more than one to be | |||
| associated with a single user, demonstrated as MS-1 and MS-2 in | associated with a single user, demonstrated as a server-based MS | |||
| Figure 5. MS-1 is shown as being remote from the MUA and MS-2 as | (sMS) and user-based MS (uMS) in Figure 5. sMS is shown as being | |||
| being local. Further the relationship between two message store may | remote from the MUA and uMS as being local. Further the relationship | |||
| vary. Between the MDA and the MUA, these choices are supported by a | between two message store may vary. Between the MDA and the MUA, | |||
| wide variety of protocol options. | these choices are supported by a wide variety of protocol options. | |||
| The operational relationship among two MSs can be: | The operational relationship among two 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: | |||
| skipping to change at page 25, line 45 ¶ | skipping to change at page 26, line 47 ¶ | |||
| Disconnected: | Disconnected: | |||
| A remote MS and a local MS synchronize all or parts of their | A remote MS and a local MS synchronize all or parts of their | |||
| contents, while connected. The user may make changes while | contents, while connected. The user may make changes while | |||
| disconnected, and the two stores are re-synchronized upon | disconnected, and the two stores are re-synchronized upon | |||
| reconnection. | reconnection. | |||
| 5. Mediators | 5. Mediators | |||
| Basic email transfer is accomplished with an asynchronous | Basic email transfer is accomplished with an asynchronous store-and- | |||
| store-and-forward communication infrastructure, in a sequence of | forward communication infrastructure, in a sequence of independent | |||
| independent transmissions through some number of MTAs. A very | transmissions through some number of MTAs. A very different task is | |||
| different task is a User-level sequence of postings and deliveries, | a User-level sequence of postings and deliveries, through Mediators. | |||
| through Mediators. For such re-postings, a Mediator does share some | For such re-postings, a Mediator does share some functionality with | |||
| functionality with basic MTA relaying, but it enjoys a degree of | basic MTA relaying, but it enjoys a degree of freedom with both | |||
| freedom with both addressing and content that is not available to | addressing and content that is not available to MTAs. | |||
| MTAs. | ||||
| RFC2821.HELO or RFC2821.EHLO | RFC2821.HELO or RFC2821.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 may 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 Notifications, such as "bounces". The | receiving return control Bounces. The name of this field is | |||
| name of this field is misleading, because it is not required to | misleading, because it is not required to specify either the | |||
| specify either the author or the agent responsible for submitting | author or the agent responsible for submitting the message. | |||
| the message. Rather, the agent responsible for submission | Rather, the agent responsible for submission specifies the | |||
| specifies the RFC2821.MailFrom address. Ultimately the simple | RFC2821.MailFrom address. Ultimately the simple basis for | |||
| basis for deciding what address needs to be in the | deciding what address needs to be in the RFC2821.MailFrom is to | |||
| RFC2821.MailFrom is to determine what address needs to be informed | determine what address needs to be informed about transmission- | |||
| 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. | |||
| skipping to change at page 27, line 5 ¶ | skipping to change at page 28, line 6 ¶ | |||
| An MSA may record a Received header field, to indicate initial | An MSA may record a Received header field, to indicate initial | |||
| submission trace information, including originating host and MSA | submission trace information, including originating host and MSA | |||
| host domain names and/or IP Addresses. | host domain names and/or IP Addresses. | |||
| 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 forwarding existing message: | |||
| Curiously, this action provides a basic template for a class of | This action rather curiously provides a basic template for a class | |||
| Mediators. However by itself, it's typical occurrence is not, in | of Mediators. However for it's typical occurrence it is not | |||
| fact, an example of a Mediator. The new message is viewed as | itself an example of a Mediator. The new message is viewed as | |||
| being from the Agent doing the forwarding, rather than being from | being from the Agent doing the forwarding, rather than being from | |||
| the original Originator. | the 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. | |||
| skipping to change at page 28, line 8 ¶ | skipping to change at page 29, line 9 ¶ | |||
| the message is submitted back to the transfer service, for delivery | the message is submitted back to the transfer service, for delivery | |||
| to one or more alternate addresses. Although implemented as part of | to one or more alternate addresses. Although implemented as part of | |||
| the message delivery service, this facility is strictly a Recipient | the message delivery service, this facility is strictly a Recipient | |||
| user function. It resubmits the message, replacing the envelope | user function. It resubmits the message, replacing the envelope | |||
| address, on behalf of the mailbox address that was listed in the | address, on behalf of 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. | 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. | ||||
| However the small change has a large semantic impact: The designated | ||||
| recipient has chosen a new recipient. Hence, that original recipient | ||||
| must become responsible for any handling issues. | ||||
| 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. | |||
| skipping to change at page 28, line 30 ¶ | skipping to change at page 29, line 35 ¶ | |||
| 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: Mediator or original 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 | often retain the original address to receive handling Bounces. | |||
| Notifications. The benefit of retaining the original MailFrom | The benefit of retaining the original MailFrom value is to ensure | |||
| value is to ensure that the origination-side agent knows that | that the origination-side agent knows that there has been a | |||
| there has been a delivery problem. On the other hand, the | delivery problem. On the other hand, the responsibility for the | |||
| responsibility for the problem usually lies with the Recipient, | problem usually lies with the Recipient, since the Alias mechanism | |||
| since the Alias mechanism is strictly under the Recipient's | is strictly under the Recipient's control. | |||
| control. | ||||
| RFC2821.Received | RFC2821.Received | |||
| Set by: Mediator | Set by: Mediator | |||
| The agent should record Received information, to indicate the | The agent should 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 should therefore | |||
| include everything from original posting through final delivery to | include everything from original posting through final delivery to | |||
| the alias. | the alias. | |||
| skipping to change at page 30, line 4 ¶ | skipping to change at page 31, line 6 ¶ | |||
| 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 as for an original RFC2822.From field | field as for an original RFC2822.From field | |||
| RFC2822.Resent-Sender | RFC2822.Resent-Sender | |||
| Set by: Mediator | Set by: Mediator | |||
| 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 | |||
| Notifications address is the same as the Resent-Sender address. | Bounce address is the same as the Resent-Sender address. However | |||
| 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 | |||
| to the original author. | to the original author. | |||
| RFC2821.MailFrom | RFC2821.MailFrom | |||
| skipping to change at page 31, line 29 ¶ | skipping to change at page 32, line 31 ¶ | |||
| standards-track specification, it has not gained significant | standards-track specification, it has not gained significant | |||
| adoption. | 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 common mailing list user operations. The identifiers for | for common mailing list user operations. The identifiers for | |||
| these operations are for the list, itself, and the | these operations are for the list, itself, and the user-as- | |||
| user-as-subscriber. | subscriber. | |||
| 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 | |||
| skipping to change at page 32, line 30 ¶ | skipping to change at page 33, line 30 ¶ | |||
| 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 may contain the original address to be notified of | |||
| transmission issues, or the mailing list agent may set it to | transmission issues, or the mailing list agent may set it to | |||
| contain a new Notification address. Typically, the value is set | contain a new Notification address. Typically, the value is set | |||
| to a new address, so that mailing list members and posters are not | to a new address, so that mailing list members and posters are not | |||
| burdened with transmission-related Notifications. | burdened with transmission-related 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 | |||
| skipping to change at page 33, line 49 ¶ | skipping to change at page 35, line 4 ¶ | |||
| 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 may retain the original value or may 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 may 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 may 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 Security Filter | 5.5 Boundary Filter | |||
| Organizations often enforce security boundaries by having message | Organizations often enforce security boundaries by subjecting | |||
| subjected to analysis for conformance with the organization's safety | messages to analysis, for conformance with the organization's safety | |||
| policies. Examples are detection of content classed as spam or a | policies. An example is detection of content classed as spam or a | |||
| virus. A Security Filter might alter the content, to render it safe, | virus. A Filter might alter the content, to render it safe, such as | |||
| such as by removing content deemed unacceptable. Typically these | by removing content deemed unacceptable. Typically these actions | |||
| actions will result in the addition of content that records the | will result in the addition of content that records the actions. | |||
| 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 should introduce no new security considerations. | |||
| However its discussion of the roles and responsibilities for | However its discussion of the roles and responsibilities for | |||
| different mail service modules, and the information they create, | different mail service modules, and the information they create, | |||
| highlights the considerable security considerations that must be | highlights the considerable security considerations that must be | |||
| present when implementing any component of the Internet mail service. | present when implementing any component of the Internet Mail service. | |||
| In addition, email transfer protocols can operate over authenticated | ||||
| and/or encrypted links, and message content can be authenticated or | ||||
| encrypted. | ||||
| 7. References | 7. References | |||
| 7.1 References - Normative | 7.1 References - Normative | |||
| [ID-hdr-reg] | [ID-hdr-reg] | |||
| "Registration of mail and MIME header fields", | "Registration of mail and MIME header fields", | |||
| draft-klyne-hdrreg-mail-04.txt (work in progress), Apr | draft-klyne-hdrreg-mail-04.txt (work in progress), | |||
| 2004. | Apr 2004. | |||
| [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC | [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, | |||
| 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. | |||
| [RFC1035] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
| specification", STD 13, RFC 1035, November 1987. | specification", STD 13, RFC 1035, November 1987. | |||
| skipping to change at page 35, line 32 ¶ | skipping to change at page 36, line 36 ¶ | |||
| Bodies", RFC 2045, November 1996. | Bodies", RFC 2045, November 1996. | |||
| [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail | |||
| Extensions (MIME) Part Two: Media Types", RFC 2046, | Extensions (MIME) Part Two: Media Types", RFC 2046, | |||
| November 1996. | November 1996. | |||
| [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) | [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) | |||
| Part Three: Message Header Extensions for Non-ASCII Text", | Part Three: Message Header Extensions for Non-ASCII Text", | |||
| RFC 2047, November 1996. | RFC 2047, November 1996. | |||
| [RFC2048] Freed, N., Klensin, J. and J. Postel, "Multipurpose | [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. | |||
| [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. | |||
| skipping to change at page 36, line 13 ¶ | skipping to change at page 37, line 17 ¶ | |||
| 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. | |||
| [RFC2423] Vaudreuil, G. and G. Parsons, "VPIM Voice Message MIME | [RFC2423] Vaudreuil, G. and G. Parsons, "VPIM Voice Message MIME | |||
| Sub-type Registration", RFC 2423, September 1998. | Sub-type Registration", RFC 2423, September 1998. | |||
| [RFC2442] "The Batch SMTP Media Type", RFC 2442, November 1998. | [RFC2442] "The Batch SMTP Media Type", RFC 2442, November 1998. | |||
| [RFC2476] Gellens, R. and J. Klensin, "Message Submission", RFC | [RFC2476] Gellens, R. and J. Klensin, "Message Submission", | |||
| 2476, December 1998. | RFC 2476, December 1998. | |||
| [RFC2645] "On-Demand Mail Relay (ODMR) SMTP with Dynamic IP | [RFC2645] "On-Demand Mail Relay (ODMR) SMTP with Dynamic IP | |||
| Addresses", RFC 2465, August 1999. | Addresses", RFC 2465, August 1999. | |||
| [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, | [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, | |||
| April 2001. | April 2001. | |||
| [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, April | [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, | |||
| 2001. | April 2001. | |||
| [RFC2919] Chandhok, R. and G. Wenger, "List-Id: A Structured Field | [RFC2919] Chandhok, R. and G. Wenger, "List-Id: A Structured Field | |||
| and Namespace for the Identification of Mailing Lists", | and Namespace for the Identification of Mailing Lists", | |||
| RFC 2919, March 2001. | RFC 2919, March 2001. | |||
| [RFC3028] Showalter, T., "Sieve: A Mail Filtering Language", RFC | [RFC3028] Showalter, T., "Sieve: A Mail Filtering Language", | |||
| 3028, January 2001. | RFC 3028, January 2001. | |||
| [RFC3297] Klyne, G., Iwazaki, R. and D. Crocker, "Content | [RFC3297] Klyne, G., Iwazaki, R., and D. Crocker, "Content | |||
| Negotiation for Messaging Services based on Email", RFC | Negotiation for Messaging Services based on Email", | |||
| 3297, July 2002. | RFC 3297, July 2002. | |||
| [RFC3458] Burger, E., Candell, E., Eliot, C. and G. Klyne, "Message | [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message | |||
| Context for Internet Mail", RFC 3458, January 2003. | Context for Internet Mail", RFC 3458, January 2003. | |||
| [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service | [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service | |||
| Extension for Delivery Status Notifications (DSNs)", RFC | Extension for Delivery Status Notifications (DSNs)", | |||
| 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. | |||
| [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME | ||||
| Header Fields", RFC 4021, March 2005. | ||||
| 7.2 Reference - Descriptive | 7.2 Reference - 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), March | Networks", draft-spamops-00 (work in progress), | |||
| 2004. | March 2004. | |||
| [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", RFC | [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", | |||
| 1767, March 1995. | RFC 1767, March 1995. | |||
| [Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden, | ||||
| "Tussle in Cyberspace: Defining Tomorrow‚ÇÖs Internet", | ||||
| ACM SIGCOMM, 2002. | ||||
| Author's Address | Author's Address | |||
| Dave Crocker | Dave Crocker | |||
| Brandenburg InternetWorking | Brandenburg InternetWorking | |||
| 675 Spruce Drive | 675 Spruce Drive | |||
| Sunnyvale, CA 94086 | Sunnyvale, CA 94086 | |||
| USA | USA | |||
| Phone: +1.408.246.8253 | Phone: +1.408.246.8253 | |||
| EMail: dcrocker@bbiw.net | Email: dcrocker@bbiw.net | |||
| Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
| This work derives from a section in draft-hutzler-spamops | This work derives from a section in draft-hutzler-spamops [ID- | |||
| [ID-spamops]. Discussion of the Source actor role was greatly | spamops]. Discussion of the Source actor role was greatly clarified | |||
| clarified during discussions in the IETF's Marid working group. | during discussions in the IETF's Marid working group. | |||
| Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful | Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful | |||
| insight on the framework and details of early drafts. | insight on the framework and details of the original drafts. | |||
| Additional review and suggestions were provided by Nathaniel | Later reviews and suggestions were provided by Nathaniel Borenstein, | |||
| Borenstein, Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, | Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed, | |||
| Ned Freed, Eric Hall, Bruce Lilly, Mark E. Mallett, Chris Newman, | Eric Hall, Brad Knowles, Bruce Lilly, Mark E. Mallett, David | |||
| Daryl Odnert, Rahmat M. Samik-Ibrahim, Hector Santos, Jochen Topf, | MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim, Hector | |||
| Willemien. | Santos, Jochen Topf, Willemien Hoogendoorn. | |||
| Intellectual Property Statement | Intellectual Property Statement | |||
| The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
| Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |||
| pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
| this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
| might or might not be available; nor does it represent that it has | might or might not be available; nor does it represent that it has | |||
| made any independent effort to identify any such rights. Information | made any independent effort to identify any such rights. Information | |||
| on the procedures with respect to rights in RFC documents can be | on the procedures with respect to rights in RFC documents can be | |||
| End of changes. 142 change blocks. | ||||
| 390 lines changed or deleted | 445 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/ | ||||