| < draft-crocker-email-arch-10.txt | draft-crocker-email-arch-11.txt > | |||
|---|---|---|---|---|
| SMTP D. Crocker | SMTP D. Crocker | |||
| Internet-Draft Brandenburg InternetWorking | Internet-Draft Brandenburg InternetWorking | |||
| Intended status: Standards Track February 24, 2008 | Intended status: Standards Track October 31, 2008 | |||
| Expires: August 27, 2008 | Expires: May 4, 2009 | |||
| Internet Mail Architecture | Internet Mail Architecture | |||
| draft-crocker-email-arch-10 | draft-crocker-email-arch-11 | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 1, line 34 ¶ | skipping to change at page 1, line 34 ¶ | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on August 27, 2008. | This Internet-Draft will expire on May 4, 2009. | |||
| Abstract | Abstract | |||
| Over its thirty-five year history Internet Mail has undergone | Over its thirty-five year history, Internet Mail has changed | |||
| significant changes in scale and complexity, as it has become a | significantly in scale and complexity, as it has become a global | |||
| global infrastructure service. The first standardized architecture | infrastructure service. These changes have been evolutionary, rather | |||
| for networked email specified little more than a simple split between | than revolutionary, reflecting a strong desire to preserve both its | |||
| the user world and the transmission world. Core aspects of the | installed base and its usefulness. To collaborate productively on | |||
| service, such as the styles of mailbox address and basic message | this large and complex system, all participants must work from a | |||
| format, have remained remarkably constant. However today's Internet | common view of it and use a common language to describe its | |||
| Mail is distinguished by many independent operators, many different | components and the interactions among them. But the many differences | |||
| components for providing service to users and many others for | in perspective currently make it difficult to know exactly what | |||
| performing message transfer. Public discussion of the service often | another participant means. To serve as the necessary common frame of | |||
| lacks common terminology and a common frame of reference for these | reference, this document describes the enhanced Internet Mail | |||
| components and their activities. Having a common reference model and | architecture, reflecting the current service. | |||
| terminology facilitates discussion about problems with the service, | ||||
| changes in policy, or enhancement to the service's functionality. | ||||
| This document offers an enhanced Internet Mail architecture that | ||||
| targets description of the existing service, in order to facilitate | ||||
| clearer and more efficient technical, operations and policy | ||||
| discussions about email. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. History . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Service Overview . . . . . . . . . . . . . . . . . . . . . 5 | 1.2. Document Conventions . . . . . . . . . . . . . . . . . . . 6 | |||
| 1.3. Document Conventions . . . . . . . . . . . . . . . . . . . 6 | 2. Responsible Actor Roles . . . . . . . . . . . . . . . . . . . 7 | |||
| 1.4. Changes to Previous Version . . . . . . . . . . . . . . . 6 | 2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2. Responsible Actor Roles . . . . . . . . . . . . . . . . . . . 8 | 2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 10 | |||
| 2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 9 | 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 13 | |||
| 2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 12 | 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 15 | 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 3.2. Scope of Email Address Use . . . . . . . . . . . . . . . . 17 | |||
| 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 3.3. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 19 | 3.4. Message Identifier . . . . . . . . . . . . . . . . . . . . 18 | |||
| 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 19 | 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 19 | |||
| 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 21 | 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 25 | 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 27 | |||
| 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 30 | 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 29 | |||
| 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 32 | 4.4. Transition Modes . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 35 | 4.5. Implementation and Operation . . . . . . . . . . . . . . . 33 | |||
| 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 36 | 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 37 | 5.1. Alias . . . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 39 | 5.2. ReSender . . . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 40 | 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 41 | 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 6. Considerations . . . . . . . . . . . . . . . . . . . . . . . . 42 | 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 6.1. Security Considerations . . . . . . . . . . . . . . . . . 42 | 6. Considerations . . . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 6.2. IANA Considerations . . . . . . . . . . . . . . . . . . . 42 | 6.1. Security Considerations . . . . . . . . . . . . . . . . . 40 | |||
| 6.2. IANA Considerations . . . . . . . . . . . . . . . . . . . 41 | ||||
| 6.3. Internationalization . . . . . . . . . . . . . . . . . . . 41 | ||||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 42 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 42 | 7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 7.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 44 | 7.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 44 | |||
| Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 45 | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 45 | |||
| Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 47 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 48 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 48 | Intellectual Property and Copyright Statements . . . . . . . . . . 49 | |||
| 1. Introduction | 1. Introduction | |||
| Over its thirty-five year history Internet Mail has undergone | Over its thirty-five year history, Internet Mail has changed | |||
| significant changes in scale and complexity, as it has become a | significantly in scale and complexity, as it has become a global | |||
| global infrastructure service. The changes have been evolutionary, | infrastructure service. These changes have been evolutionary, rather | |||
| rather than revolutionary, reflecting a strong desire to preserve its | than revolutionary, reflecting a strong desire to preserve both its | |||
| installed base of users and utility. Today, Internet Mail is | installed base and its usefulness. Today, Internet Mail is | |||
| distinguished by many independent operators, many different | distinguished by many independent operators, many different | |||
| components for providing service to users and many other components | components for providing service to users, as well as many different | |||
| for performing message transfer. | components that transfer messages. | |||
| Public collaboration on email technical, operations and policy | Public collaboration on technical, operations, and policy activities | |||
| activities, including those responding to the challenges of email | of email, including those that respond to the challenges of email | |||
| abuse, has brought in a much wider range of participants than email's | abuse, has brought a much wider range of participants into the | |||
| technical community originally had. In order to do work on a large, | technical community. To collaborate productively on this large and | |||
| complex system, they need to share the same view of how it is put | complex system, all participants must work from a common view of it | |||
| together, as well as what terms to use to refer to the pieces and | and use a common language to describe its components and the | |||
| their activities. Otherwise, it is difficult to know exactly what | interactions among them. But the many differences in perspective | |||
| another participant means. It is these differences in each person's | currently make it difficult to know exactly what another participant | |||
| perspective that motivates this document, to describe the realities | means. | |||
| of the current system. Internet mail is the subject of ongoing | ||||
| technical, operations and policy work, and the discussions often are | ||||
| hindered by different models of email service design and different | ||||
| meanings for the same terms. This architecture document seeks to | ||||
| facilitate clearer and more efficient technical, operations and | ||||
| policy exchanges about email. | ||||
| This document offers an enhanced Internet Mail architecture to | It is the need to resolve these differences that motivates this | |||
| reflect the current service. In particular it: | document, which describes the realities of the current system. | |||
| Internet Mail is the subject of ongoing technical, operations, and | ||||
| policy work, and the discussions often are hindered by different | ||||
| models of email service design and different meanings for the same | ||||
| terms. | ||||
| * Documents refinements to the email model | To serve as the necessary common frame of reference, this document | |||
| describes the enhanced Internet Mail architecture, reflecting the | ||||
| current service. The document focuses on: | ||||
| * Clarifies functional roles for the architectural components | * Capturing refinements to the email model | |||
| * Clarifies identity-related issues, across the email service | * Clarifying functional roles for the architectural components | |||
| * Defines terminology for architectural components and their | * Clarifying identity-related issues, across the email service | |||
| * Defining terminology for architectural components and their | ||||
| interactions | interactions | |||
| 1.1. Background | 1.1. History | |||
| The first standardized architecture for networked email specified a | The first standardized architecture for networked email specified a | |||
| simple split between the user world, in the form of Mail User Agents | simple split between the user world, in the form of Mail User Agents | |||
| (MUA), and the transmission world, in the form of the Mail Handling | (MUA), and the transfer world, in the form of the Mail Handling | |||
| Service (MHS) composed of Mail Transfer Agents (MTA). The MHS is | Service (MHS), which is composed of Mail Transfer Agents (MTA). The | |||
| responsible for accepting a message from one User and delivering it | MHS accepts a message from one User and delivers it to one or more | |||
| to one or more others, creating a virtual MUA-to-MUA exchange | other users, creating a virtual MUA-to-MUA exchange environment. | |||
| environment. | ||||
| As shown in Figure 1 this defines two logical "layers" of | ||||
| interoperability. One is directly between Users. The other is | ||||
| between the neighboring components, along the transfer path. In | ||||
| addition, there is interoperability between the layers, first when a | ||||
| message is posted from the User to the MHS and later when it is | ||||
| delivered from the MHS to the User. | ||||
| The operational service has evolved sub-divisions for each of these | As shown in Figure 1, this defines two logical layers of | |||
| layers into more specialized modules. Core aspects of the service, | interoperability. One is directly between Users. The other is among | |||
| such as mailbox addressing and message format style, have remained | the components along the transfer path. In addition, there is | |||
| remarkably constant. So the original distinction between user-level | interoperability between the layers, first when a message is posted | |||
| concerns and transfer-level concerns is retained, but with an | from the User to the MHS and later when it is delivered from the MHS | |||
| elaboration to each level of the architecture. The term "Internet | to the User. | |||
| Mail" is used to refer to the entire collection of user and transfer | ||||
| components and services. | ||||
| For Internet Mail the term "end-to-end" usually refers to a single | The operational service has evolved, although core aspects of the | |||
| posting and the set of deliveries directly resulting from its single | service, such as mailbox addressing and message format style, | |||
| transiting of the MHS. A common exception is with group dialogue | remaining remarkably constant. The original distinction between the | |||
| that is mediated via a mailing list, so that two postings occur | user level and transfer level remains, but with elaborations in each. | |||
| before intended recipients receive an Author's message, as discussed | The term "Internet Mail" is used to refer to the entire collection of | |||
| in Section 2.1.4. In fact some uses of email consider the entire | user and transfer components and services. | |||
| email service -- including Author and Recipient -- as a subordinate | ||||
| component. For these services "end-to-end" refers to points outside | ||||
| of the email service. Examples are voicemail over email [RFC3801], | ||||
| EDI over email [RFC1767] and facsimile over email [RFC4142]. | ||||
| +--------+ | For Internet Mail, the term "end-to-end" usually refers to a single | |||
| +---------------->| User | | posting and the set of deliveries that result from a single transit | |||
| | +--------+ | of the MHS. A common exception is group dialogue that is mediated, | |||
| | ^ | through a Mailing List; in this case, two postings occur before | |||
| +--------+ | +--------+ . | intended Recipients receive an Author's message, as discussed in | |||
| | User +--+--------->| User | . | Section 2.1.3. In fact, some uses of email consider the entire email | |||
| +--------+ | +--------+ . | service, including Author and Recipient, as a subordinate component. | |||
| . | ^ . | For these services, "end-to-end" refers to points outside the email | |||
| . | +--------+ . . | service. Examples are voicemail over email "[RFC3801], EDI over | |||
| . +-->| User | . . | email [RFC1767] and facsimile over email [RFC4142]. | |||
| . +--------+ . . | ||||
| . ^ . . | ||||
| . . . . | ||||
| V . . . | ||||
| +---+----------------+------+------+---+ | ||||
| | . . . . | | ||||
| | +...............>+ . . | | ||||
| | . . . | | ||||
| | +......................>+ . | | ||||
| | . . | | ||||
| | +.............................>+ | | ||||
| | | | ||||
| | Mail Handling Service (MHS) | | ||||
| +--------------------------------------+ | ||||
| Figure 1: Basic Internet Mail Service Model | +--------+ | |||
| ++================>| User | | ||||
| || +--------+ | ||||
| || ^ | ||||
| +--------+ || +--------+ . | ||||
| | User +==++=========>| User | . | ||||
| +---+----+ || +--------+ . | ||||
| . || ^ . | ||||
| . || +--------+ . . | ||||
| . ++==>| User | . . | ||||
| . +--------+ . . | ||||
| . ^ . . | ||||
| . . . . | ||||
| V . . . | ||||
| +---+-----------------+------+------+---+ | ||||
| | . . . . | | ||||
| | .................>. . . | | ||||
| | . . . | | ||||
| | ........................>. . | | ||||
| | . . | | ||||
| | ...............................>. | | ||||
| | | | ||||
| | Mail Handling Service (MHS) | | ||||
| +---------------------------------------+ | ||||
| 1.2. Service Overview | Figure 1: Basic Internet Mail Service Model | |||
| 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 with these components and | |||
| characteristics: | ||||
| * An email object | * An email object | |||
| * Global addressing | * Global addressing | |||
| * An asynchronous sequence of point-to-point transfer mechanisms | * An asynchronous sequence of point-to-point transfer mechanisms | |||
| * No prior arrangement between Author and Recipient | * No prior arrangement between MTAs or between Authors and | |||
| Recipients | ||||
| * No prior arrangement between point-to-point transfer services, | * No prior arrangement between point-to-point transfer services | |||
| over the open Internet | over the open Internet | |||
| * No requirement for Author and Recipient to be online at the | * No requirement for Author, Originator, or Recipients to be | |||
| same time. | online at the same time | |||
| The end-to-end portion of the service is the email object, called a | The end-to-end portion of the service is the email object, called a | |||
| message. Broadly the message, itself, distinguishes between control | "message." Broadly, the message itself distinguishes control | |||
| information for handling, versus the author's message content. | information, for handling, from the Author's content. | |||
| A precept to the design of mail over the open Internet is permitting | A precept to the design of mail over the open Internet is permitting | |||
| user-to-user and MTA-to-MTA interoperability to take place with no | user-to-user and MTA-to-MTA interoperability without prior, direct | |||
| prior, direct arrangement between the independent administrative | arrangement between the independent administrative authorities | |||
| authorities responsible for handling a message. That is, all | responsible for handling a message. All participants rely on having | |||
| participants rely on the core services being universally supported | the core services universally supported and accessible, either | |||
| and accessible, either directly or through gateways that translate | directly or through Gateways that act as translators between Internet | |||
| between Internet Mail and email environments that conform to other | Mail and email environments conforming to other standards. Given the | |||
| standards. Given the importance of spontaneity and serendipity in | importance of spontaneity and serendipity in interpersonal | |||
| the world of human communications, this lack of prearrangement | communications, not requiring such prearrangement between | |||
| between participants is a core benefit of Internet Mail and remains a | participants is a core benefit of Internet Mail and remains a core | |||
| core requirement for it. | requirement for it. | |||
| Within localized networks at the edge of the public Internet, prior | Within localized networks at the edge of the public Internet, prior | |||
| administrative arrangement often is required and can include access | administrative arrangement often is required and can include access | |||
| control, routing constraints and information query service | control, routing constraints, and configuration of the information | |||
| configuration. In recent years one change to local environments is | query service. Although recipient authentication has usually been | |||
| an increased requirement for authentication or, at least, | required for message access since the beginning of Internet Mail, in | |||
| accountability. In these cases a server performs explicit validation | recent years it also has been required for message submission. In | |||
| of the client's identity. | these cases, a server validates the client's identity, whether by | |||
| explicit security protocols or by implicit infrastructure queries to | ||||
| 1.3. Document Conventions | identify "local" participants. | |||
| In this document, references to structured fields of a message use a | ||||
| two-part dotted notation. The first part cites the document that | ||||
| contains the specification for the field and the second is the name | ||||
| of the field. Hence <RFC2822.From> is the From: field in an email | ||||
| content header and <RFC2821.MailFrom> is the address in the SMTP | ||||
| "Mail From" command. | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | ||||
| Discussion venue: Please direct discussion about this document | ||||
| to the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>. | ||||
| 1.4. Changes to Previous Version | ||||
| INSTRUCTIONS TO THE RFC EDITOR: Remove this sub-section prior to | ||||
| publication. | ||||
| Many small editing changes, for wordsmithing improvements to make | ||||
| details more consistent. This section documents the nature and basis | ||||
| for changes with significant impact. | ||||
| Originator->Author: The term "Originator" is used by RFC 2822 more | ||||
| broadly than just the From: field, which specifically defines who | ||||
| the author of the content is. I believe this distinguishes two | ||||
| constructs, one for the content author and one for the first | ||||
| agency that handles the message, in terms of the transfer service. | ||||
| So the change from "Originator" to "Author" seems pretty | ||||
| straightforward. The challenge is in using the term Originator, | ||||
| as defined in RFC 2822 and applying it to the system's | ||||
| architecture. | ||||
| Source->Originator: This change is more of a challenge. We need | ||||
| the "Originator" term and construct, but the architecture is | ||||
| already complex enough. Hence, adding a new construct seems like | ||||
| a very poor resolution. The document has used "Source" as an MHS | ||||
| term for the MSA set of functions. While one could argue against | ||||
| re-labeling it as Originator, I believe this is a reasonable | ||||
| choice and likely to be comfortable for community use, since | ||||
| "Source" does not have an established history. | ||||
| Bounce->Return: 'bounce address' is not accurate, because the | ||||
| address is used for more than that, but it *is* as established | ||||
| term within portions of the broader email community. I also | ||||
| believe the extensive discussion on this point, last year, | ||||
| justifies the change. | ||||
| The problem with saying "Bounce" is that is not merely | ||||
| linguistically impure, it is plain wrong and has already caused | ||||
| serious problems. Witness SPF. Frankly, we need to fix RFC2821, | ||||
| but that's a separate battle to fight and not one for this forum. | ||||
| Although not a verbatim use of "Reverse Path", the related term | 1.2. Document Conventions | |||
| that seems to work publicly is "Return Address". It is already | ||||
| established in the bricks-and-mortar postal world and seems to | ||||
| have some acceptance within parts of the email community. (I've | ||||
| done a draft white paper on authentication for the Messaging Anti- | ||||
| Abuse Working Group and the membership had some debate about this | ||||
| vocabulary choice and converged on agreeing to it.) | ||||
| Is the envelope part of the message? I don't remember whether we | References to structured fields of a message use a two-part dotted | |||
| resolved this. For a variety of reasons, I believe the message | notation. The first part cites the document that contains the | |||
| includes its envelope, and am encouraged to find RFC2822upd says: | specification for the field and the second is the name of the field. | |||
| Hence <RFC2822.From> is the From: header field in an email content | ||||
| header and <RFC2821.MailFrom> is the address in the SMTP "Mail From" | ||||
| command. | ||||
| In the context of electronic mail, messages are viewed as | When occurring without the RFC2822 qualifier, header field names are | |||
| having an envelope and contents. The envelope contains | shown with a colon suffix. For example, From:. | |||
| whatever information is needed to accomplish transmission and | ||||
| delivery. (See [I-D.klensin-rfc2821bis] (Klensin, J., "Simple | ||||
| Mail Transfer Protocol," November 2007.) for a discussion of | ||||
| the envelope.) The contents comprise the object to be | ||||
| delivered to the recipient. This specification applies only to | ||||
| the format and some of the semantics of message contents. | ||||
| rfc2821bis says: | References to labels for actors, functions or components have the | |||
| first letter capitalized. | ||||
| SMTP transports a mail object. A mail object contains an | Also, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | |||
| envelope and content. | NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in | |||
| this document are to be interpreted as described in RFC 2119 | ||||
| [RFC2119] [RFC2119]. | ||||
| I think these justify having the term 'message' as including the | RFC EDITOR: Remove the following paragraph before publication. | |||
| object. | ||||
| Examples of 'new' messages: Section Section 3.3.1contains a list of | Discussion venue: Please direct discussion about this document | |||
| examples, discussing scenarios that might or might not be viewed | to the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>. | |||
| as creating a "new" message, rather than retaining an existing | ||||
| one. The list has been expanded. | ||||
| 2. Responsible Actor Roles | 2. Responsible Actor Roles | |||
| Internet Mail is a highly distributed service, with a variety of | Internet Mail is a highly distributed service, with a variety of | |||
| actors serving different roles. These divide into 3 basic types: | actors playing different roles. These actors fall into three basic | |||
| types: | ||||
| * User | * User | |||
| * Mail Handling Service (MHS) | * Mail Handling Service (MHS) | |||
| * ADministrative Management Domain (ADMD) | * ADministrative Management Domain (ADMD) | |||
| Although related to a technical architecture, the focus on Actors | Although related to a technical architecture, the focus on actors | |||
| concerns participant responsibilities, rather than on functionality | concerns participant responsibilities, rather than functionality of | |||
| of modules. Hence the labels used are different than for classic | modules. For that reason, the labels used are different from those | |||
| email architecture diagrams. | used in classic email architecture diagrams. | |||
| 2.1. User Actors | 2.1. User Actors | |||
| Users are the sources and sinks of messages. They can be humans, | Users are the sources and sinks of messages. Users can be people, | |||
| organizations or processes. They can have an exchange that iterates | organizations, or processes. They can have an exchange that | |||
| and they can expand or contract the set of users participating in a | iterates, and they can expand or contract the set of users that | |||
| set of exchanges. In Internet Mail there are three types of user- | participate in a set of exchanges. In Internet Mail, there are four | |||
| level Actors: | types of Users: | |||
| * Authors | * Authors | |||
| * Recipients | * Recipients | |||
| * Mediators | * Return Handlers | |||
| From the User-level perspective all mail transfer activities are | * Mediators | |||
| performed by a monolithic Mail Handling Service (MHS), even though | ||||
| the actual service can be provided by many independent organizations. | ||||
| Users are customers of this unified service. | ||||
| The following figure depicts the flow of messages among Actors: | Figure 2 shows the primary and secondary flows of messages among | |||
| them. | ||||
| +------------+ | ++==========++ | |||
| | |<---------------------------+ | || Author ||<..................................<.. | |||
| | Author |<----------------+ | | ++=++=++=++=++ . | |||
| | |<----+ | | | || || || ++===========++ . | |||
| +-+---+----+-+ | | | | || || ++====>|| Recipient || . | |||
| | | | | | | | || || ++=====+=====++ . | |||
| | | V | | | | || || . . | |||
| | | +---------+-+ | | | || || ..........................>.+ | |||
| | | | Recipient | | | | || || . | |||
| | | +-----------+ | | | || || ................... . | |||
| | | | | | || || . . . | |||
| | | +--------+ | | | || || V . . | |||
| | | | | | | | || || +-----------+ ++=====+=====++ . | |||
| | V V | | | | || ++========>| Mediator +===>|| Recipient || . | |||
| | +-----------+ +-+-------+-+ | | || +-----+-----+ ++=====+=====++ . | |||
| | | Mediator +--->| Recipient | | | || . . . | |||
| | +-----------+ +-----------+ | | || ..................+.......>.+ | |||
| | | | || . | |||
| | +-----------------------------+ | | || ..............+.................. . | |||
| | | +----------+ | | | || . . . . | |||
| | | | | | | | \/ V V ' . | |||
| V V V | | | | +-----------+ +-----------+ ++=====+=====++ . | |||
| +-----------+ +-----------+ +---+-+-+---+ | | Mediator +===>| Mediator +===>|| Recipient || . | |||
| | Mediator +--->| Mediator +--->| Recipient | | +-----+-----+ +-----+-----+ ++=====+=====++ . | |||
| +-----------+ +-----------+ +-----------+ | . . . . | |||
| .................+.................+.......>.. | ||||
| Figure 2: Relationships Among User Actors | Figure 2: Relationships Among User Actors | |||
| From the user perspective, all mail transfer activities are performed | ||||
| by a monolithic Mail Handling Service (MHS), even though the actual | ||||
| service can be provided by many independent organizations. Users are | ||||
| customers of this unified service. | ||||
| Whenever any MHS actor sends information to back to an Author or | ||||
| Originator in the sequence of handling a message, that actor is a | ||||
| User. | ||||
| 2.1.1. Author | 2.1.1. Author | |||
| This is the user-level participant responsible for creating the | The Author is responsible for creating the message, its contents, and | |||
| message, its contents and its list of recipient addresses. The MHS | its list of recipient addresses. The MHS transfers the message from | |||
| operates to send and deliver mail among Authors and Recipients. As | the Author and delivers it to the Recipients. The MHS has an | |||
| described below, the MHS has a "Source" role that correlates with the | Originator role (Section 2.2.1) that correlates with the Author role. | |||
| user-level Author role. | ||||
| 2.1.2. Recipient | 2.1.2. Recipient | |||
| The Recipient is a consumer of delivered message content. As | The Recipient is a consumer of the delivered message. The MHS has a | |||
| described below, the MHS has a "Dest[ination]" role that correlates | Receiver role (Section 2.2.4)correlates with the Recipient role. | |||
| with the user-level Recipient role. | This is labeled Recv in Figure 3. | |||
| A Recipient can close the user-level communication loop by creating | Any Recipient can close the user communication loop by creating and | |||
| and submitting a new message that replies to an Author. An example | submitting a new message that replies to the Author. An example of | |||
| of an automated form of reply is the Message Disposition Notification | an automated form of reply is the Message Disposition Notification | |||
| (MDN), which informs the Author about the Recipient's handling of the | (MDN), which informs the Author about the Recipient's handling of the | |||
| message. (See Section 4.1.) | message. (See Section 4.1.) | |||
| 2.1.3. Return Handler | The Return Handler, also called "Bounce Handler," receives and | |||
| services notifications that the MHS generates, as it transfers or | ||||
| The Return Handler -- also called "Bounce Handler" -- receives and | delivers the message. These notices can be about failures or | |||
| services notifications generated by the MHS, as a result of efforts | ||||
| to transfer or deliver the message. Notices can be about failures or | ||||
| completions and are sent to an address that is specified by the | completions and are sent to an address that is specified by the | |||
| Source. This Return handling address (also known as a Return | Originator<<initial def>> . This Return handling address (also known | |||
| address) might have no visible characteristics in common with the | as a Return address) might have no visible characteristics in common | |||
| address of the Author or Source. | with the address of the Author or Originator. | |||
| 2.1.4. 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 among Authors and Recipients who are the principals in | |||
| among Users. It is easy to confuse this user-level activity with the | protracted exchanges. This activity is easily confused with the | |||
| underlying MHS transfer exchanges. However they serve very different | underlying MHS transfer exchanges. However, each serves very | |||
| purposes and operate in very different ways. Mediators are | different purposes and operates in very different ways. | |||
| considered extensively in Section 5. | ||||
| When mail is delivered to a receiving mediator specified in the | When mail is delivered to the Mediator specified in the | |||
| RFC2821.RcptTo command, the MHS handles it the same way as for any | RFC2821.RcptTo command, the MHS handles it the same way as for any | |||
| other Recipient. That is, the MHS only sees posting and delivery | other Recipient. The MHS sees each posting and delivery activity | |||
| sources and sinks and does not see (later) re-posting as a | between sources and sinks as independent; it does not see subsequent | |||
| continuation of a process. Hence when submitting messages, the | re-posting as a continuation of a process. Because the Mediator | |||
| Mediator is an Author. | originates messages, it can receive replies. Hence, when submitting | |||
| messages, the Mediator is an Author. So a Mediator really is a full- | ||||
| fledged User. Mediators are considered extensively in Section 5. | ||||
| The distinctive aspects of a Mediator are, therefore, above the MHS. | The distinctive aspects of a Mediator are outside the MHS. A | |||
| A Mediator preserves the Author information of the message it | Mediator preserves the Author information of the message it | |||
| reformulates, but may make meaningful changes to the content. Hence | reformulates and is permitted to make meaningful changes to the | |||
| the MHS sees a new message, but Users receive a message that is | message content or envelope. The MHS sees a new message, but users | |||
| interpreted as primarily being from -- or, at least, initiated by -- | receive a message that they interpret as being from, or at least | |||
| the author of the original message. The role of a Mediator permits | initiated by, the Author of the original message. The role of a | |||
| distinct, active creativity, rather than being limited to the more | Mediator is not limited to merely connecting other participants; the | |||
| constrained job of merely connecting together other participants. | Mediator is responsible for the new message. | |||
| Hence it is really the Mediator that is responsible for the new | ||||
| message. | ||||
| A Mediator's task can be complex and contingent, such as modifying | A Mediator's role is complex and contingent, for example, modifying | |||
| and adding content or regulating which users are allowed to | and adding content or regulating which users are allowed to | |||
| participate and when. The popular example of this role is a group | participate and when. The common example of this role is a group | |||
| mailing list. A sequence of Mediators may even perform a series of | Mailing List. In a more complex use, a sequence of Mediators could | |||
| formal steps, such as reviewing, modifying and approving a purchase | perform a sequence of formal steps, such as reviewing, modifying, and | |||
| request. | approving a purchase request. | |||
| Because a Mediator originates messages, it can also receive replies. | ||||
| So a Mediator really is a full-fledged User. | ||||
| Gateway: A Gateway is a particularly interesting form of Mediator. | A Gateway is a particularly interesting form of Mediator. It is a | |||
| It is a hybrid of User and Relay that interconnects heterogeneous | hybrid of User and Relay that connects heterogeneous mail services. | |||
| mail services. Its goal is to emulate a Relay, and a detailed | Its purpose is to emulate a Relay. For a detailed discussion, see | |||
| discussion is in Section 2.2.3. | Section 2.2.3. . | |||
| 2.2. Mail Handling Service (MHS) Actors | 2.2. Mail Handling Service (MHS) Actors | |||
| The Mail Handling Service (MHS) has the task of performing a single, | The Mail Handling Service (MHS) performs a single end-to-end transfer | |||
| end-to-end transfer on behalf of the Author and reaching the | on behalf of the Author to reach the Recipient addresses specified in | |||
| Recipient address(es) specified in the original RFC2821.RcptTo | the original RFC2821.RcptTo commands. Exchanges that are either | |||
| commands. Mediated or protracted, iterative exchanges, such as those | mediated or iterative and protracted, such as those used for | |||
| used for collaboration over time, are part of the User-level service, | collaboration over time are handled by the User actors, not by the | |||
| and are not part of this transfer-level Handling Service. | MHS actors. | |||
| The following figure depicts the relationships among transfer | Figure 3 shows the relationships among transfer participants in | |||
| participants in Internet Mail. It shows the Source as distinct from | Internet Mail. Although it shows the Originator (labeled Origin) as | |||
| the Author, and Dest[ination] as distinct from Recipient, although it | distinct from the Author and Receiver (labeled Recv) as distinct from | |||
| is common for each pair to be the same actor. Transfers typically | Recipient, each pair of roles usually has the same actor. | |||
| entail one or more Relays. However direct delivery from the Source | Transfers typically entail one or more Relays. However direct | |||
| to Destination is possible. For intra-organization mail services, it | delivery from the Originator to Receiver is possible. Intra- | |||
| is common to have only one Relay. | organization mail services usually have only one Relay. | |||
| +------------+ +-----------+ | ++==========++ ++===========++ | |||
| | Author | +--------+ | Recipient | | || Author || || Recipient || | |||
| +-----+------+ +....>| Return | +-----------+ | ++====++====++ +--------+ ++===========++ | |||
| | . +--------+ ^ | || | Return | /\ | |||
| | . ^ | | || +-+------+ || | |||
| //===================================================\\ | \/ . ^ || | |||
| || | . | Mail Handling | || | +---------+ . . +---++---+ | |||
| || | . | Service (MHS) | || | | | . . | | | |||
| V . | | | //==+=========+============================+========+===\\ | |||
| +---------+ . ^ +----+---+ | || | | . . MHS | | || | |||
| | | . | | | | || | Origin +<...... .................+ Recv | || | |||
| | Origin +....+ +-<------------+ Dest | | | | ^ | | | |||
| | | | | | | +---++----+ . +--------+ | |||
| +----+----+ | +--------+ | || . /\ | |||
| | | ^ | || ..............+.................. || | |||
| | +-------------->-+-<-------------+ | | \/ . . . || | |||
| V | | | | | +-------+-+ +--+------+ +-+--++---+ | |||
| +-------+-+ +----+----+ +-+---+---+ | | Relay +=======>| Relay +=======>| Relay | | |||
| | Relay +-->...-->| Relay +------->| Relay | | +---------+ +----++---+ +---------+ | |||
| +---------+ +----+----+ +---------+ | || | |||
| | | || | |||
| V | \/ | |||
| +---------+ | +---------+ | |||
| | Gateway +-->... | | Gateway +-->... | |||
| +---------+ | +---------+ | |||
| Figure 3: Relationships Among MHS Actors | Figure 3: Relationships Among MHS Actors | |||
| 2.2.1. Originator | 2.2.1. Originator | |||
| The Originator role is responsible for ensuring that a message is | The Originator ensures that a message is valid for posting and then | |||
| valid for posting and then submitting it to a Relay. Validity | submits it to a Relay. A message is valid if it conforms to both | |||
| includes conformance with Internet Mail standards, as well as with | Internet Mail standards and local operational policies. The | |||
| local operational policies. The Originator can simply review the | Originator can simply review the message for conformance and reject | |||
| message for conformance and reject it if there are errors, or it can | it if it finds errors, or it can create some or all of the necessary | |||
| create some or all of the necessary information. | information. In effect, the Originator is responsible for the | |||
| functions of the Mail Submission Agent. | ||||
| The Originator operates with dual "allegiance". It serves the Author | The Originator operates with dual allegiance. It serves the Author | |||
| and often it is the same entity. However its role in assuring | and can be the same entity. But its role in assuring validity means | |||
| validity means that it MUST also represent the local operator of the | that it MUST also represent the local operator of the MHS, that is, | |||
| MHS, that is, the local ADministrative Management Domain (ADMD). | the local ADministrative Management Domain (ADMD). | |||
| The Originator also has the responsibility for any post-submission, | The Originator also performs any post-submission, Author-related | |||
| Author-related administrative tasks associated with message | administrative tasks associated with message transfer and delivery. | |||
| transmission and delivery. Notably this pertains to error and | Notably, these tasks pertain to sending error and delivery notices, | |||
| delivery notices. Hence Source is best held accountable for the | enforcing local policies, and dealing with messages from the Author | |||
| message content, even when they did not create any or most of it. | that prove to be problematic for the Internet. The Originator is | |||
| accountable for the message content, even when it is not responsible | ||||
| for it. The Author creates the message, but the Originator handles | ||||
| any transmission issues with it. | ||||
| 2.2.2. Relay | 2.2.2. Relay | |||
| A mail Relay performs email transfer-service routing and store-and- | The Relay performs MHS-level transfer-service routing and store-and- | |||
| forward by (re-)transmitting the message on towards its Recipient(s). | forward, by transmitting or retransmitting the message to its | |||
| A Relay can add trace information. However it does not modify | Recipients. The Relay adds trace information [RFC2505] but does not | |||
| existing envelope information or the message content semantics. It | modify the envelope information or the message content semantics. It | |||
| can modify message content syntax, such as a change from binary to | can modify message content representation, such as changing the form | |||
| text transfer-encoding form, only as required to meet the | of transfer encoding from binary to text, but only as required to | |||
| capabilities of the next hop in the MHS. | meet the capabilities of the next hop in the MHS. | |||
| A set of Relays composes a Mail Handling Service (MHS) network. This | A Mail Handling Service (MHS) network consists of a set of Relays. | |||
| is above any underlying packet-switching network that they might be | This network is above any underlying packet-switching network that | |||
| using and below any gateways or other user-level Mediators. | might be used and below any Gateways or other Mediators. | |||
| In other words, interesting email scenarios can involve three | In other words, email scenarios can involve three distinct | |||
| distinct architectural layers of store-and-forward service: | architectural layers, each providing its own type of data of store- | |||
| and-forward service: | ||||
| * User Mediators | * User Mediators | |||
| * MHS Relays | * MHS Relays | |||
| * Packet Switches | * Packet Switches | |||
| with the bottom-most usually being the Internet's IP service. The | The bottom layer is the Internet's IP service. The most basic email | |||
| most basic email scenarios involve Relays and Switches. | scenarios involve Relays and Switches. | |||
| Aborting a message transfer results in having the Relay become an | Aborting a message transfer makes the Relay an Author because it must | |||
| Author and sending an error message to the Return address. The | send an error message to the Return address. The potential for | |||
| potential for looping is avoided by having this message, itself, | looping is avoided by omitting a Return address from this message. | |||
| contain no Return address. | ||||
| 2.2.3. Gateway | 2.2.3. Gateway | |||
| A Gateway is a hybrid form of User and Relay that interconnects | A Gateway is a hybrid of User and Relay that connects heterogeneous | |||
| heterogeneous mail services. Its purpose is simply to emulate a | mail services. Its purpose is to emulate a Relay and the closer it | |||
| Relay and the closer it comes to this, the better. However it | comes to this, the better. A Gateway operates as a User when it | |||
| operates at the User level, because it MUST be able to modify message | needs the ability to modify message content. | |||
| content. | ||||
| Differences between mail services can be as small as minor syntax | Differences between mail services can be as small as minor syntax | |||
| variations, but usually encompass significant, semantic distinctions. | variations, but they usually encompass significant, semantic | |||
| One difference could have the concept of an email address being a | distinctions. One difference could be email addresses that are | |||
| hierarchical, machine-specific address, versus having it be a flat, | hierarchical and machine-specific rather than a flat, global | |||
| global name space. Another difference could be between text-only | namespace. Another difference could be support for text-only content | |||
| content, versus multi-media. Hence the Relay function in a Gateway | or multi-media. Hence the Relay function in a Gateway presents a | |||
| offers significant design challenges, to make the result be as | significant design challenge, if the resulting performance is to be | |||
| seamless as possible. The most significant challenge is in ensuring | seen as nearly seamless. The challenge is to ensure user-to-user | |||
| the user-to-user functionality that matches syntax and semantics of | functionality between the services, despite differences in their | |||
| independent email standards suites. | syntax and semantics. | |||
| The basic test of a Gateway's adequacy is, of course, whether an | The basic test of Gateway design is whether an Author on one side of | |||
| Author on one side of a Gateway can send a useful message to a | a Gateway can send a useful message to a Recipient on the other side, | |||
| Recipient on the other side, without requiring changes to any of the | without requiring changes to any components in the Author's or | |||
| components in the Author's or Recipient's mail services, other than | Recipient's mail services other than adding the Gateway. To each of | |||
| adding the Gateway. To each of these otherwise independent services, | these otherwise independent services, the Gateway appears to be a | |||
| the Gateway will appear to be a "native" participant. However the | native participant. But the ultimate test of Gateway design is | |||
| ultimate test of a Gateway's adequacy is whether the Author and | whether the Author and Recipient can sustain a dialogue. In | |||
| Recipient can sustain a dialogue. In particular can a Recipient's | particular, can a Recipient's MUA automatically formulate a valid | |||
| MUA automatically formulate a valid Reply that will reach the initial | Reply that will reach the Author? | |||
| Author? | ||||
| 2.2.4. Receiver | ||||
| The Receiver performs final delivery or sends the message to an | ||||
| alternate address. It can also perform filtering and other policy | ||||
| enforcement immediately before or after delivery. | ||||
| 2.3. Administrative Actors | 2.3. Administrative Actors | |||
| Actors often are associated with different organizations, each with | Administrative actors can be associated with different organizations, | |||
| its own administrative authority. This operational independence, | each with its own administrative authority. This operational | |||
| coupled with the need for interaction between groups, provides the | independence, coupled with the need for interaction between groups, | |||
| motivation for distinguishing among ADministrative Management Domains | provides the motivation to distinguish among ADministrative | |||
| (ADMD). Each ADMD can have vastly different operating policies and | Management Domains (ADMDs ). Each ADMD can have vastly different | |||
| trust-based decision-making. An obvious example is the distinction | operating policies and trust-based decision-making. One obvious | |||
| between mail that is exchanged within a single organization, versus | example is the distinction between mail that is exchanged within an | |||
| mail that is exchanged between independent organizations. The rules | organization and mail that is exchanged between independent | |||
| for handling these two types of traffic tend to be quite different. | organizations. The rules for handling both types of traffic tend to | |||
| That difference requires defining the boundaries of each, and this | be quite different. That difference requires defining the boundaries | |||
| requires the ADMD construct. | of each, and this requires the ADMD construct. | |||
| Operation of Internet Mail services is apportioned to different | Operation of Internet Mail services is carried out by different | |||
| providers (or operators). Each can be an independent ADMD. This | providers (or operators). Each can be an independent ADMD. This | |||
| independence of administrative decision-making defines boundaries | independence of administrative decision-making defines boundaries | |||
| that distinguish different portions of the Internet Mail service. | that distinguish different portions of the Internet Mail service. A | |||
| Examples include an end-user operating their desktop client, a | department that operates a local Relay, an IT department that | |||
| department operating a local Relay, an IT department operating an | operates an enterprise Relay, and an ISP that operates a public | |||
| enterprise Relay and an ISP operating a public shared email service. | shared email service can be configured into many combinations of | |||
| These can be configured into many combinations of administrative and | administrative and operational relationships. Each is a distinct | |||
| operational relationships, with each ADMD potentially having a | ADMD, potentially having a complex arrangement of functional | |||
| complex arrangement of functional components. Figure 4 depicts | components. Figure 4 depicts relationships among ADMDs. The benefit | |||
| relationships among ADMDs. The benefit of having the ADMD construct | of the ADMD construct is to facilitate discussion about designs, | |||
| is to facilitate discussion about designs and operations that need to | policies and operations that need to distinguish between internal | |||
| distinguish between "internal" issues and "external" ones. | issues and external ones. | |||
| The architectural impact of needing to have boundaries between ADMD's | The architectural impact of the need for boundaries between ADMDs is | |||
| is discussed in [Tussle]. Most significant is that the entities | discussed in [Tussle]. Most significant is that the entities | |||
| communicating across ADMD boundaries will typically have an added | communicating across ADMD boundaries typically have the added burden | |||
| burden to enforce organizational policies concerning "external" | of enforcing organizational policies concerning external | |||
| communications. At a more mundane level, routing mail between ADMDs | communications. At a more mundane level, routing mail between ADMDs | |||
| can be an issue, such as needing to route mail for partners over | can be an issue, such as needing to route mail for partners over | |||
| specially-trusted paths. | specially trusted paths. | |||
| Basic types of ADMDs include -- | These are the basic types of ADMDs: | |||
| Edge: Independent transfer services, in networks at the edge of | Edge: Independent transfer services in networks at the edge of | |||
| the open Internet Mail service. | the open Internet Mail service. | |||
| User: End-user services. This might be subsumed under the Edge | Consumer: This might be a type of Edge service, as is common | |||
| service, such as is common for web-based email access. | for web-based email access. | |||
| Transit: These are Mail Service Providers (MSP) offering value- | ||||
| added capabilities for Edge ADMDs, such as aggregation and | ||||
| filtering. | ||||
| Note that Transit services are quite different from packet-level | Transit: Mail Service Providers (MSP) that offer value-added | |||
| switching operation. Whereas end-to-end packet transfers usually go | capabilities for Edge ADMDs, such as aggregation and filtering. | |||
| through intermediate routers, email exchange across the open Internet | ||||
| is often directly between the Boundary MTAs of Edge ADMDs, at the | ||||
| email level. This further highlights the differences discussed in | ||||
| Section 2.2.2 | ||||
| +-------+ +-------+ +-------+ | The mail-level transit service is different from packet-level | |||
| | ADMD1 | | ADMD3 | | ADMD4 | | switching. End-to-end packet transfers usually go through | |||
| | ----- | | ----- | | ----- | | intermediate routers; email exchange across the open Internet can be | |||
| | | +---------------------->| | | | | directly between the Boundary MTAs of Edge ADMDs. This distinction | |||
| | User | | |-Edge--+--->|-User | | between direct and indirect interaction highlights the differences | |||
| | | | | +---------+ +--->| | | | | discussed in Section 2.2.2 | |||
| | V | | | ADMD2 | | +-------+ +-------+ | +--------+ +---------+ +-------+ +-----------+ | |||
| | Edge--+---+ | ----- | | | | ADMD1 |<===>| ADMD2 |<===>| ADMD3 |<===>| ADMD4 | | |||
| | | | | | | | | ----- | | ----- | | ----- | | ----- | | |||
| +-------+ +----|-Transit-+---+ | | | | | | | | | | |||
| | | | | Author | | | | | | | | |||
| +---------+ | | . | | | | | | | | |||
| | V | | | | | | | | ||||
| | Edge..+....>|.Transit.+....>|-Edge..+....>|.Recipient | | ||||
| | | | | | | | | | ||||
| +--------+ +---------+ +-------+ +-----------+ | ||||
| Figure 4: ADMD Example | Figure 4: Administrative Domain (ADMD) Example | |||
| Edge networks can use proprietary email standards internally. | Edge networks can use proprietary email standards internally. | |||
| However the distinction between Transit network and Edge network | However the distinction between Transit network and Edge network | |||
| transfer services is primarily significant because it highlights the | transfer services is significant because it highlights the need for | |||
| need for concern over interaction and protection between independent | concern over interaction and protection between independent | |||
| administrations. In particular this distinction calls for additional | administrations. In particular, this distinction calls for | |||
| care in assessing transitions of responsibility, as well as the | additional care in assessing the transitions of responsibility and | |||
| accountability and authorization relationships among participants in | the accountability and authorization relationships among participants | |||
| email transfer. | in message transfer. | |||
| The interactions between functional components within an ADMD are | The interactions of ADMD components are subject to the policies of | |||
| subject to the policies of that domain. Policies can cover such | that domain, which cover concerns such as these: | |||
| things as: | ||||
| o Reliability | * Reliability | |||
| o Access control | * Access control | |||
| o Accountability | * Accountability | |||
| o Content evaluation and modification | * Content evaluation and modification | |||
| They can be implemented in different functional components, according | These policies can be implemented in different functional components, | |||
| to the needs of the ADMD. For example see [RFC5068]. | according to the needs of the ADMD. For example, see [RFC5068]. | |||
| User, Edge and Transit services can be offered by providers that | Consumer, Edge, and Transit services can be offered by providers that | |||
| operate component services or sets of services. Further it is | operate component services or sets of services. Further, it is | |||
| possible for one ADMD to host services for other ADMDs. | possible for one ADMD to host services for other ADMDs. | |||
| Common ADMD examples are -- | These are common examples of ADMDs: | |||
| Enterprise Service Providers: | Enterprise Service Providers: | |||
| Operating an organization's internal data and/or mail services. | These ADMDs operate the internal data and/or the mail services | |||
| within an organization. | ||||
| Internet Service Providers: | Internet Service Providers (ISP): | |||
| Operating underlying data communication services that, in turn, | These ADMDs operate the underlying data communication services, | |||
| are used by one or more Relays and Users. It is not | which are used by one or more Relay and User. ISPs are not | |||
| necessarily their job to perform email functions, but they can, | responsible for performing email functions, but they can | |||
| instead, provide an environment in which those functions can be | provide an environment in which those functions can be | |||
| performed. | performed. | |||
| Mail Service Providers: | Mail Service Providers: | |||
| Operating email services, such as for end-users, or mailing | These ADMDs operate email services, such as for consumers or | |||
| lists. | client companies. | |||
| Operational pragmatics often dictate that providers be involved in | Practical operational concerns demand that providers be involved in | |||
| detailed administration and enforcement issues, to help ensure the | administration and enforcement issues. This involvement can extend | |||
| health of the overall Internet Mail Service. This can include | to operators of lower-level packet services. | |||
| operators of lower-level packet services. | ||||
| 3. Identities | 3. Identities | |||
| Internet Mail uses three forms of identity: mailbox, domain name and | Internet Mail uses three forms of identity: mailbox, domain name, and | |||
| message-id. Each is required to be globally unique. | message-ID. Each must be globally unique. | |||
| 3.1. Mailbox | 3.1. Mailbox | |||
| "A mailbox sends and receives mail. It is a conceptual entity | "A mailbox sends and receives mail. It is a conceptual entity | |||
| which does not necessarily pertain to file storage." [RFC2822] | which does not necessarily pertain to file storage." [RFC2822] | |||
| A mailbox is specified as an Internet Mail address <addr-spec>. It | A mailbox is specified as an Internet Mail address <addr-spec>. It | |||
| has two distinct parts, divided by an at-sign ("@"). The right-hand | has two distinct parts, separated by an at-sign (@). The right side | |||
| side is a globally interpreted domain name that is associated with an | is a globally interpreted domain name associated with an ADMD. | |||
| ADMD. Domain Names are discussed in Section 3.2. Formal Internet | Domain names are discussed in Section 3.3. Formal Internet Mail | |||
| Mail addressing syntax can support source routes, to indicate the | addressing syntax can support source routes, to indicate the path | |||
| path through which a message should be sent. Although legal, the use | through which a message ought to be sent. The use of source routes | |||
| of source routes is not part of the modern Internet Mail service and | is not common and has been deprecated in [RFC2821]. | |||
| it is not discussed further. | ||||
| 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 by the address's right-hand | interpreted only by the entity specified by the address's domain | |||
| side domain name. All other entities MUST treat the local-part as a | name. Except as noted later in this section all other entities MUST | |||
| uninterpreted literal string and MUST preserve all of its original | treat the <local-part> as an uninterpreted literal string and MUST | |||
| details. As such its public distribution is equivalent to sending a | preserve all of its original details. As such its public | |||
| Web browser "cookie" that is only interpreted upon being returned to | distribution is equivalent to sending a Web browser "cookie" that is | |||
| its Author. | only interpreted upon being returned to its creator. | |||
| 3.1.1. Global Standards for Local-Part | Some local-part values have been standardized, for contacting | |||
| personnel at an organization. These names cover common operations | ||||
| and business functions. [RFC2142] | ||||
| It is common for sites to have local structuring conventions for the | It is common for sites to have local structuring conventions for the | |||
| left-hand side <local-part> of an <addr-spec>. This permits sub- | left-hand side <local-part> of an <addr-spec>. This permits sub- | |||
| addressing, such as for distinguishing different discussion groups | addressing, such as for distinguishing different discussion groups | |||
| used by the same participant. However it is worth stressing that | used by the same participant. However it is worth stressing that | |||
| these conventions are strictly private to the user's organization and | these conventions are strictly private to the user's organization and | |||
| SHOULD NOT be interpreted by any domain except the one listed in the | MUST NOT be interpreted by any domain except the one listed in the | |||
| right-hand side of the addr-spec. The exceptions are those | right side of the <addr-spec>. The exceptions are those specialized | |||
| specialized services conforming to standardized conventions, as noted | services that conform to public, standardized conventions, as noted | |||
| below. | below. | |||
| There are a few types of addresses that have an elaboration on basic | A few types of addresses elaborate on basic email addressing, with a | |||
| email addressing, with a standardized, global schema for the local- | standardized, global schema for the <local-part>, Include are | |||
| part. These are conventions between authoring systems and Recipient | conventions between authoring systems and Gateways. They are | |||
| Gateways, and they are invisible to the public email transfer | invisible to the public email transfer infrastructure. When an | |||
| infrastructure. When an Author is explicitly sending via a Gateway | Author is explicitly sending through a Gateway out of the Internet, | |||
| out of the Internet, there are coding conventions for the local-part, | coding conventions for the <local-part> allow the Author to formulate | |||
| so that the Author can formulate instructions for the Gateway. | instructions for the Gateway. Standardized examples of such | |||
| Standardized examples of this are the telephone numbering formats for | conventions are the telephone numbering formats for VPIM [RFC3801], | |||
| VPIM [RFC3801], such as "+16137637582@vpim.example.com", and iFax | such as: | |||
| [RFC3192], such as "FAX=+12027653000/T33S=1387@ifax.example.com". | ||||
| 3.1.2. Scope of Email Address Use | +16137637582@vpim.example.com | |||
| Email addresses are being used far beyond their original email | and iFax [RFC3192], such as: | |||
| transfer and delivery role. In practical terms, an email address | ||||
| FAX=+12027653000/T33S=1387@ifax.example.com | ||||
| 3.2. Scope of Email Address Use | ||||
| Email addresses are being used far beyond their original role in | ||||
| email transfer and delivery. In practical terms, an email address | ||||
| string has become the common identifier for representing online | string has become the common identifier for representing online | |||
| identity. What is essential, then, is to be clear about the nature | identity. Hence, it is essential to be clear about both the nature | |||
| and role of an identity string in a particular context and to be | and role of an identity string in a particular context and the entity | |||
| clear about the entity responsible for setting that string. For | responsible for setting that string. For example, see Section 4.1.4, | |||
| example, see: Section 4.1.4, Section 4.3.3, Section 5. | Section 4.3.3 and Section 5. | |||
| 3.2. Domain Names | 3.3. 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 domain name usually maps to one or | a host, a service, or a network. A domain name usually maps to one | |||
| more IP Addresses. Conceptually the name might encompass an entire | or more IP Addresses. Conceptually, the name can encompass an | |||
| organization, a collection of machines integrated into a homogeneous | organization, a collection of machines integrated into a homogeneous | |||
| service, or only a single machine. A domain name can be administered | service, or a single machine. A domain name can be administered to | |||
| to refer to individual users, but this is not common practice. The | refer to individual users, but this is not common practice. The name | |||
| name is structured as a hierarchical sequence of sub-names, separated | is structured as a hierarchical sequence of names, separated by dots | |||
| by dots ("."), with the top of the hierarchy being on the right-end | (.), with the top of the hierarchy being on the right end of the | |||
| of the sequence. Domain names are defined and operated through the | sequence. Domain names are defined and operated through the Domain | |||
| Domain Name System (DNS) [RFC1034], [RFC1035], [RFC2181]. | Name System (DNS) [RFC1034], [RFC1035], [RFC2181]. | |||
| When not part of a mailbox address, a domain name is used in Internet | When not part of a mailbox address, a domain name is used in Internet | |||
| Mail to refer to the ADMD or the host that took action upon the | Mail to refer to the ADMD or to the host that took action upon the | |||
| message, such as providing the administrative scope for a message | message, such as providing the administrative scope for a message | |||
| identifier, or performing transfer processing. | identifier or performing transfer processing. | |||
| 3.3. Message Identifier | 3.4. Message Identifier | |||
| There are two standardized tags for identifying messages: Message-ID | There are two standardized tags for identifying messages: Message-ID: | |||
| and ENVID. | and ENVID. A Message-ID: pertains to content, and an ENVID pertains | |||
| to transfer. | ||||
| 3.3.1. Message-ID | 3.4.1. Message-ID | |||
| The Message-ID is a user-level tag, primarily used for threading and | Internet Mail standards provide for, at most, a single Message-ID:. | |||
| for eliminating duplicates [RFC2822]. Any actor within the | The Message-ID: for a single message, which is a user-level tag, has | |||
| Originating ADMD can assign the Message-ID. The recipient's ADMD is | a variety of uses including threading, aiding identification of | |||
| the intended consumer of the Message-ID, although any actor along the | duplicates, and DSN tracking. [RFC2822]. The Originator assigns the | |||
| transfer path might use it. Internet Mail standards provide for a | Message-ID:. The Recipient's ADMD is the intended consumer of the | |||
| single Message-ID; however more than one is sometimes assigned. | Message-ID:, although any actor along the transfer path can use it. | |||
| Like a mailbox address, a Message-ID has two distinct parts, divided | Message-ID: MUST be globally unique. Its format is similar to that | |||
| by an at-sign ("@"). The right-hand side is globally interpreted and | of a mailbox, with two distinct parts, separated by an at-sign (@). | |||
| specifies the ADMD or host assigning the identifier. The left-hand | Typically, the right side specifies the ADMD or host that assigns the | |||
| side contains a string that is globally opaque and serves to uniquely | identifier, and the left side contains a string that is globally | |||
| identify the message within the domain referenced on the right-hand | opaque and serves to uniquely identify the message within the domain | |||
| side. The duration of uniqueness for the message identifier is | referenced on the right side. The duration of uniqueness for the | |||
| undefined. | message identifier is undefined. | |||
| When a message is revised in any way, the question of whether to | When a message is revised in any way, the decision whether to assign | |||
| assign a new Message-ID requires a subjective assessment, deciding | a new Message-ID: requires a subjective assessment to determine | |||
| whether the editorial content has been changed enough to constitute a | whether the editorial content has been changed enough to constitute a | |||
| new message. [RFC2822] says "a message identifier pertains to | new message. [RFC2822] states that "a message identifier pertains to | |||
| exactly one instantiation of a particular message; subsequent | exactly one instantiation of a particular message; subsequent | |||
| revisions to the message each receive new message identifiers." | revisions to the message each receive new message identifiers." Yet | |||
| However real-world experience dictates some flexibility. An | experience suggests that some flexibility is needed. An impossible | |||
| impossible test is whether the recipient will consider the new | test is whether the recipient will consider the new message to be | |||
| message to be equivalent to the old. For most components of Internet | equivalent to the old one. For most components of Internet Mail, | |||
| Mail, there is no way to predict a specific recipient's preferences | there is no way to predict a specific recipient's preferences on this | |||
| on this matter. Both creating and failing to create a new Message-ID | matter. Both creating and failing to create a new Message-ID: have | |||
| have their downsides. | their downsides. | |||
| The best that can be offered, here, are some guidelines and examples: | Here are some guidelines and examples: | |||
| * If a message is changed only in terms of form, such as | * If a message is changed only in form, such as character- | |||
| character-encoding, it clearly is still the same message. | encoding, it is still the same message. | |||
| * If a message has minor additions to the content, such as a | * If a message has minor additions to the content, such as a | |||
| mailing list tag at the beginning of the RFC2822.Subject header | mailing list tag at the beginning of the RFC2822.Subject header | |||
| field, or some mailing list administrative information added to | field, or some mailing list administrative information added to | |||
| the end of the primary body-part's text, then it probably is | the end of the primary body-part text, it is probably the same | |||
| still the same message. | message. | |||
| * If a message has viruses deleted from it, it probably is still | * If a message has viruses deleted from it, it is probably the | |||
| the same message. | same message. | |||
| * If a message has offensive words deleted from it, then some | * If a message has offensive words deleted from it, some | |||
| recipients will consider it the same message, but some will | recipients will consider it the same message, but some will | |||
| not. | not. | |||
| * If a message is translated into a different language, then some | * If a message is translated into a different language, some | |||
| recipients will consider it the same message, but some will | recipients will consider it the same message, but some will | |||
| not. | not. | |||
| * If a message is included in a digest of messages, it the digest | * If a message is included in a digest of messages, the digest | |||
| constitutes a new message. | constitutes a new message. | |||
| * If a message is forwarded by a recipient, what is forwarded is | * If a message is forwarded by a recipient, what is forwarded is | |||
| considered to be a new message. | a new message. | |||
| * If a message is "redirected", such as using RFC2822 | * If a message is "redirected", such as using RFC2822 "Resent-*" | |||
| "Redirect-*" headers, some recipients will consider it the same | header fields, some recipients will consider it the same | |||
| message, but some will not. | message, but some will not. | |||
| The absence of objective, precise criteria for Message-ID re- | The absence of both objective, precise criteria for re-generating a | |||
| generation, along with the absence of strong protection associated | Message-ID: and strong protection associated with the string means | |||
| with the string, means that the presence of an ID can permit an | that the presence of an ID can permit an assessment that is | |||
| assessment that is marginally better than a heuristic, but the ID | marginally better than a heuristic, but the ID certainly has no value | |||
| certainly has no value on its own for strict formal reference or | on its own for strict formal reference or comparison. For that | |||
| comparison. Hence Message-ID SHOULD NOT be used for any function | reason, the Message-ID: SHOULD NOT be used for any function that has | |||
| that has security implications. | security implications. | |||
| 3.3.2. ENVID | ||||
| The ENVID (envelope identifier) is a tag that is primarily for use | 3.4.2. ENVID | |||
| within Delivery Status Notifications (DSN), so that the Return | ||||
| Address (RFC2821.MailFrom) recipient can correlate the DSN with a | ||||
| particular message [RFC3461]. The ENVID is therefore used from one | ||||
| message posting, until the directly-resulting message deliveries. It | ||||
| does not survive re-postings. | ||||
| The ENVID may also be used for message tracking purposes [RFC3885]. | The ENVID (envelope identifier) can be used for message-tracking | |||
| purposes [RFC3885] concerning a single posting/delivery transfer. | ||||
| The ENVID labels a single transit of the MHS by a specific message. | ||||
| So, the ENVID is used for one message posting, until that message is | ||||
| delivered. A re-posting of the message, such as by a Mediator, does | ||||
| not re-use that ENVID, but can use a new one, even though the message | ||||
| might legitimately retain its original Message-ID:. | ||||
| The format of an ENVID is free-form. Although its creator might | The format of an ENVID is free form. Although its creator might | |||
| choose to impose structure on the string, none is imposed by Internet | choose to impose structure on the string, none is imposed by Internet | |||
| standards. By implication, the scope of the string is defined by the | standards. By implication, the scope of the string is defined by the | |||
| domain name of the Return Address. | domain name of the Return Address. | |||
| 4. Services and Standards | 4. Services and Standards | |||
| Internet Mail's architecture distinguishes among six basic types of | The Internet Mail architecture comprises six basic types of | |||
| functionality, arranged to support a store-and-forward service | functionality, which are arranged to support a store-and-forward | |||
| architecture. As shown in Figure 5 these types can have multiple | service. As shown in Figure 5, each type can have multiple | |||
| instances, some of which represent specialized sub-roles. This | instances, some of which represent specialized roles. This section | |||
| section considers the activities and relationships among these | considers the activities and relationships among these components, | |||
| components, and the Internet Mail standards that apply to them. | and the Internet Mail standards that apply to them. | |||
| 1. Message | ||||
| 2. Mail User Agent (MUA) | ||||
| Originating MUA (oMUA) | ||||
| Receiving MUA (rMUA) | ||||
| 3. Message Submission Agent (MSA) | ||||
| Author-focussed MSA functions (oMSA) | ||||
| MHS-focussed MSA functions (hMSA) | ||||
| 4. Message Transfer Agent (MTA) | ||||
| 5. Message Delivery Agent (MDA) | ||||
| Recipient-focused MDA functions (rMDA) | Message | |||
| MHS-focussed MDA functions (hMDA) | Mail User Agent (MUA) | |||
| 6. Message Store (MS) | Author MUA (aMUA) | |||
| 1. Author MS (oMS) | Recipient MUA (rMUA) | |||
| oMS on a remote server (soMS) | Message Submission Agent (MSA) | |||
| oMS co-located with the oMUA (uoMS) | Author-focused MSA functions (aMSA) | |||
| 2. Recipient MS (rms) | MHS-focused MSA functions (hMSA) | |||
| rMS on a remote server (srMS) | Message Transfer Agent (MTA) | |||
| rMS co-located with the rMUA (urMS) | Message Delivery Agent (MDA) | |||
| This section describes each functional component for Internet Mail, | Recipient-focused MDA functions (rMDA) | |||
| and the standards-based protocols associated with their operation. | ||||
| Software implementations of these architectural components often | MHS-focused MDA functions (hMDA) | |||
| 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 | Message Store (MS) | |||
| 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 can combine or | ||||
| separate architectural components, as needed for a particular | ||||
| operational environment. | ||||
| A software system that primarily performs message relaying -- | Author MS (aMS) | |||
| and therefore is an MTA -- might also include MDA | ||||
| functionality. That same MTA system might be able to interface | ||||
| with non-Internet email services and therefore qualify as a | ||||
| Gateway. | ||||
| It is important not to confuse the engineering decisions made | Recipient MS (rMS) | |||
| to implement a product, with the architectural abstractions | ||||
| used to define conceptual functions. | ||||
| The following figure shows function modules and the standardized | This figure shows function modules and the standardized protocols | |||
| protocols used between them. Additional protocols and configurations | used between them. | |||
| are possible. Boxes defined by asterisks (*) represent functions | ||||
| that often are distributed among two or more systems. | ||||
| +------+ +-------+ | ++========++ | |||
| ............+ oMUA |..............................| Disp | | || || +-------+ | |||
| . +--+-+-+ +-------+ | ...........++ aMUA ||<............................+ Disp | | |||
| . local,imap}| |{smtp,submission ^ | . || || +-------+ | |||
| . | | +---------+ | | . ++=+==+===++ ^ | |||
| . ******* | | .......................| Returns | | | . local,imap}| |{smtp,submission . | |||
| . * oMS *<-----+ | . +---------+ | | . +-----+ | | +--------+ . | |||
| . ******* | . ***************** ^ | | . | aMS |<---+ | ........................>| Return | . | |||
| . +------V-.---*------------+ * | | | . +-----+ | . +--------+ . | |||
| . MSA | +-------+ * +------+ | * | | | . | . ***************** ^ . | |||
| . | | oMSA +--O-->| hMSA | | * | | | . +-----V-.----*------------+ * . . | |||
| . | +-------+ * +--+---+ | * | | | . MSA | +-------+ * +------+ | * . . | |||
| . +------------*------+-----+ * | | | . | | aMSA +-(S)->| hMSA | | * . . | |||
| //==========\\ * V {smtp * | | | . | +-------+ * +--+---+ | * . . | |||
| || MESSAGE || * +------+ * //===+===\\ | | V +------------*------+-----+ * . . | |||
| ||----------|| MHS * | MTA | * || dsn || | | //==========\\ * V {smtp * . . | |||
| || Envelope || * +--+---+ * \\=======// | | || MESSAGE || * +------+ * //===+===\\ . | |||
| || SMTP || * V {smtp * ^ ^ | | ||----------|| MHS * | MTA | * || dsn || . | |||
| || Content || * +------+ * | | //==+==\\ | || Envelope || * +--+---+ * \\=======// . | |||
| || RFC2822 || * | MTA +----*-----+ | || mdn || | || SMTP || * V {smtp * ^ ^ . | |||
| || MIME || * +--+---+ * | \\=====// | || Content || * +------+ * . . //==+==\\ | |||
| \\==========// * smtp}| {local * | | | || RFC2822 || * | MTA +....*...... . || mdn || | |||
| . MDA * | {lmtp * | | | || MIME || * +--+---+ * . \\=====// | |||
| . +------------+------V-----+ * | | | \\==========// * smtp}| {local * . ^ | |||
| . | +------+ * +------+ | * | | | . MDA * | {lmtp * . . | |||
| . | | | * | | +--*---------+ | | . +----------------+------V-----+ * . . | |||
| . | | rMDA |<--O---+ hMDA | | * | | . | +----------+ * +------+ | * . . | |||
| . | | | * | | |<-*-------+ | | . | | | * | | +..*.......... . | |||
| . | +-+----+ * +------+ | * | | | . | | rMDA |<-(D)--+ hMDA | | * . | |||
| . +---+--+-----*------------+ * | | | . | | | * | | |<.*........ . | |||
| . | | ***************** | | | . | +-+------+-+ * +------+ | * . . | |||
| . pop} +--+ +---+ | | | . +------+---------*------------+ * . . | |||
| . imap} | | {local | | | . | ***************** . . | |||
| . ******************V******** | | | . V{smtp,imap,pop,local . . | |||
| . * | +------+ * rMS //===+===\\ | | . +-----+ //===+===\\ . | |||
| . * | | srMS | * || sieve || | | . | rMS | || sieve || . | |||
| . * V +--+-+-+ * \\=======// | | . +--+--+ \\=======// . | |||
| . * +------+ pop} | | * ^ | | . |{imap,pop,local ^ . | |||
| . * | urMS |<-------+ | * | | | . V . . | |||
| . * +--+---+ imap} | * | | | . ++==========++ . . | |||
| . *************************** | | | . || || . . | |||
| . local}| +------+ |{pop,imap | | | .......>|| rMUA ++........................... . | |||
| . +->| |<------+ | | | || ++................................... | |||
| ...........>| rMUA +---------------------------+ | | ++==========++ | |||
| | +-----------------------------------+ | ||||
| +------+ | ||||
| Figure 5: Protocols and Services | Figure 5: Protocols and Services | |||
| 4.1. Message Data | 4.1. Message Data | |||
| The purpose of the Mail Handling Service (MHS) is to exchange a | The purpose of the Mail Handling Service (MHS) is to exchange a | |||
| message object among participants [RFC2822], [RFC0822]. Hence all of | message object among participants [RFC2822], [RFC0822]. All of its | |||
| its underlying mechanisms are merely in the service of getting that | underlying mechanisms serve to deliver that message from its Author | |||
| message from its Author to its Recipients. A message can be | to its Recipients. A message can be explicitly labeled as to its | |||
| explicitly labeled as to its nature [RFC3458]. | nature [RFC3458]. | |||
| A message comprises a transit handling envelope and the message | A message comprises a transit-handling envelope and the message | |||
| content. The envelope contains information used by the MHS. The | content. The envelope contains information used by the MHS. The | |||
| content is divided into a structured header and the body. The header | content is divided into a structured header and the body. The header | |||
| comprises transit trace information and end-user structured fields. | comprises transit handling trace information and structured fields | |||
| The body may be unstructured simple lines of text, or it may be a | that are part of the Author's message content. The body can be | |||
| MIME tree of multi-media subordinate objects, called body-parts, or | unstructured lines of text or a tree of multi-media subordinate | |||
| attachments [RFC2045], [RFC2046], [RFC2047], [RFC4288], [RFC4289], | objects, called "body-parts" or attachments [RFC2045], [RFC2046], | |||
| [RFC2049]. | [RFC2047], [RFC4288], [RFC4289], [RFC2049]. | |||
| In addition, Internet Mail has a few conventions for special control | In addition, Internet Mail has a few conventions for special control | |||
| data -- | data, notably: | |||
| Delivery Status Notification (DSN): | Delivery Status Notification (DSN): | |||
| A Delivery Status Notification (DSN) is a message that can be | A Delivery Status Notification (DSN) is a message that can be | |||
| generated by the MHS (MSA, MTA or MDA) and sent to the | generated by the MHS (MSA, MTA, or MDA) and sent to the | |||
| RFC2821.MailFrom address. The mailbox for this is shown as | RFC2821.MailFrom address. An MDA and MTA are shown as sources | |||
| Returns in Figure 5. DSNs provide information about message | of DSNs in Figure 5, and the destination is shown as Returns. | |||
| transit, such as transmission errors or successful delivery | DSNs provide information about message transit, such as | |||
| [RFC3461]. | transfer errors or successful delivery. [RFC3461] | |||
| Message Disposition Notification (MDN): | Message Disposition Notification (MDN): | |||
| A Message Disposition Notification (MDN) is a message that | A Message Disposition Notification (MDN) is a message that | |||
| provides information about user-level, Recipient-side message | provides information about post-delivery processing, such as | |||
| processing, such as indicating that the message has been | indicating that the message has been displayed [RFC3798] or the | |||
| displayed [RFC3798] or the form of content that can be | form of content that can be supported [RFC3297]. It can be | |||
| supported [RFC3297]. It can be generated by an rMUA and is | generated by an rMUA and is sent to the Disposition- | |||
| sent to the Disposition-Notification-To address(es). The | Notification-To addresses. The mailbox for this is shown as | |||
| mailbox for this is shown as Disp in Figure 5. | Disp in Figure 5. | |||
| Message Filtering (SIEVE): | Message Filtering (SIEVE): | |||
| SIEVE is a scripting language that permits specifying | Sieve is a scripting language used to specify conditions for | |||
| conditions for differential handling of mail, typically at the | differential handling of mail, typically at the time of | |||
| time of delivery [RFC3028]. It can be conveyed in a variety of | delivery [RFC5228]. Scripts can be conveyed in a variety of | |||
| ways, as a MIME part. Figure 5 shows a Sieve specification | ways, as a MIME part. Figure 5 shows a Sieve script going | |||
| going from the rMUA to the MDA. However filtering can be done | from the rMUA to the MDA. However, filtering can be done at | |||
| at many different points along the transit path and any one or | many different points along the transit path, and any one or | |||
| more of them might be subject to Sieve directives, especially | more of them might be subject to Sieve directives, especially | |||
| within a single ADMD. Hence the Figure shows only one | within a single ADMD. the Figure 5 shows only one relationship, | |||
| relationship, for (relative) simplicity. | for (relative) simplicity. | |||
| 4.1.1. Envelope | 4.1.1. Envelope | |||
| Internet Mail has a fragmented framework for transit-related | Internet Mail has a fragmented framework for transit-related handling | |||
| "handling" information. Information that is directly used by the MHS | information. Information that is used directly by the MHS is called | |||
| is called the "envelope". It directs handling activities by the | the "envelope." It directs handling activities by the transfer | |||
| transfer service as is carried in transfer service commands. That | service and is carried in transfer service commands. That is, the | |||
| is, the envelope exists in the transfer protocol SMTP [RFC2821]. | envelope exists in the transfer protocol SMTP. [RFC2821] | |||
| Trace information records handling activity and is recorded in the | Trace information, such as RFC2822.Received, is recorded in the | |||
| message Header. [RFC2822] | message header and is not subsequently altered. [RFC2822] | |||
| 4.1.2. Header Fields | 4.1.2. Header Fields | |||
| Header fields are attribute name/value pairs covering an extensible | Header fields are attribute name/value pairs that cover an extensible | |||
| range of email service, user content and user transaction meta- | range of email service parameters, structured user content, and user | |||
| information. The core set of header fields is defined in [RFC2822], | transaction meta-information. The core set of header fields is | |||
| [RFC0822]. It is common to extend this set, for different | defined in [RFC2822], [RFC0822]. It is common practice to extend | |||
| applications. Procedures for registering header fields are defined | this set for different applications. Procedures for registering | |||
| in [RFC4021]. An extensive set of existing header field | header fields are defined in [RFC3864]. An extensive set of existing | |||
| registrations is provided in [RFC3864]. | header field registrations is provided in [RFC4021]. | |||
| One danger with placing additional information in header fields is | One danger of placing additional information in header fields is that | |||
| that Gateways often alter or delete them. | 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 be lines of ASCII text or a | |||
| be hierarchically structured into a composition of multi-media body- | hierarchically structured composition of multi-media body-part | |||
| part attachments, using MIME [RFC2045], [RFC2046], [RFC2047], | attachments, using MIME. [RFC2045], [RFC2046], [RFC2047], [RFC4288], | |||
| [RFC4288], [RFC2049]. MIME structures each body-part into a | [RFC2049] | |||
| recursive set of MIME header field meta-data and MIME Content | ||||
| sections. | ||||
| 4.1.4. Identity References in a Message | 4.1.4. Identity References in a Message | |||
| For a message in transit, the core uses of identifiers combine into: | Table 1 lists the core identifiers present in a message during | |||
| transit. | ||||
| +-----------------------+----------------+---------------------+ | ||||
| | Layer | Field | Set By | | ||||
| +-----------------------+----------------+---------------------+ | ||||
| | Message Body | MIME Header | Author | | ||||
| | Message header fields | From | Author | | ||||
| | | Sender | Source | | ||||
| | | Reply-To | Author | | ||||
| | | To, CC, BCC | Author | | ||||
| | | Message-ID | Source | | ||||
| | | Received | Source, Relay, Dest | | ||||
| | | Return-Path | MDA, from MailFrom | | ||||
| | | Resent-* | Mediator | | ||||
| | | List-Id | Mediator Author | | ||||
| | | List-* | Mediator Author | | ||||
| | SMTP | HELO/EHLO | Latest Relay Client | | ||||
| | | ENVID | Source | | ||||
| | | MailFrom | Source | | ||||
| | | RcptTo | Author | | ||||
| | IP | Source Address | Latest Relay Client | | ||||
| +-----------------------+----------------+---------------------+ | ||||
| Layered Identities | +----------------------+----------------+---------------------------+ | |||
| | Layer | Field | Set By | | ||||
| +----------------------+----------------+---------------------------+ | ||||
| | Message Body | MIME Header | Author | | ||||
| | Message header | From: | Author | | ||||
| | fields | | | | ||||
| | | Sender: | Originator | | ||||
| | | Reply-To: | Author | | ||||
| | | To:, CC:, BCC: | Author | | ||||
| | | Message-ID: | Originator | | ||||
| | | Received: | Originator, Relay, | | ||||
| | | | Receiver | | ||||
| | | Return-Path: | MDA, from MailFrom | | ||||
| | | Resent-*: | Mediator | | ||||
| | | List-Id: | Mediator | | ||||
| | | List-*: | Mediator | | ||||
| | SMTP | HELO/EHLO | Latest Relay Client | | ||||
| | | ENVID | Originator | | ||||
| | | MailFrom | Originator | | ||||
| | | RcptTo | Author | | ||||
| | | ORCPT | Author | | ||||
| | IP | Source Address | Latest Relay Client | | ||||
| +----------------------+----------------+---------------------------+ | ||||
| The most common address-related fields are: | Table 1: Layered Identities | |||
| RFC2822.From: Set by - Author | These are the most common address-related fields: | |||
| Names and addresses for author(s) of the message content are | RFC2822.From: Set by - Author | |||
| listed in the From: field. | ||||
| RFC2822.Reply-To: Set by - Author | Names and addresses for authors of the message content are | |||
| listed in the From: field. | ||||
| If a message Recipient sends a reply message that would otherwise | RFC2822.Reply-To: Set by - Author | |||
| use the RFC2822.From field address(es) that are contained in the | ||||
| original message, then they are instead to use the address(es) in | ||||
| the RFC2822.Reply-To field. In other words this field is a direct | ||||
| override of the From: field, for responses from Recipients. | ||||
| RFC2822.Sender: Set by - Source | If a Recipient sends a reply message that would otherwise use | |||
| the RFC2822.From field addresses in the original message, the | ||||
| addresses in the RFC2822.Reply-To field are used instead. In | ||||
| other words, this field overrides the From: field for responses | ||||
| from Recipients. | ||||
| This specifies the address responsible for submitting the message | RFC2822.Sender: Set by - Originator | |||
| into the transfer service. For efficiency this field can be | This field specifies the address responsible for submitting the | |||
| omitted if it contains the same address as RFC2822.From. However | message to the transfer service. This field can be omitted if | |||
| this does not mean there is no Sender specified. Rather it means | it contains the same address as RFC2822.From. However, | |||
| that that header field is virtual and that the address in the | omitting this field does not mean that no Sender is specified; | |||
| From: field MUST be used. | it means that that header field is virtual and that the address | |||
| in the From: field MUST be used. | ||||
| Specification of the notifications Return addresses -- contained | Specification of the notifications Return addresses, which are | |||
| in RFC2821.MailFrom -- is made by the RFC2822.Sender. Typically | contained in RFC2821.MailFrom, is made by the RFC2822.Sender. | |||
| the Return address is the same as the Sender address. However | Typically the Return address is the same as the Sender address. | |||
| some usage scenarios require it to be different. | However, some usage scenarios require it to be different. | |||
| RFC2822.To/.CC: Set by - Author | RFC2822.To/.CC: Set by - Author | |||
| These specify MUA Recipient addresses. However some or all of the | These fields specify MUA Recipient addresses. However, some or | |||
| addresses in these fields might not be present in the | all of the addresses in these fields might not be present in | |||
| RFC2821.RcptTo commands. | the RFC2821.RcptTo commands. | |||
| The distinction between To and CC is subjective. Generally a To | The distinction between To and CC is subjective. Generally, a | |||
| addressee is considered primary and is expected to take action on | To addressee is considered primary and is expected to take | |||
| the message. A CC addressee typically receives a copy only for | action on the message. A CC addressee typically receives a | |||
| their information. | copy as a courtesy. | |||
| RFC2822.BCC: Set by - Author | RFC2822.BCC: Set by - Author | |||
| A message might be copied to an addressee whose participation is | A copy of the message might be sent to an addressee whose | |||
| not to be disclosed to the RFC2822.To or RFC2822.CC Recipients | participation is not to be disclosed to the RFC2822.To or | |||
| and, usually, not to the other BCC Recipients. The BCC header | RFC2822.CC Recipients and, usually, not to the other BCC | |||
| field indicates a message copy to such a Recipient. | Recipients. The BCC: header field indicates a message copy to | |||
| such a Recipient. Use of this field is discussed in [RFC2822]. | ||||
| Typically, the field lists no addresses or only lists the single | RFC2821.HELO/.EHLO: Set by - Originator, MSA, MTA | |||
| address of the Recipient receiving this copy. An MUA will | ||||
| typically make separate postings for TO and CC Recipients, versus | ||||
| BCC Recipients. The former will see no indication that any BCCs | ||||
| were sent, whereas the latter have a BCC field present. It might | ||||
| be empty, contain a comment, or contain one or more BCC addresses, | ||||
| depending upon the preferences of the Author. | ||||
| RFC2821.HELO/.EHLO: Set by - Source | Any SMTP client -- including Originator, MSA, or MTA -- can | |||
| specify its hosting domain identity for the SMTP HELO or EHLO | ||||
| command operation. | ||||
| The MSA can specify its hosting domain identity for the SMTP HELO | RFC3461.ENVID: Set by - Originator | |||
| or EHLO command operation. | ||||
| RFC3461.ENVID: Set by - Source | The MSA can specify an opaque string, to be included in a DSN, | |||
| as a means of assisting the Return address recipient in | ||||
| identifying the message that produced a DSN or message | ||||
| tracking. | ||||
| The MSA can specify an opaque string, to be included in a DSN, as | RFC2821.MailFrom: Set by - Originator | |||
| a means of assisting the Return address recipient in identifying | This field is an end-to-end string that specifies an email | |||
| the message that produced a DSN, or message tracking. | address for receiving return control information, such as | |||
| returned messages. The name of this field is misleading, | ||||
| because it is not required to specify either the Author or the | ||||
| actor responsible for submitting the message. Rather, the | ||||
| actor responsible for submission specifies the RFC2821.MailFrom | ||||
| address. Ultimately, the simple basis for deciding which | ||||
| address needs to be in the RFC2821.MailFrom field is to | ||||
| determine which address must be informed about transfer-level | ||||
| problems (and possibly successes.) | ||||
| RFC2821.MailFrom: Set by - Source | RFC2821.RcptTo: Set by - Author, Final MTA, MDA. | |||
| This is an end-to-end string that specifies an email address for | This field specifies the MUA mailbox address of a Recipient. | |||
| receiving return control information, such as "bounces". The name | The string might not be visible in the message content header. | |||
| of this field is misleading, because it is not required to specify | For example, the message destination address header fields, | |||
| either the author or the Actor responsible for submitting the | such as RFC2822.To, might specify a mailing list mailbox, while | |||
| message. Rather, the Actor responsible for submission specifies | the RFC2821.RcptTo address specifies a member of that list. | |||
| the RFC2821.MailFrom address. Ultimately the simple basis for | ||||
| deciding what address needs to be in the RFC2821.MailFrom is to | ||||
| determine what address needs to be informed about transmission- | ||||
| level problems (and, possibly, successes.) | ||||
| RFC2821.RcptTo: Set by - Author | RFC2821.ORCPT: Set by - Author. | |||
| This specifies the MUA mailbox address of a recipient. The string | This is an optional parameter to the RCPT command, indicating | |||
| might not be visible in the message content header. For example, | the original address to which the current RCPT TO address | |||
| the message destination address header fields, such as RFC2822.To, | corresponds, after a mapping was performed during transit. An | |||
| might specify a mailing list mailbox, while the RFC2821.RcptTo | ORCPT is the only reliable way to correlate a DSN from a multi- | |||
| address specifies a member of that list. | recipient message transfer with the intended recipient. | |||
| RFC2821.Received: Set by - Source, Relay, Mediator, Dest | RFC2821.Received: Set by - Originator, Relay, Mediator, Dest | |||
| This indicates trace information, including originating host, | This field contains trace information, including originating | |||
| relays, Mediators, and MSA host domain names and/or IP Addresses. | host, Relays, Mediators, and MSA host domain names and/or IP | |||
| Addresses. | ||||
| RFC2821.Return-Path: Set by - Source | RFC2821.Return-Path: Set by - Originator | |||
| 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. | |||
| RFC2919.List-Id: Set by - Mediator Author | RFC2919.List-Id: Set by - Mediator Author | |||
| This provides a globally unique mailing list naming framework that | This field provides a globally unique mailing list naming | |||
| is independent of particular hosts. [RFC2919] | framework that is independent of particular hosts. [RFC2919] | |||
| The identifier is in the form of a domain name; however the string | The identifier is in the form of a domain name; however, the | |||
| usually is constructed by combining the two parts of an email | string usually is constructed by combining the two parts of an | |||
| address and the result rarely is a true domain name, listed in the | email address. The result is rarely a true domain name, listed | |||
| domain name service -- although it can be. | in the domain name service, although it can be. | |||
| RFC2369.List-*: Set by - Mediator Author | RFC2369.List-*: Set by - Mediator Author | |||
| [RFC2369] defines a collection of message header fields for use by | [RFC2369] defines a collection of message header fields for use | |||
| mailing lists. In effect they supply list-specific parameters for | by mailing lists. In effect, they supply list-specific | |||
| common mailing list user operations. The identifiers for these | parameters for common mailing list user operations. The | |||
| operations are for the list, itself, and the user-as-subscriber | identifiers for these operations are for the list itself and | |||
| [RFC2369]. | the user-as-subscriber. [RFC2369] | |||
| RFC0791.SourceAddr: Set by - The Client SMTP sending host | RFC0791.SourceAddr: Set by - The Client SMTP sending host | |||
| immediately preceding the current receiving SMTP server. | immediately preceding the current receiving SMTP server. | |||
| [RFC0791] defines the basic unit of data transfer for the | [RFC0791] defines the basic unit of data transfer for the | |||
| Internet, the IP Datagram. It contains a "Source Address" field | Internet: the IP Datagram. It contains a Source Address field | |||
| that specifies the IP Address for the host (interface) from which | that specifies the IP Address for the host (interface) from | |||
| the datagram was sent. This information is set and provided by | which the datagram was sent. This information is set and | |||
| the IP layer, and is therefore independent of mail-level | provided by the IP layer, which makes it independent of mail- | |||
| mechanisms. As such, it is often taken to be authoritative, | level mechanisms. As such, it is often taken to be | |||
| although it is possible to provide false addresses. | authoritative, although it is possible to provide false | |||
| addresses. | ||||
| 4.2. User-Level Services | 4.2. User-Level Services | |||
| Interactions at the user level entail protocol exchanges, distinct | Interactions at the user level entail protocol exchanges, distinct | |||
| from those that occur at lower layers of the Internet Mail | from those that occur at lower layers of the Internet Mail MHS | |||
| architecture, which is above the Internet Transport layer. Because | architecture that is, in turn, above the Internet Transport layer. | |||
| the motivation for email, and much of its use, is for interaction | Because the motivation for email, and much of its use, is for | |||
| among humans, the nature and details of these protocol exchanges | interaction among people, the nature and details of these protocol | |||
| often are determined by the needs of human and group communication. | exchanges often are determined by the needs of interpersonal and | |||
| In terms of efforts to specify behaviors, one effect of this is to | group communication. To accommodate the idiosyncratic behavior | |||
| require subjective guidelines, rather than strict rules, for some | inherent in such communication, only subjective guidelines, rather | |||
| aspects of system behavior. Mailing Lists provide particularly | than strict rules, can be offered for some aspects of system | |||
| salient examples of this. | behavior. Mailing Lists provide particularly salient examples. | |||
| 4.2.1. Mail User Agent (MUA) | 4.2.1. Mail User Agent (MUA) | |||
| A Mail User Agent (MUA) works on behalf of end-users and end-user | A Mail User Agent (MUA) works on behalf of User actors and User | |||
| applications. It is their "representative" within the email service. | applications. It is their representative within the email service. | |||
| The Origination-side MUA (oMUA) creates a message and performs | The Author MUA (aMUA) creates a message and performs initial | |||
| initial "submission" into the transfer infrastructure, via a Mail | submission into the transfer infrastructure via a Mail Submission | |||
| Submission Agent (MSA). It can also perform any creation- and | Agent (MSA). It can also perform any creation- and posting-time | |||
| posting-time archival in its Message Store (oMS). An MUA's oMS will | archival in its Message Store (aMS). An MUA aMS can organize | |||
| typically include a folder for messages under development (Drafts), a | messages in many different ways. A common model uses aggregations, | |||
| folder for messages waiting to be sent (Queued or Unsent) and a | called "folders". This model allows a folder for messages under | |||
| folder for messages that have been successfully posted for | development (Drafts), a folder for messages waiting to be sent | |||
| transmission (Sent). | (Queued or Unsent), and a folder for messages that have been | |||
| successfully posted for transfer (Sent). But none of these folders | ||||
| is required. For example, IMAP allows drafts to be stored in any | ||||
| folder; so no Drafts folder is present. | ||||
| The Recipient-side MUA (rMUA) works on behalf of the end-user | The Recipient MUA (rMUA) works on behalf of the Recipient to process | |||
| Recipient to process received mail. This includes generating user- | received mail. This processing includes generating user-level | |||
| level return control messages, displaying and disposing of the | disposition control messages, displaying and disposing of the | |||
| received message, and closing or expanding the user communication | received message, and closing or expanding the user communication | |||
| loop, by initiating replies and forwarding new messages. | loop by initiating replies and forwarding new messages. | |||
| NOTE: Although not shown in Figure 5, an MUA can, itself, have a | NOTE: Although not shown in Figure 5, an MUA itself can have a | |||
| distributed implementation, such as a "thin" user interface | distributed implementation, such as a "thin" user interface | |||
| module on a limited end-user device, with the bulk of the MUA | module on a constrained device such as a smartphone, with most | |||
| functionality operated remotely on a more capable server. An | of the MUA functionality running remotely on a more capable | |||
| example of such an architecture might use IMAP [RFC3501] for | server. An example of such an architecture might use IMAP | |||
| most of the interactions between an MUA client and an MUA | [RFC3501] for most of the interactions between an MUA client | |||
| server. A standardized approach for such scenarios is defined | and an MUA server. An approach for such scenarios is defined | |||
| by [RFC4550]. | by [RFC4550]. | |||
| A Mediator is special class of MUA. It performs message re-posting, | A Mediator is special class of MUA. It performs message re-posting, | |||
| as discussed in Section 2.1. | as discussed in Section 2.1. | |||
| Identity fields relevant to a typical end-user MUA include: | An MUA can be automated, on behalf of a user who is not present at | |||
| the time the MUA is active. One example is a bulk sending service | ||||
| that has a timed-initiation feature. These services are not to be | ||||
| confused with a mailing list Mediator, since there is no incoming | ||||
| message triggering the activity of the automated service. | ||||
| RFC2822.From | A popular and problematic MUA is an automatic responder, such as one | |||
| that sends out-of-office notices. This behavior might be confused | ||||
| with that of a Mediator, but this MUA is generating a new message. | ||||
| Automatic responders can annoy users of mailing lists unless they | ||||
| follow [RFC3834]. ****** The recommendations in RFC 3834 are an | ||||
| important consequence of the addressing architecture of Internet Mail | ||||
| so they do help illustrate the architecture. ***** | ||||
| RFC2822.Reply-To | These identity fields are relevant to a typical MUA: | |||
| RFC2822.Sender | RFC2822.From | |||
| RFC2822.To, RFC2822.CC | RFC2822.Reply-To | |||
| RFC2822.BCC | RFC2822.Sender | |||
| RFC2822.To, RFC2822.CC | ||||
| RFC2822.BCC | ||||
| 4.2.2. Message Store (MS) | 4.2.2. Message Store (MS) | |||
| An MUA can employ a long-term Message Store (MS). Figure 5 depicts | An MUA can employ a long-term Message Store (MS). Figure 5 depicts | |||
| an Origination-side MS (oMS) and a Recipient-side MS (rMS). There is | an Author's MS (aMS) and a Recipient's MS (rMS). An MS can be | |||
| a rich set of choices for configuring a store, because any MS may | located on a remote server or on the same machine as the MUA. | |||
| comprise a distributed set of component stores. In Figure 5, the rMS | ||||
| demonstrates this by showing an rMS that is located on a remote | ||||
| server (srMS) and an rMS that is on the same machine as the MUA | ||||
| (urMS). The relationship between two message stores, themselves, can | ||||
| vary. | ||||
| As discussed in [RFC1733] the operational relationship among MSs can | ||||
| be -- | ||||
| Online: Only a remote MS is used, with messages being accessible | ||||
| only when the MUA is attached to the MS, and the MUA repeatedly | ||||
| fetches all or part of a message, from one session to the next. | ||||
| Offline: The MS is local to the user, and messages are | ||||
| completely moved from any remote store, rather than (also) | ||||
| being retained there. | ||||
| Disconnected: An rMS and a uMS are kept synchronized, for all or | An MS acquires messages from an MDA either by a local mechanism or by | |||
| part of their contents, while there is a connection between | using POP or IMAP. The MUA accesses the MS either by a local | |||
| them. While they are disconnected, mail can continue to arrive | mechanism or by using POP or IMAP. Using POP for message access, | |||
| at the rMS and the user may continue to make changes to the | rather than bulk transfer, is rare, awkward, and largely non- | |||
| uMS. Upon reconnection, the two stores are re-synchronized. | standard. | |||
| 4.3. MHS-Level Services | 4.3. MHS-Level Services | |||
| 4.3.1. Mail Submission Agent (MSA) | 4.3.1. Mail Submission Agent (MSA) | |||
| A Mail Submission Agent (MSA) accepts the message submission from the | A Mail Submission Agent (MSA) accepts the message submitted by the | |||
| oMUA and enforces the policies of the hosting ADMD and the | aMUA and enforces the policies of the hosting ADMD and the | |||
| requirements of Internet standards. An MSA represents an unusual | requirements of Internet standards. An MSA represents an unusual | |||
| functional dichotomy. A portion of its task is to represent MUA | functional dichotomy. It represents the interests of the Author | |||
| (uMSA) interests during message posting, to facilitate posting | (aMUA) during message posting, to facilitate posting success; it also | |||
| success, and another portion is to represent MHS (hMSA) interests. | represents the interests of the MHS. In the architecture, these | |||
| This is best modeled, as shown in Figure 5, with two sub-components, | responsibilities are modeled, as shown in Figure 5, by dividing the | |||
| one for the oMUA (oMSA) and one for the MHS (hMSA) | MSA into two sub-components, aMSA and hMSA, respectively. Transfer | |||
| of responsibility for a single message, from an Author's environment | ||||
| to the MHS, is called "posting". In Figure 5 it is marked as the (S) | ||||
| transition, within the MSA. | ||||
| The hMSA's function is to take transit responsibility for a message | The hMSA takes transit responsibility for a message that conforms to | |||
| that conforms to the relevant Internet standards and to local site | the relevant Internet standards and to local site policies. It | |||
| policies. It rejects messages that are not in conformance. The | rejects messages that are not in conformance. The MSA performs final | |||
| oMSA's is to perform final message preparation for submission and to | message preparation for submission and effects the transfer of | |||
| effect the transfer of responsibility to the MHS, via the hMSA. The | responsibility to the MHS, via the hMSA. The amount of preparation | |||
| amount of preparation will depend upon the local implementations. | depends upon the local implementations. Examples of oMSA tasks | |||
| Examples of oMSA tasks could be to add header fields, such as Date: | include adding header fields, such as Date: and Message-ID:, and | |||
| and Message-ID, to modify portions of the message from local | modifying portions of the message from local notations to Internet | |||
| notations to Internet standards, such as expanding an address to its | standards, such as expanding an address to its formal RFC2822 | |||
| formal RFC2822 representation. | representation. | |||
| Historically, standards-based MUA/MSA interactions have used SMTP | Historically, standards-based MUA/MSA message postings have used | |||
| [RFC2821]. A recent alternative is SUBMISSION [RFC4409]. Although | SMTP. [RFC2821] The standard currently preferred is SUBMISSION. | |||
| SUBMISSION derives from SMTP, it uses a separate TCP port and imposes | [RFC4409] Although SUBMISSION derives from SMTP, it uses a separate | |||
| distinct requirements, such as access authorization. | TCP port and imposes distinct requirements, such as access | |||
| authorization. | ||||
| Identities relevant to the MSA include: | These identities are relevant to the MSA: | |||
| RFC2821.HELO/.EHLO | RFC2821.HELO/.EHLO | |||
| RFC3461.ENVID | ||||
| RFC2821.MailFrom | RFC3461.ENVID | |||
| RFC2821.RcptTo | RFC2821.MailFrom | |||
| RFC2821.Received | RFC2821.RcptTo | |||
| RFC2821.Received | ||||
| RFC0791.SourceAddr | ||||
| 4.3.2. Mail Transfer Agent (MTA) | 4.3.2. Mail Transfer Agent (MTA) | |||
| A Mail Transfer Agent (MTA) relays mail for one application-level | A Mail Transfer Agent (MTA) relays mail for one application-level | |||
| "hop". It is like a packet-switch or IP router in that its job is to | "hop." It is like a packet-switch or IP router in that its job is to | |||
| make routing assessments and to move the message closer to the | make routing assessments and to move the message closer to the | |||
| Recipient(s). Relaying is performed by a sequence of MTAs, until the | Recipients. Of course, email objects are typically much larger than | |||
| message reaches a destination MDA. Hence an MTA implements both | ||||
| client and server MTA functionality. It does not make changes to | ||||
| addresses in the envelope or reformulate the editorial content. | ||||
| Hence a change in data form, such as to the MIME Content-Transfer- | ||||
| Encoding, is within the purview of an MTA, whereas removal or | ||||
| replacement of body content is not. Also it can add trace | ||||
| information. Of course email objects are typically much larger than | ||||
| the payload of a packet or datagram, and the end-to-end latencies are | the payload of a packet or datagram, and the end-to-end latencies are | |||
| typically much higher. | typically much higher. Relaying is performed by a sequence of MTAs, | |||
| until the message reaches a destination MDA. Hence, an MTA | ||||
| implements both client and server MTA functionality; it does not | ||||
| change addresses in the envelope or reformulate the editorial | ||||
| content. A change in data form, such as to MIME Content-Transfer- | ||||
| Encoding, is within the purview of an MTA, but removal or replacement | ||||
| of body content is not. An MTA also adds trace information. | ||||
| [RFC2505] | ||||
| Internet Mail primarily uses SMTP [RFC2821], [RFC0821] to effect | NOTE: Within a destination ADMD, email relaying modules can | |||
| make a variety of changes to the message, prior to delivery. | ||||
| In such cases, these modules are acting as Gateways, rather | ||||
| than MTAs. | ||||
| Internet Mail uses SMTP [RFC2821], [RFC0821] primarily to effect | ||||
| point-to-point transfers between peer MTAs. Other transfer | point-to-point transfers between peer MTAs. Other transfer | |||
| mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645]. As with | mechanisms include Batch SMTP [RFC2442] and ODMR [RFC2645]. As with | |||
| most network layer mechanisms, Internet Mail's SMTP supports a basic | most network layer mechanisms, the Internet Mail SMTP supports a | |||
| level of reliability, by virtue of providing for retransmission after | basic level of reliability, by virtue of providing for retransmission | |||
| a temporary transfer failure. Contrary to typical packet switches | after a temporary transfer failure. Unlike typical packet switches | |||
| (and Instant Messaging services) Internet Mail MTAs typically store | (and Instant Messaging services), Internet Mail MTAs are expected to | |||
| messages in a manner that allows recovery across service | store messages in a manner that allows recovery across service | |||
| interruptions, such as host system shutdown. However the degree of | interruptions, such as host system shutdown. The degree of such | |||
| such robustness and persistence by an MTA can be highly variable. | robustness and persistence by an MTA can vary. The base SMTP | |||
| specification provides a framework for protocol response codes. An | ||||
| extensible enhancement to this framework is defined in [RFC5248] | ||||
| The primary "routing" mechanism for Internet Mail is the DNS MX | The primary routing mechanism for Internet Mail is the DNS MX record | |||
| record [RFC1035], which specifies a host through which the queried | [RFC1035], which specifies an MTA through which the queried domain | |||
| domain can be reached. This presumes a public -- or at least a | can be reached. This mechanism presumes a public, or at least a | |||
| common -- backbone that permits any attached host to connect to any | common, backbone that permits any attached MTA to connect to any | |||
| other. | other. | |||
| Identities relevant to the MTA include: | MTAs can perform any of these well-established roles: | |||
| Boundary MTA: An MTA that is part of an ADMD and interacts with | ||||
| MTAs in other ADMDs. This is also called a Border MTA. There | ||||
| can be different Boundary MTAs, according to the direction of | ||||
| mail-flow. | ||||
| Outbound MTA: An MTA that relays messages to other ADMDs. | ||||
| Inbound MTA: An MTA that receives inbound SMTP messages from | ||||
| MTA Relays in other ADMDs, for example, an MTA running on | ||||
| the host listed as the target of an MX record. | ||||
| Final MTA: The MTA that transfers a message to the MDA. | ||||
| These identities are relevant to the MTA: | ||||
| RFC2821.HELO/.EHLO | RFC2821.HELO/.EHLO | |||
| RFC3461.ENVID | RFC3461.ENVID | |||
| RFC2821.MailFrom | RFC2821.MailFrom | |||
| RFC2821.RcptTo | RFC2821.RcptTo | |||
| RFC2822.Received Set by - Relay Server | RFC2822.Received: Set by - Relay Server | |||
| RFC0791.SourceAddr | ||||
| 4.3.3. Mail Delivery Agent (MDA) | 4.3.3. Mail Delivery Agent (MDA) | |||
| A Mail Delivery Agent (MDA) delivers email to the Recipient's | A transfer of responsibility from the MHS to a Recipient's | |||
| mailbox. It can provide distinctive, address-based functionality, | environment (mailbox) is called "delivery." In the architecture, as | |||
| made possible by its detailed knowledge of the properties of the | depicted in Figure 5, delivery takes place within a Mail Delivery | |||
| destination address. This knowledge might also be present elsewhere | Agent (MDA) and is shown as the (D) transition from the MHS-oriented | |||
| in the Recipient's ADMD, such as at an organizational border | MDA component (hMDA) to the Recipient-oriented MDA component (rMDA). | |||
| (Boundary) Relay. However it is required for the MDA, if only | ||||
| because the MDA must know where to deliver the message. | ||||
| As with an MSA, an MDA serves two roles, as depicted in Figure 5. | An MDA can provide distinctive, address-based functionality, made | |||
| Formal transfer of responsibility, called "delivery" is effected | possible by its detailed information about the properties of the | |||
| between the two components that embody these roles. The MHS portion | destination address. This information might also be present | |||
| (hMDA) primarily functions as a server SMTP engine. A common | elsewhere in the Recipient's ADMD, such as at an organizational | |||
| additional role is to re-direct the message to an alternative | border (Boundary) Relay. However, it is required for the MDA, if | |||
| address, as specified by the recipient addressee's preferences. The | only because the MDA is required to know where to deliver the | |||
| job of the recipient portion of the MDA (rMDA) is to perform any | message. | |||
| delivery-actions are desired by the recipient. | ||||
| Using Internet protocols, delivery can be effected by a variety of | Like an MSA, an MDA serves two roles, as depicted in Figure 5. | |||
| standard protocols. When coupled with an internal local mechanism, | Formal transfer of responsibility, called "delivery", is effected | |||
| SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the | between the two components that embody these roles as shows as "(D)" | |||
| Recipient system, at the initiative of the upstream email service. | in Figure 5. The MHS portion (hMDA) primarily functions as a server | |||
| POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the | SMTP engine. A common additional role is to re-direct the message to | |||
| initiative of the Recipient system. POP and IMAP can also be used | an alternative address, as specified by the recipient addressee's | |||
| for repeated access to messages on a remote MS. | preferences. The job of the recipient portion of the MDA (rMDA) is | |||
| to perform any delivery actions that the Recipient specifies. | ||||
| Identities relevant to the MDA include: | Transfer into the MDA is accomplished by a normal MTA transfer | |||
| mechanism. Transfer from an MDA to an MS uses an access protocol, | ||||
| such as POP or IMAP. | ||||
| RFC2821.Return-Path: Set by - Author Source or Mediator Source | NOTE: The term "delivery" can refer to the formal, MHS function | |||
| specified here or to the first time a message is displayed to a | ||||
| Recipient. A simple, practical test for whether the MHS-based | ||||
| definition applies is whether a DSN can be generated. | ||||
| These identities are relevant to the MDA: | ||||
| RFC2821.Return-Path: Set by - Author Originator or Mediator | ||||
| Originator | ||||
| 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: Set by - MDA server | RFC2822.Received: Set by - MDA server | |||
| An MDA can record a Received header field to indicate trace | An MDA can record a Received: header field to indicate trace | |||
| information, including source host and receiving host domain | information, including source host and receiving host domain | |||
| names and/or IP Addresses. | names and/or IP Addresses. | |||
| 4.4. Transition Modes | ||||
| From the origination site to the point of delivery, Internet Mail | ||||
| usually follows a "push" model. That is, the actor that holds the | ||||
| message initiates transfer to the next venue, typically with SMTP | ||||
| [RFC2821] or LMTP [RFC2033]. With a "pull" model, the actor that | ||||
| holds the message waits for the actor in the next venue to initiate a | ||||
| request for transfer. Standardized mechanisms for pull-based MHS | ||||
| transfer are ETRN [RFC1985] and ODMR [RFC2645]. | ||||
| After delivery, the Recipient's MUA (or MS) can gain access by having | ||||
| the message pushed to it or by having the receiver of access pull the | ||||
| message, such as by using POP [RFC1939] and IMAP [RFC3501]. | ||||
| 4.5. Implementation and Operation | ||||
| A discussion of any interesting system architecture often bogs down | ||||
| when architecture and implementation are confused. An architecture | ||||
| defines the conceptual functions of a service, divided into discrete | ||||
| conceptual modules. An implementation of that architecture can | ||||
| combine or separate architectural components, as needed for a | ||||
| particular operational environment. For example, a software system | ||||
| that primarily performs message relaying is an MTA, yet it might | ||||
| also include MDA functionality. That same MTA system might be able | ||||
| to interface with non-Internet email services and thus perform both | ||||
| as an MTA and as a Gateway. | ||||
| Similarly, implemented modules might be configured to form | ||||
| elaborations of the architecture. An interesting example is a | ||||
| distributed MS. One portion might be a remote server and another | ||||
| might be local to the MUA. As discussed in [RFC1733], there are | ||||
| three operational relationships among such MSs: | ||||
| Online: The MS is remote, and messages are accessible only when | ||||
| the MUA is attached to the MS so that the MUA will re-fetch all | ||||
| or part of a message, from one session to the next. | ||||
| Offline: The MS is local to the user, and messages are | ||||
| completely moved from any remote store, rather than (also) | ||||
| being retained there. | ||||
| Disconnected: An rMS and a uMS are kept synchronized, for all or | ||||
| part of their contents, while they are connected. When they | ||||
| are disconnected, mail can arrive at the rMS and the user can | ||||
| make changes to the uMS. The two stores are re-synchronized | ||||
| when they are reconnected. | ||||
| 5. Mediators | 5. Mediators | |||
| Basic email transfer from an Author to the specified Recipients is | Basic message transfer from Author to Recipients is accomplished by | |||
| accomplished by using an asynchronous, store-and-forward | using an asynchronous store-and-forward communication infrastructure | |||
| communication infrastructure, in a sequence of independent | in a sequence of independent transmissions through some number of | |||
| transmissions through some number of MTAs. A very different task is | MTAs. A very different task is a sequence of postings and deliveries | |||
| a User-level sequence of postings and deliveries, through Mediators. | through Mediators. A Mediator forwards a message, through a re- | |||
| A Mediator forwards a message, through a re-posting process. The | posting process. The Mediator shares some functionality with basic | |||
| Mediator does share some functionality with basic MTA relaying, but | MTA relaying, but has greater flexibility in both addressing and | |||
| it enjoys a degree of freedom with both addressing and content that | content than is available to MTAs. | |||
| is not available to MTAs. | ||||
| RFC2821.HELO/.EHLO: Set by - Mediator Source | This is the core set of message information that is commonly set by | |||
| all types of Mediators: | ||||
| RFC3461.ENVID Set by - Author Source or Mediator Source | RFC2821.HELO/.EHLO: Set by - Mediator Originator | |||
| RFC2821.MailFrom: Set by - Author Source or Mediator Source | RFC3461.ENVID: Set by - Mediator Originator | |||
| RFC2821.RcptTo: Set by - Mediator Author | RFC2821.RcptTo: Set by - Mediator Author | |||
| RFC2821.Received: Set by - Mediator Dest | RFC2821.Received: Set by - Mediator Dest | |||
| The salient aspect of a Mediator, that distinguishes it from any | The Mediator can record received information, to indicate the | |||
| other MUA creating an entirely new message, is that a Mediator | delivery to the original address and submission to the alias | |||
| preserves the integrity and tone of the original message, including | address. The trace of Received: header fields can include | |||
| the essential aspects of its origination information. The Mediator | everything from original posting, through relaying, to final | |||
| might also add commentary. | delivery. | |||
| Examples of MUA message creation NOT performed by Mediators include | The aspect of a Mediator that distinguishes it from any other MUA | |||
| -- | creating a message is that a Mediator preserves the integrity and | |||
| tone of the original message, including the essential aspects of its | ||||
| origination information. The Mediator might also add commentary. | ||||
| Examples of MUA messages that a Mediator does not create include: | ||||
| New message that forwards an existing message: | New message that forwards an existing message: | |||
| This action rather curiously provides a basic template for a | Although this action provides a basic template for a class of | |||
| class of Mediators. However for its typical occurrence it is | Mediators, its typical occurrence is not, itself, an example of | |||
| not itself an example of a Mediator. The new message is viewed | a Mediator. The new message is viewed as being from the actor | |||
| as being from the Actor doing the forwarding, rather than being | that is doing the forwarding, rather than from the original | |||
| from the original Author. | Author. | |||
| 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 | from the new Originator. This Mediator Originator might add | |||
| commentary and certainly has the opportunity to modify the | commentary and can modify the original message content. | |||
| original message content. The forwarded message is therefore | ||||
| independent of the original message exchange and creates a new | Because the forwarded message is a component of the message | |||
| message dialogue. However the final Recipient sees the | sent by the new Originator, the new message creates a new | |||
| contained message as from the original Author. | dialogue. However the final Recipient still sees the contained | |||
| message as from the original Author. | ||||
| Reply: | Reply: | |||
| When a Recipient formulates a response back to the original | When a Recipient responds to the Author of a message, the new | |||
| message's author, the new message is not typically viewed as | message is not typically viewed as a forwarding of the | |||
| being a "forwarding" of the original. Its focus is the new | original. Its focus is the new content, although it might | |||
| content, although it might contain all or part of the material | contain all or part of the material from the original message. | |||
| in the original message. Therefore the earlier material is | The earlier material is merely contextual and secondary. This | |||
| merely contextual and secondary. | includes automated replies, such as vacation out-of-office | |||
| notices, as discussed in Section 4.2.1. | ||||
| Annotation: | Annotation: | |||
| The integrity of the original message is usually preserved, but | The integrity of the original message is usually preserved, but | |||
| one or more comments about the message are added in a manner | one or more comments about the message are added in a manner | |||
| that distinguishes commentary from original text. The tone of | that distinguishes commentary from original text. The primary | |||
| the new message is that it is primarily commentary from a new | purpose of the new message is to provide commentary from a new | |||
| Author, similar to a Reply. | Author, similar to a Reply. | |||
| The remainder of this section describes common examples of Mediators. | The remainder of this section describes common examples of | |||
| Mediators. | ||||
| 5.1. Aliasing | ||||
| Aliasing is a simple re-addressing facility that is available in most | 5.1. Alias | |||
| MDA implementations. It is performed just before placing a message | ||||
| into the specified Recipient's mailbox. Instead the message is | ||||
| submitted back to the transfer service, for delivery to one or more | ||||
| alternate addresses. Although typically implemented as part of an | ||||
| MDA, this facility is strictly a Recipient user function. It | ||||
| resubmits the message, replacing the envelope address, on behalf of | ||||
| the mailbox address that was listed in the envelope. | ||||
| What is most distinctive about this forwarding mechanism is how | One function of an MDA is to determine the internal location of a | |||
| closely it compares to normal MTA store-and-forward Relaying. Its | mailbox in order to perform delivery. An Alias is a simple re- | |||
| only interesting difference is that it changes the RFC2821.RcptTo | addressing facility that provides one or more new Internet Mail | |||
| value. Having the change be this small makes it easy to view | addresses, rather than a single, internal one; the message continues | |||
| aliasing as a part of the lower-level mail relaying activity. | through the transfer service, for delivery to one or more alternate | |||
| However the small change has a large semantic impact: The designated | addresses. Although typically implemented as part of an MDA, this | |||
| recipient has chosen a new recipient. Hence that original recipient | facility is a Recipient function. It resubmits the message, although | |||
| SHOULD become responsible for any handling issues. This change would | all handling information except the envelope recipient | |||
| be reflected by replacing the message's RFC2821.MailFrom address to | (rfc2821.RcptTo) address is retained. In particular, the Return | |||
| be one within the scope of the ADMD doing the aliasing. | address (rfc2821.MailFrom) is unchanged. | |||
| An MDA that is re-posting a message to an alias typically changes | What is distinctive about this forwarding mechanism is how closely it | |||
| only envelope information: | resembles normal MTA store-and-forward relaying. Its only | |||
| significant difference is that it changes the RFC2821.RcptTo value. | ||||
| Because this change is so small, aliasing can be viewed as a part of | ||||
| the lower-level mail relaying activity. However, this small change | ||||
| has a large semantic impact: The designated recipient has chosen a | ||||
| new recipient. | ||||
| RFC2822.To/.CC/.BCC: Set by - Author | NOTE: When the replacement list includes more than one address, | |||
| the alias is increasingly likely to have delivery problems. | ||||
| Any problem reports go to the original Author, not the | ||||
| administrator of the alias entry. This makes it more difficult | ||||
| to resolve the problem, because the original Author has no | ||||
| knowledge of the Alias mechanism. | ||||
| These retain their original addresses. | Alias typically changes only envelope information: | |||
| RFC2821.RcptTo: Set by - Mediator Author | RFC2822.To/.CC/.BCC: Set by - Author | |||
| This field contains an alias address. | These fields retain their original addresses. | |||
| RFC2821.MailFrom: Set by - Author Source or Mediator Source | RFC2821.MailFrom: Set by - Author | |||
| The Actor responsible for submission to an alias address will | ||||
| often retain the original address to receive handling Returns. | ||||
| The benefit of retaining the original MailFrom value is to | The benefit of retaining the original MailFrom value is to | |||
| ensure that the origination-side Actor knows that there has | ensure that an actor related to the originating ADMD knows | |||
| been a delivery problem. On the other hand, the responsibility | there has been a delivery problem. On the other hand, the | |||
| for the problem usually lies with the Recipient, since the | responsibility for handling problems, when transiting from the | |||
| Alias mechanism is strictly under the Recipient's control. | original recipient mailbox to the alias mailbox usually lies | |||
| with that original Recipient, because the Alias mechanism is | ||||
| RFC2821.Received Set by - Mediator Dest | strictly under that Recipient's control. Retaining the | |||
| original MailFrom address prevents this. | ||||
| The Actor can record Received information, to indicate the | ||||
| delivery to the original address and submission to the alias | ||||
| address. The trace of Received header fields can therefore | ||||
| include everything from original posting through final delivery | ||||
| to a final delivery. | ||||
| 5.2. Re-Sending | 5.2. ReSender | |||
| Also called Re-Directing, Re-Sending differs from Forwarding by | Also called the ReDirector, the ReSender's actions differ from | |||
| virtue of having the Mediator "splice" a message's addressing | forwarding because the Mediator "splices" a message's addressing | |||
| information, to connect the Author of the original message and the | information to connect the Author of the original message with the | |||
| Recipient of the new message. This permits them to have direct | Recipient of the new message. This connection permits them to have | |||
| exchange, using their normal MUA Reply functions. Hence the new | direct exchange, using their normal MUA Reply functions, while also | |||
| Recipient sees the message as being From: the original Author, even | recording full reference information about the Recipient who served | |||
| if the Mediator adds commentary. | as a Mediator. Hence, the new Recipient sees the message as being | |||
| from the original Author, even if the Mediator adds commentary. | ||||
| Identities specified in a resent message include | These identities are relevant to a resent message: | |||
| RFC2822.From: Set by - original Author | RFC2822.From: Set by - original Author | |||
| Names and addresses for the original Author of the message | ||||
| Names and email addresses for the original author(s) of the | content are retained. The free-form (display-name) portion of | |||
| message content are retained. The free-form (display-name) | the address might be modified to provide informal reference to | |||
| portion of the address might be modified to provide informal | the ReSender. | |||
| reference to the Actor responsible for the redirection. | ||||
| RFC2822.Reply-To: Set by - original Author | RFC2822.Reply-To: Set by - original Author | |||
| If this field is present in the original message, it is | If this field is present in the original message, it is | |||
| retained in the Resent message. | retained in the resent message. | |||
| RFC2822.Sender: Set by - Author Source or Mediator Source. | RFC2822.Sender: Set by - Author's Originator or Mediator | |||
| Originator. | ||||
| RFC2822.To/.CC/.BCC: Set by - original Author | RFC2822.To/.CC/.BCC: Set by - original Author | |||
| These specify the original message Recipients. | These fields specify the original message Recipients. | |||
| RFC2822.Resent-From: Set by - Mediator Author | RFC2822.Resent-From: Set by - Mediator Author | |||
| The address of the original Recipient who is redirecting the | This address is of the original Recipient who is redirecting | |||
| message. Otherwise the same rules apply for the Resent-From: | the message. Otherwise, the same rules apply to the Resent- | |||
| field as for an original RFC2822.From field. | From: field as to an original RFC2822.From field. | |||
| RFC2822.Resent-Sender: Set by - Mediator Source | RFC2822.Resent-Sender: Set by - Mediator Originator | |||
| The address of the Actor responsible for re-submitting the | The address of the actor responsible for resubmitting the | |||
| message. As with RFC2822.Sender, this field is often omitted | message. As with RFC2822.Sender, this field can be omitted | |||
| when it would merely contain the same address as | when it contains the same address as RFC2822.Resent-From. | |||
| RFC2822.Resent-From. | ||||
| RFC2822.Resent-To/-CC/-BCC: Set by: Mediator Author | RFC2822.Resent-To/-CC/-BCC: Set by: Mediator Author | |||
| The addresses of the new Recipients who will now be able to | The addresses of the new Recipients who are now able to reply | |||
| reply to the original author. | to the original author. | |||
| RFC2821.MailFrom: Set by - Mediator Source | RFC2821.MailFrom: Set by - Mediator Originator | |||
| The Actor responsible for re-submission (RFC2822.Resent-Sender) | The actor responsible for resubmission (RFC2822.Resent-Sender) | |||
| is also responsible for specifying the new MailFrom address. | is also responsible for specifying the new MailFrom address. | |||
| RFC2821.RcptTo: Set by - Mediator Author | ||||
| This will contain the address of a new Recipient. | ||||
| RFC2822.Received: Set by - Mediator Dest | ||||
| When resending a message the submission agent can record a | ||||
| Received header field, to indicate the transition from original | ||||
| posting to resubmission. | ||||
| 5.3. Mailing Lists | 5.3. Mailing Lists | |||
| Mailing lists have explicit email addresses and they re-post messages | A Mailing List receives messages as an explicit addressee and then | |||
| to a list of subscribed members. The Mailing List Actor performs a | re-posts them to a list of subscribed members. The Mailing List | |||
| task that can be viewed as an elaboration of the Re-Director role. | performs a task that can be viewed as an elaboration of the ReSender. | |||
| In addition to sending the new message to a potentially large number | In addition to sending the new message to a potentially large number | |||
| of new Recipients, the Mediator can modify content, such as deleting | of new Recipients, the Mailing List can modify content, for example, | |||
| attachments, converting the format, and adding list-specific | by deleting attachments, converting the format, and adding list- | |||
| comments. In addition, archiving list messages is common. Still the | specific comments. Mailing Lists also archive messages posted by | |||
| message retains characteristics of being "from" the original Author. | Authors. Still the message retains characteristics of being from the | |||
| original Author. | ||||
| Identities relevant to a mailing list processor, when submitting a | These identities are relevant to a mailing list processor, when | |||
| message, include: | submitting a message: | |||
| RFC2919.List-Id: Set by - Mediator Author | RFC2919.List-Id: Set by - Mediator Author | |||
| RFC2369.List-*: Set by - Mediator Author | RFC2369.List-*: Set by - Mediator Author | |||
| RFC2822.From: Set by - original Author | RFC2822.From: Set by - original Author | |||
| Names and email addresses for the original author(s) of the | Names and email addresses for the original Author of the | |||
| message content are specified -- or, rather, retained. | message content are retained. | |||
| RFC2822.Reply-To: Set by - original Author or Mediator Author | ||||
| RFC2822.Sender: Set by - Author Source or Mediator Source | ||||
| This will usually specify the address of the Actor responsible | ||||
| for mailing list operations. However some mailing lists | ||||
| operate in a manner very similar to a simple MTA Relay, so that | ||||
| they preserve as much of the original handling information as | ||||
| possible, including the original RFC2822.Sender field. | ||||
| RFC2822.To/.CC Set by - original Author | RFC2822.Reply-To: Set by - Mediator or original Author | |||
| These usually contain the original list of Recipient addresses. | Although problematic, it is common for a Mailing List to assign | |||
| its own addresses to the Reply-To: header field of messages | ||||
| that it posts. This assignment is intended to ensure that | ||||
| replies go to all list members, rather than to only the | ||||
| original Author. As a User actor, a Mailing List is the Author | ||||
| of the new message and can legitimately set the Reply-To: | ||||
| value. As a Mediator attempting to represent the message on | ||||
| behalf of its original Author, creating or modifying a | ||||
| Reply-To: field can be viewed as violating that Author's | ||||
| intent. Modifying the field to include the list address can | ||||
| send to the entire list replies that are meant only for the | ||||
| original Author. When the Mailing List does not set the field, | ||||
| a reply meant for the entire list can instead go only to the | ||||
| original Author. At best, either choice is a matter of group | ||||
| culture for the particular list. | ||||
| RFC2821.MailFrom Set by - Author Source or Mediator Source | RFC2822.Sender: Set by - Author Originator or Mediator | |||
| Originator | ||||
| This can contain the original address to be notified of | This field usually specifies the address of the actor | |||
| transmission issues, or the mailing list Actor can set it to | responsible for Mailing List operations. Mailing Lists that | |||
| contain a new Notification address. Typically the value is set | operate in a manner similar to a simple MTA Relay preserve as | |||
| to a new address, so that mailing list members and posters are | much of the original handling information as possible, | |||
| not burdened with transmission-related Returns. | including the original RFC2822.Sender field. (Note that this | |||
| mode of operation causes the Mailing List to behave much like | ||||
| an Alias, with a possible difference in number of new | ||||
| addressees.) | ||||
| RFC2821.RcptTo Set by - Mediator Author | RFC2822.To/.CC: Set by - original Author | |||
| This contains the address of a mailing list member. | These fields usually contain the original list of Recipient | |||
| addresses. | ||||
| RFC2821.Received Set by - Mediator Dest | RFC2821.MailFrom: Set by - Mediator Originator | |||
| A Mailing List Actor can record a Received header field, to | Because a Mailing List can modify the content of a message in | |||
| indicate the transition from original posting to mailing list | any way, it is responsible for that content; that is, it is an | |||
| forwarding. The Actor can choose to have the message retain | Author. As such, the Return Address is specified by the | |||
| the original set of Received header fields or can choose to | Mailing List. Although it is plausible for the Mailing List to | |||
| remove them. In the latter case it can ensure that the | re-use the Return Address employed by the original Originator, | |||
| original Received header fields are otherwise available, to | notifications sent to that address after a message has been | |||
| ensure later accountability and diagnostic access to them. | processed by a Mailing List could be problematic. | |||
| 5.4. Gateways | 5.4. Gateways | |||
| A Gateway performs the basic routing and transfer work of message | A Gateway performs the basic routing and transfer work of message | |||
| relaying, but it also may make any content, structure, address, or | relaying, but it also is permitted to modify content, structure, | |||
| attribute modifications needed to send the message into a messaging | address, or attributes as needed to send the message into a messaging | |||
| environment that operates according to different standards or | environment that operates under different standards or potentially | |||
| potentially incompatible policies. When a Gateway connects two | incompatible policies. When a Gateway connects two differing | |||
| differing messaging services, its role is easy to identify and | messaging services, its role is easy to identify and understand. | |||
| understand. When it connects environments that have technical | When it connects environments that follow similar technical | |||
| similarity, but can have significant administrative differences, it | standards, but significantly different administrative policies, it is | |||
| is easy to think that a Gateway is merely an MTA. | easy to view a Gateway as merely an MTA. | |||
| The critical distinction between an MTA and a Gateway is that the | The critical distinction between an MTA and a Gateway is that a | |||
| latter can make substantive changes to a message, in order to map | Gateway can make substantive changes to a message to map between the | |||
| between the standards of two, different messaging services. In | standards. In virtually all cases, this mapping results in some | |||
| virtually all cases, this mapping process results in some degree of | degree of semantic loss. The challenge of Gateway design is to | |||
| semantic loss. The challenge of Gateway design is to minimize this | minimize this loss. Standardized gateways to Internet Mail are | |||
| loss. | facsimile [RFC4143], voicemail [RFC3801], and MMS [RFC4356] | |||
| A Gateway can set any identity field available to a regular MUA. | A Gateway can set any identity field available to an MUA. These | |||
| Identities typically relevant to Gateways include: | identities are typically relevant to Gateways: | |||
| RFC2822.From: Set by - original Author | RFC2822.From: Set by - original Author | |||
| Names and email addresses for the original author(s) of the | Names and addresses for the original Author of the message | |||
| message content are retained. As for all original addressing | content are retained. As for all original addressing | |||
| information in the message, the Gateway can translate addresses | information in the message, the Gateway can translate addresses | |||
| in whatever way will allow them continue to be useful in the | as required to continue to be useful in the target environment. | |||
| target environment. | ||||
| RFC2822.Reply-To: Set by - original Author | RFC2822.Reply-To: Set by - original Author | |||
| The Gateway SHOULD retain this information, if it is originally | The Gateway SHOULD retain this information, if it is present. | |||
| present. The ability to perform a successful reply by a | The ability to perform a successful reply by a Recipient is a | |||
| Gatewayed Recipient is a typical test of Gateway functionality. | typical test of Gateway functionality. | |||
| RFC2822.Sender: Set by - Author Source or Mediator Source | RFC2822.Sender: Set by - Author Originator or Mediator | |||
| Originator | ||||
| This can retain the original value or can be set to a new | This field can retain the original value or can be set to a new | |||
| address. | address. | |||
| RFC2822.To/.CC/.BCC Set by - original Recipient | RFC2822.To/.CC/.BCC: Set by - original Recipient | |||
| These usually retain their original addresses. | ||||
| RFC2821.MailFrom Set by - Author Source or Mediator Source | ||||
| The Actor responsible for gatewaying the message can choose to | These fields usually retain their original addresses. | |||
| specify a new address to receive handling notices. | ||||
| RFC2822.Received Set by - Mediator Dest | RFC2821.MailFrom: Set by - Author Originator or Mediator | |||
| Originator | ||||
| The Gateway can record a Received header field, to indicate the | The actor responsible for handling the message can specify a | |||
| transition from the original posting environment to the new | new address to receive handling notices. | |||
| messaging environment. | ||||
| 5.5. Boundary Filter | 5.5. Boundary Filter | |||
| Organizations often enforce security boundaries by subjecting | To enforce security boundaries, organizations can subject messages to | |||
| messages to analysis, for conformance with the organization's safety | analysis, for conformance with its safety policies. An example is | |||
| policies. An example is detection of content classed as spam or a | detection of content classed as spam or a virus. A filter might | |||
| virus. A Filter might alter the content, to render it safe, such as | alter the content, to render it safe, such as by removing content | |||
| by removing content deemed unacceptable. Typically these actions | deemed unacceptable. Typically, these actions add content to the | |||
| will result in the addition of content that records the actions. | message that records the actions. | |||
| 6. Considerations | 6. Considerations | |||
| 6.1. Security Considerations | 6.1. Security Considerations | |||
| This document does not specify any new Internet Mail functionality. | This document describes the existing Internet Mail architecture. It | |||
| Consequently it is not intended to introduce any security | introduces no new capabilities. The security considerations of this | |||
| considerations. | deployed architecture are documented extensively in the technical | |||
| specifications referenced by this document. These specifications | ||||
| cover classic security topics, such as authentication and privacy. | ||||
| For example, email transfer protocols can use standardized mechanisms | ||||
| for operation over authenticated and/or encrypted links, and message | ||||
| content has similar protection standards available. Examples of such | ||||
| mechanisms include SMTP-TLS [RFC3207], SMTP-Auth [RFC2554], OpenPGP | ||||
| [RFC4880], and S/MIME [RFC3851]. | ||||
| However its discussion of the roles and responsibilities for | The core of the Internet Mail architecture does not impose any | |||
| different mail service modules, and the information they create, | security requirements or functions on the end-to-end or hop-by-hop | |||
| highlights the considerable degree to which security issues are | components. For example, it does not require participant | |||
| present when implementing any component of the Internet Mail service. | authentication and does not attempt to prevent data disclosure. | |||
| In addition, email transfer protocols can operate over authenticated | ||||
| and/or encrypted links, and message content or authorship can be | Particular message attributes might expose specific security | |||
| authenticated or encrypted. | considerations. For example, the blind carbon copy feature of the | |||
| architecture invites disclosure concerns, as discussed in section 7.2 | ||||
| of [RFC2821] and section 5 of [RFC2822]. Transport of text or non- | ||||
| text content in this architecture has security considerations that | ||||
| are discussed in [RFC2822], [RFC2045], [RFC2046], and [RFC4288] as | ||||
| well as the security considerations present in the IANA media types | ||||
| registry for the respective types. | ||||
| Agents that automatically respond to email raise significant security | ||||
| considerations, as discussed in [RFC3834]. Gateway behaviors affect | ||||
| end-to-end security services, as discussed in [RFC2480]. Security | ||||
| considerations for boundary filters are discussed in [RFC5228]. | ||||
| See section 7.1 of [RFC2821] for a discussion of the topic of | ||||
| origination validation. As mentioned in Section 4.1.4, it is common | ||||
| practice for components of this architecture to use the | ||||
| [RFC0791].SourceAddr to make policy decisions [RFC2505], although the | ||||
| address can be "spoofed". It is possible to use it without | ||||
| authorization. SMTP and Submission authentication [RFC2554], | ||||
| [RFC4409] provide more secure alternatives. | ||||
| The discussion of trust boundaries, ADMDs, actors, roles, and | ||||
| responsibilities in this document highlights the relevance and | ||||
| potential complexity of security factors for operation of an Internet | ||||
| mail service. The core design of Internet Mail to encourage open and | ||||
| casual exchange of messages has met with scaling challenges, as the | ||||
| population of email participants has grown to include those with | ||||
| problematic practices. For example, spam, as defined in [RFC2505], | ||||
| is a by-product of this architecture. A number of standards track or | ||||
| BCP documents on the subject have been issued. [RFC2505], [RFC5068], | ||||
| [RFC3685] | ||||
| 6.2. IANA Considerations | 6.2. IANA Considerations | |||
| This document has no actions for IANA. | This document has no actions for IANA. | |||
| 6.3. Internationalization | ||||
| Because its origins date back to the use of ASCII, Internet Mail has | ||||
| had an ongoing challenge to support the wide range of necessary | ||||
| international data representations. For a discussion of this topic, | ||||
| see [MAIL-I18N]. | ||||
| 7. References | 7. References | |||
| 7.1. Normative | 7.1. Normative | |||
| [RFC0791] Postel, J., "Internet Protocol", 1981 September. | [RFC0791] Postel, J., "Internet Protocol", RFC 791, 1981 September. | |||
| [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. | |||
| [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", | [RFC1939] Myers, J. and M. Rose, "Post Office Protocol - Version 3", | |||
| STD 53, RFC 1939, May 1996. | STD 53, RFC 1939, May 1996. | |||
| skipping to change at page 43, line 32 ¶ | skipping to change at page 43, line 10 ¶ | |||
| [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, | [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, | |||
| April 2001. | April 2001. | |||
| [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, | [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, | |||
| April 2001. | April 2001. | |||
| [RFC2919] Chandhok, R. and G. Wenger, "List-Id: A Structured Field | [RFC2919] Chandhok, R. and G. Wenger, "List-Id: A Structured Field | |||
| and Namespace for the Identification of Mailing Lists", | and Namespace for the Identification of Mailing Lists", | |||
| RFC 2919, March 2001. | RFC 2919, March 2001. | |||
| [RFC3028] Showalter, T., "Sieve: A Mail Filtering Language", | ||||
| RFC 3028, January 2001. | ||||
| [RFC3192] Allocchio, C., "Minimal FAX address format in Internet | [RFC3192] Allocchio, C., "Minimal FAX address format in Internet | |||
| Mail", RFC 2304, October 2001. | Mail", RFC 2304, October 2001. | |||
| [RFC3297] Klyne, G., Iwazaki, R., and D. Crocker, "Content | [RFC3297] Klyne, G., Iwazaki, R., and D. Crocker, "Content | |||
| Negotiation for Messaging Services based on Email", | Negotiation for Messaging Services based on Email", | |||
| RFC 3297, July 2002. | RFC 3297, July 2002. | |||
| [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message | [RFC3458] Burger, E., Candell, E., Eliot, C., and G. Klyne, "Message | |||
| Context for Internet Mail", RFC 3458, January 2003. | Context for Internet Mail", RFC 3458, January 2003. | |||
| [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service | [RFC3461] Moore, K., "Simple Mail Transfer Protocol (SMTP) Service | |||
| Extension for Delivery Status Notifications (DSNs)", | Extension for Delivery Status Notifications (DSNs)", | |||
| RFC 3461, January 2003. | RFC 3461, January 2003. | |||
| [RFC3501] Crispin, M., "Internet Message Access Protocol - Version | [RFC3501] Crispin, M., "Internet Message Access Protocol - Version | |||
| 4rev1", RFC 3501, March 2003. | 4rev1", RFC 3501, March 2003. | |||
| [RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition | [RFC3798] Hansen, T. and G. Vaudreuil, "Message Disposition | |||
| Notification", RFC 3798, May 2004. | Notification", RFC 3798, May 2004. | |||
| [RFC3834] Moore, K., "Recommendations for Automatic Responses to | ||||
| Electronic Mail", RFC 3834, August 2004. | ||||
| [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration | [RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration | |||
| Procedures for Message Header Fields", RFC 3864, | Procedures for Message Header Fields", RFC 3864, | |||
| September 2004. | September 2004. | |||
| [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME | [RFC4021] Klyne, G. and J. Palme, "Registration of Mail and MIME | |||
| Header Fields", RFC 4021, March 2005. | Header Fields", RFC 4021, March 2005. | |||
| [RFC4288] Freed, N., Klensin, J., and J. Postel, "Media Type | [RFC4288] Freed, N., Klensin, J., and J. Postel, "Media Type | |||
| Specifications and Registration Procedures", BCP 13, | Specifications and Registration Procedures", BCP 13, | |||
| RFC 4288, December 2005. | RFC 4288, December 2005. | |||
| skipping to change at page 44, line 28 ¶ | skipping to change at page 44, line 7 ¶ | |||
| Internet Mail Extensions (MIME) Part Four: Registration | Internet Mail Extensions (MIME) Part Four: Registration | |||
| Procedures", BCP 13, RFC 4289, December 2005. | Procedures", BCP 13, RFC 4289, December 2005. | |||
| [RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail", | [RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail", | |||
| RFC 4409, April 2006. | RFC 4409, April 2006. | |||
| [RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support | [RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support | |||
| Diverse Service Environments (Lemonade) Profile", | Diverse Service Environments (Lemonade) Profile", | |||
| June 2006. | June 2006. | |||
| [RFC5228] Showalter, T., "Sieve: A Mail Filtering Language", | ||||
| RFC 5228. | ||||
| [RFC5248] Hansen, T. and J. Klensin, "A Registry for SMTP Enhanced | ||||
| Mail System Status Codes", RFC 5248, June 2008. | ||||
| 7.2. Informative | 7.2. Informative | |||
| [MAIL-I18N] | ||||
| Internet Mail Consortium, "Using International Characters | ||||
| in Internet Mail", IMC IMCR-010, August 1998. | ||||
| [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, | [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, | |||
| RFC 821, August 1982. | RFC 821, August 1982. | |||
| [RFC0822] Crocker, D., "Standard for the format of ARPA Internet | [RFC0822] Crocker, D., "Standard for the format of ARPA Internet | |||
| text messages", STD 11, RFC 822, August 1982. | text messages", STD 11, RFC 822, August 1982. | |||
| [RFC1733] Crispin, M., "Distributed Electronic Models in IMAP4", | [RFC1733] Crispin, M., "Distributed Electronic Models in IMAP4", | |||
| December 1994. | December 1994. | |||
| [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", | [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects", | |||
| RFC 1767, March 1995. | RFC 1767, March 1995. | |||
| [RFC1985] De Winter, J., "SMTP Service Extension for Remote | ||||
| Message Queue Starting", August 1996. | ||||
| [RFC2033] Myers, J., "Local Mail Transfer Protocol", RFC 2033, | [RFC2033] Myers, J., "Local Mail Transfer Protocol", RFC 2033, | |||
| October 1996. | October 1996. | |||
| [RFC2142] Crocker, D., "Mailbox Names for Common services, Roles and | ||||
| Functions", RFC 2142, May 1997. | ||||
| [RFC2442] "The Batch SMTP Media Type", RFC 2442, November 1998. | [RFC2442] "The Batch SMTP Media Type", RFC 2442, November 1998. | |||
| [RFC3801] Vaudreuil, G. and G. Parsons, "", RFC 3801, June 2004. | [RFC2480] Freed, N., "Gateways and MIME Security Multiparts", | |||
| RFC 2480, January 1999. | ||||
| [RFC2505] Lindberg, G., "Anti-Spam Recommendations for SMTP MTAs", | ||||
| RFC 2505, February 1999. | ||||
| [RFC2554] Myers, J., "SMTP Service Extension for Authentication", | ||||
| RFC 2554, March 1999. | ||||
| [RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over | ||||
| Transport Layer Security", RFC 3207, February 2002. | ||||
| [RFC3685] Daboo, C., "SIEVE Email Filtering: Spamtest and VirusTest | ||||
| Extensions", RFC 3685, February 2004. | ||||
| [RFC3801] Vaudreuil, G. and G. Parsons, "Voice Profile for Internet | ||||
| Mail - version 2 (VPIMv2)", RFC 3801, June 2004. | ||||
| [RFC3851] Ramsdell, B., Ed., "Secure/Multipurpose Internet Mail | ||||
| Extensions (S/MIME) Version 3.1 Message Specification", | ||||
| RFC 3851, July 2004. | ||||
| [RFC3885] Allman, E. and T. Hansen, "SMTP Service Extension for | [RFC3885] Allman, E. and T. Hansen, "SMTP Service Extension for | |||
| Message Tracking", RFC 3885, September 2004. | Message Tracking", RFC 3885, September 2004. | |||
| [RFC4142] Crocker, D. and G. Klyne, "Full-mode Fax Profile for | [RFC4142] Crocker, D. and G. Klyne, "Full-mode Fax Profile for | |||
| Internet Mail: FFPIM", December 2005. | Internet Mail: FFPIM", December 2005. | |||
| [RFC4143] Toyoda, K. and D. Crocker, "Facsimile Using Internet Mail | ||||
| (IFAX) Service of ENUM", RFC 4143, November 2005. | ||||
| [RFC4356] Gellens, R., "Mapping Between the Multimedia Messaging | ||||
| Service (MMS) and Internet Mail", RFC 4356, January 2006. | ||||
| [RFC4880] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R. | ||||
| Thayer, "OpenPGP Message Format", RFC 4880, November 2007. | ||||
| [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and | [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and | |||
| E. Allman, "Email Submission Operations: Access and | E. Allman, "Email Submission Operations: Access and | |||
| Accountability Requirements", RFC 5068, BCP 134, Nov 2007. | Accountability Requirements", RFC 5068, BCP 134, Nov 2007. | |||
| [Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden, | [Tussle] Clark, D., Wroclawski, J., Sollins, K., and R. Braden, | |||
| "Tussle in Cyberspace: Defining Tomorrow's Internet", | "Tussle in Cyberspace: Defining Tomorrow's Internet", | |||
| ACM SIGCOMM, 2002. | ACM SIGCOMM, 2002. | |||
| Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
| This work derives from a section in draft-hutzler-spamops [RFC5068]. | This work derives from a section in an early version of [RFC5068]. | |||
| Discussion of the Source actor role was greatly clarified during | Discussion of the Originator actor role was greatly clarified during | |||
| discussions in the IETF's Marid working group. | discussions in the IETF's Marid working group. | |||
| Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful | Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful | |||
| insight on the framework and details of the original drafts. | insight on the framework and details of the original drafts, as did | |||
| Chris Newman for the final versions, while also serving as cognizant | ||||
| Area Director for the document. Tony Hansen served as document | ||||
| shepherd, through the IETF process. | ||||
| Later reviews and suggestions were provided by Eric Allman, Nathaniel | Later reviews and suggestions were provided by Eric Allman, Nathaniel | |||
| Borenstein, Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, | Borenstein, Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, | |||
| Ned Freed, Eric Hall, Tony Hansen, Willemien Hoogendoorn, Brad | Ned Freed, Eric Hall, Willemien Hoogendoorn, Brad Knowles, John | |||
| Knowles, John Leslie, Bruce Valdis Kletnieks, Mark E. Mallett, David | Leslie, Bruce Valdis Kletnieks, Mark E. Mallett, David MacQuigg, | |||
| MacQuigg, Alexey Melnikov, der Mouse, S. Moonesamy, Chris Newman, | Alexey Melnikov, der Mouse, S. Moonesamy, Daryl Odnert, Rahmat M. | |||
| Daryl Odnert, Rahmat M. Samik-Ibrahim, Marshall Rose, Hector Santos, | Samik-Ibrahim, Marshall Rose, Hector Santos, Jochen Topf, Greg | |||
| Jochen Topf, Greg Vaudreuil. | Vaudreuil. | |||
| Diligent proof-reading was performed by Bruce Lilly. | Diligent early proof-reading was performed by Bruce Lilly. Diligent | |||
| technical editing was provided by Susan Hunziker | ||||
| Index | Index | |||
| 10 | ||||
| A | A | |||
| accountability 11 | ||||
| accountable 12-13 | ||||
| Actor | Actor | |||
| Administrative 15 | Administrative 13 | |||
| Author 10 | Author 8 | |||
| Edge 16 | Consumer 14 | |||
| Gateway 14 | Edge 14 | |||
| Mediator 11 | Gateway 12 | |||
| Originator 13 | Originator 11 | |||
| Recipient 10 | Recipient 9 | |||
| Relay 14 | Return Handler 9 | |||
| Return Handler 11 | Transit 14 | |||
| Transit 16 | ||||
| User 16 | ||||
| Actors | Actors | |||
| MHS 12 | MHS 10 | |||
| Administrative Actors 15 | ADMD 11, 13-14, 18, 23, 29, 36 | |||
| Author 10 | Administrative Actors 13 | |||
| Administrative Management Domain 11 | ||||
| aMSA 29 | ||||
| Author 8, 10 | ||||
| author 33 | ||||
| B | ||||
| body-parts 22 | ||||
| bounce handler 9 | ||||
| boundary 14 | ||||
| C | ||||
| Consumer Actor 14 | ||||
| content 10, 12-13, 18, 22, 30 | ||||
| D | D | |||
| Discussion of document 6 | delivery 4, 9-10, 12-13, 17, 22-23, 33, 35-36 | |||
| Discussion of document 7 | ||||
| E | E | |||
| Edge Actor 16 | Edge Actor 14 | |||
| end-to-end 4 | end-to-end 4 | |||
| envelope 9, 12, 19, 22-23, 30, 35-36 | ||||
| ETRN 33 | ||||
| G | G | |||
| Gateway 12, 14 | Gateway 10, 12 | |||
| H | ||||
| header 22 | ||||
| hMSA 29 | ||||
| I | I | |||
| Internet Mail 4 | Internet Mail 4 | |||
| L | ||||
| LMTP 33 | ||||
| local-part 16 | ||||
| M | M | |||
| Mail 4 | Mail 4 | |||
| Mail exchange 5 | Mail User Agent 4 | |||
| Mail Handling Service 3 | Mail From 35 | |||
| Mail Handling System 12 | Mail Handling Service 4, 10 | |||
| Mail Transfer Agent 3 | Mail Submission Agent 11 | |||
| Mail User Agent 3 | Mail Transfer Agent 4 | |||
| MDN 10 | mailbox 35 | |||
| Mediator 11 | MDA 35 | |||
| Message Disposition Notification 10 | MDN 9 | |||
| MHS 3, 12 | message 6, 22 | |||
| Actors 12 | Message Disposition Notification 9 | |||
| MTA 3 | MHS 4, 9-12, 19-20, 22-23 | |||
| MUA 3 | Actors 10 | |||
| MSA 11, 29 | ||||
| MTA 4, 14 | ||||
| boundary 14 | ||||
| MUA 4, 13, 28-29 | ||||
| O | O | |||
| Originator 13 | ODMR 33 | |||
| Originator 10-11 | ||||
| P | ||||
| posting 4, 9, 11, 19, 28-29, 33, 36 | ||||
| pull 33 | ||||
| push 33 | ||||
| R | R | |||
| Recipient 10 | RcptTo 10 | |||
| Relay 14 | Receiver 10 | |||
| Return Handler 11 | Recipient 9-10, 35 | |||
| recipient 33 | ||||
| relay 10 | ||||
| responsibility 29 | ||||
| responsible 12-13 | ||||
| Return address 35 | ||||
| Return Handler 9 | ||||
| role 9, 17 | ||||
| Author 8 | ||||
| Originator 11 | ||||
| Recipient 9 | ||||
| S | ||||
| SIEVE 22 | ||||
| SMTP 33 | ||||
| T | T | |||
| Transit Actor 16 | transfer 10, 12-13 | |||
| Transit Actor 14 | ||||
| transition 29 | ||||
| U | U | |||
| UA 3 | UA 4 | |||
| User Actor 16 | User Agent 4 | |||
| User Agent 3 | ||||
| Author's Address | Author's Address | |||
| Dave Crocker | Dave Crocker | |||
| Brandenburg InternetWorking | Brandenburg InternetWorking | |||
| 675 Spruce Drive | 675 Spruce Drive | |||
| Sunnyvale, CA 94086 | Sunnyvale, CA 94086 | |||
| USA | USA | |||
| Phone: +1.408.246.8253 | Phone: +1.408.246.8253 | |||
| End of changes. 325 change blocks. | ||||
| 1283 lines changed or deleted | 1420 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/ | ||||