| < draft-crocker-email-arch-09.txt | draft-crocker-email-arch-10.txt > | |||
|---|---|---|---|---|
| SMTP D. Crocker | SMTP D. Crocker | |||
| Internet-Draft Brandenburg InternetWorking | Internet-Draft Brandenburg InternetWorking | |||
| Intended status: Standards Track May 26, 2007 | Intended status: Standards Track February 24, 2008 | |||
| Expires: November 27, 2007 | Expires: August 27, 2008 | |||
| Internet Mail Architecture | Internet Mail Architecture | |||
| draft-crocker-email-arch-09 | draft-crocker-email-arch-10 | |||
| 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 November 27, 2007. | This Internet-Draft will expire on August 27, 2008. | |||
| Copyright Notice | ||||
| Copyright (C) The IETF Trust (2007). | ||||
| Abstract | Abstract | |||
| Over its thirty-five year history Internet Mail has undergone | Over its thirty-five year history Internet Mail has undergone | |||
| significant changes in scale and complexity, as it has become a | significant changes in scale and complexity, as it has become a | |||
| global infrastructure service. The first standardized architecture | global infrastructure service. The first standardized architecture | |||
| for networked email specified little more than a simple split between | for networked email specified little more than a simple split between | |||
| the user world and the transmission world. Core aspects of the | the user world and the transmission world. Core aspects of the | |||
| service, such as the styles of mailbox address and basic message | service, such as the styles of mailbox address and basic message | |||
| format, have remained remarkably constant. However today's Internet | format, have remained remarkably constant. However today's Internet | |||
| Mail is marked by many independent operators, many different | Mail is distinguished by many independent operators, many different | |||
| components for providing service to users and many others for | components for providing service to users and many others for | |||
| performing message transfer. Public discussion of the service often | performing message transfer. Public discussion of the service often | |||
| lacks common terminology and a common frame of reference for these | lacks common terminology and a common frame of reference for these | |||
| components and their activities. Having a common reference model and | components and their activities. Having a common reference model and | |||
| terminology makes a basic difference when talking about problems with | terminology facilitates discussion about problems with the service, | |||
| the service, changes in policy, or enhancement to the service's | changes in policy, or enhancement to the service's functionality. | |||
| functionality. This document offers an enhanced Internet Mail | This document offers an enhanced Internet Mail architecture that | |||
| architecture that targets description of the existing service, in | targets description of the existing service, in order to facilitate | |||
| order to facilitate clearer and more efficient technical, operations | clearer and more efficient technical, operations and policy | |||
| and policy discussions about email. | discussions about email. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Service Overview . . . . . . . . . . . . . . . . . . . . . 5 | 1.2. Service Overview . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1.3. 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. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 17 | 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 17 | 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 19 | 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 19 | |||
| 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 23 | 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 21 | |||
| 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 28 | 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 30 | 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 30 | |||
| 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 32 | |||
| 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 34 | 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 35 | 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 37 | 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 39 | 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 6. Considerations . . . . . . . . . . . . . . . . . . . . . . . . 40 | 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 6.1. Security Considerations . . . . . . . . . . . . . . . . . 40 | 6. Considerations . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 6.2. IANA Considerations . . . . . . . . . . . . . . . . . . . 40 | 6.1. Security Considerations . . . . . . . . . . . . . . . . . 42 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 40 | 6.2. IANA Considerations . . . . . . . . . . . . . . . . . . . 42 | |||
| 7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 40 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 7.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 42 | 7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 43 | 7.2. Informative . . . . . . . . . . . . . . . . . . . . . . . 44 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 43 | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 45 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 44 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 47 | ||||
| Intellectual Property and Copyright Statements . . . . . . . . . . 48 | ||||
| 1. Introduction | 1. Introduction | |||
| Over its thirty-five year history Internet Mail has undergone | Over its thirty-five year history Internet Mail has undergone | |||
| significant changes in scale and complexity, as it has become a | significant changes in scale and complexity, as it has become a | |||
| global infrastructure service. The changes have been evolutionary, | global infrastructure service. The changes have been evolutionary, | |||
| rather than revolutionary, reflecting a strong desire to preserve its | rather than revolutionary, reflecting a strong desire to preserve its | |||
| installed base of users and utility. Today, Internet Mail is marked | installed base of users and utility. Today, Internet Mail is | |||
| by many independent operators, many different components for | distinguished by many independent operators, many different | |||
| providing service to users and many other components for performing | components for providing service to users and many other components | |||
| message transfer. | for performing message transfer. | |||
| Public collaboration on email technical, operations and policy | Public collaboration on email technical, operations and policy | |||
| activities, including those responding to the challenges of email | activities, including those responding to the challenges of email | |||
| abuse, has brought in a much wider range of participants than email's | abuse, has brought in a much wider range of participants than email's | |||
| technical community originally had. In order to do work on a large, | technical community originally had. In order to do work on a large, | |||
| complex system, they need to share the same view of how it is put | complex system, they need to share the same view of how it is put | |||
| together, as well as what terms to use to refer to the pieces and | together, as well as what terms to use to refer to the pieces and | |||
| their activities. Otherwise, it is difficult to know exactly what | their activities. Otherwise, it is difficult to know exactly what | |||
| another participant means. It is these differences in each person's | another participant means. It is these differences in each person's | |||
| perspective that motivates this document, to describe the realities | perspective that motivates this document, to describe the realities | |||
| skipping to change at page 4, line 14 ¶ | skipping to change at page 4, line 14 ¶ | |||
| to one or more others, creating a virtual MUA-to-MUA exchange | to one or more others, creating a virtual MUA-to-MUA exchange | |||
| environment. | environment. | |||
| As shown in Figure 1 this defines two logical "layers" of | As shown in Figure 1 this defines two logical "layers" of | |||
| interoperability. One is directly between Users. The other is | interoperability. One is directly between Users. The other is | |||
| between the neighboring components, along the transfer path. In | between the neighboring components, along the transfer path. In | |||
| addition, there is interoperability between the layers, first when a | addition, there is interoperability between the layers, first when a | |||
| message is posted from the User to the MHS and later when it is | message is posted from the User to the MHS and later when it is | |||
| delivered from the MHS to the User. | delivered from the MHS to the User. | |||
| As it has evolved, the operational service has sub-divided each of | The operational service has evolved sub-divisions for each of these | |||
| these layers into more specialized modules. Core aspects of the | layers into more specialized modules. Core aspects of the service, | |||
| service, such as mailbox addressing and message format style, have | such as mailbox addressing and message format style, have remained | |||
| remained remarkably constant. So the original distinction between | remarkably constant. So the original distinction between user-level | |||
| user-level concerns and transfer-level concerns is retained, but with | concerns and transfer-level concerns is retained, but with an | |||
| an elaboration to each level of the architecture. The term "Internet | elaboration to each level of the architecture. The term "Internet | |||
| Mail" is used to refer to the entire collection of user and transfer | Mail" is used to refer to the entire collection of user and transfer | |||
| components and services. | components and services. | |||
| For Internet Mail the term "end-to-end" usually refers to a single | For Internet Mail the term "end-to-end" usually refers to a single | |||
| posting and the set of deliveries directly resulting from its single | posting and the set of deliveries directly resulting from its single | |||
| transiting of the MHS. A common exception is with group dialogue | transiting of the MHS. A common exception is with group dialogue | |||
| that is mediated via a mailing list, so that two postings occur | that is mediated via a mailing list, so that two postings occur | |||
| before intended recipients receive an originator's message, as | before intended recipients receive an Author's message, as discussed | |||
| discussed in Section 2.1.4. In fact some uses of email consider the | in Section 2.1.4. In fact some uses of email consider the entire | |||
| entire email service -- including Originator and Recipient -- as a | email service -- including Author and Recipient -- as a subordinate | |||
| subordinate component. For these services "end-to-end" refers to | component. For these services "end-to-end" refers to points outside | |||
| points outside of the email service. Examples are voicemail over | of the email service. Examples are voicemail over email [RFC3801], | |||
| email [RFC3801], EDI over email [RFC1767] and facsimile over email | EDI over email [RFC1767] and facsimile over email [RFC4142]. | |||
| [RFC4142]. | ||||
| +--------+ | +--------+ | |||
| +---------------->| User | | +---------------->| User | | |||
| | +--------+ | | +--------+ | |||
| | ^ | | ^ | |||
| +--------+ | +--------+ . | +--------+ | +--------+ . | |||
| | User +--+--------->| User | . | | User +--+--------->| User | . | |||
| +--------+ | +--------+ . | +--------+ | +--------+ . | |||
| . | ^ . | . | ^ . | |||
| . | +--------+ . . | . | +--------+ . . | |||
| skipping to change at page 5, line 43 ¶ | skipping to change at page 5, line 43 ¶ | |||
| End-to-end Internet Mail exchange is accomplished by using a | End-to-end Internet Mail exchange is accomplished by using a | |||
| standardized infrastructure comprising: | standardized infrastructure comprising: | |||
| * 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 Originator and Recipient | * No prior arrangement between Author and Recipient | |||
| * 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 Originator and Recipient to be online at the | * No requirement for Author and Recipient to be online at the | |||
| same time. | same time. | |||
| The end-to-end portion of the service is the email object, called a | The end-to-end portion of the service is the email object, called a | |||
| message. Broadly the message, itself, distinguishes between control | message. Broadly the message, itself, distinguishes between control | |||
| information for handling, versus the author's message content. | information for handling, versus the author's message content. | |||
| A precept to the design of mail over the open Internet is permitting | A precept to the design of mail over the open Internet is permitting | |||
| user-to-user and MTA-to-MTA interoperability to take place with no | user-to-user and MTA-to-MTA interoperability to take place with no | |||
| prior, direct arrangement between the independent administrative | prior, direct arrangement between the independent administrative | |||
| authorities that are responsible for handling a message. That is, | authorities responsible for handling a message. That is, all | |||
| all participants rely on the core services being universally | participants rely on the core services being universally supported | |||
| supported and accessible, either directly or through gateways that | and accessible, either directly or through gateways that translate | |||
| translate between Internet Mail standards and other email | between Internet Mail and email environments that conform to other | |||
| environments. Given the importance of spontaneity and serendipity in | standards. Given the importance of spontaneity and serendipity in | |||
| the world of human communications, this lack of prearrangement | the world of human communications, this lack of prearrangement | |||
| between participants is a core benefit of Internet Mail and remains a | between participants is a core benefit of Internet Mail and remains a | |||
| core requirement for it. | core 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 lookup service configuration. In | control, routing constraints and information query service | |||
| recent years one change to local environments is an increased | configuration. In recent years one change to local environments is | |||
| requirement for authentication or, at least, accountability. In | an increased requirement for authentication or, at least, | |||
| these cases a server performs explicit validation of the client's | accountability. In these cases a server performs explicit validation | |||
| identity. | of the client's identity. | |||
| 1.3. Document Conventions | 1.3. Document Conventions | |||
| In this document, references to structured fields of a message use a | In this document, references to structured fields of a message use a | |||
| two-part dotted notation. The first part cites the document that | two-part dotted notation. The first part cites the document that | |||
| contains the specification for the field and the second is the name | contains the specification for the field and the second is the name | |||
| of the field. Hence <RFC2822.From> is the From field in an email | of the field. Hence <RFC2822.From> is the From: field in an email | |||
| content header and <RFC2821.MailFrom> is the address in the SMTP | content header and <RFC2821.MailFrom> is the address in the SMTP | |||
| "Mail From" command. | "Mail From" command. | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| Discussion venue: Please direct discussion about this document | Discussion venue: Please direct discussion about this document | |||
| to the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>. | to the IETF-SMTP mailing list <http://www.imc.org/ietf-smtp>. | |||
| Changes: Added definition of acronyms to beginning of Services | 1.4. Changes to Previous Version | |||
| and standards. | INSTRUCTIONS TO THE RFC EDITOR: Remove this sub-section prior to | |||
| publication. | ||||
| Restricted 'envelope' to transport level and added 'trace' for | Many small editing changes, for wordsmithing improvements to make | |||
| other handling information, and added 'handling' to cover both. | details more consistent. This section documents the nature and basis | |||
| for changes with significant impact. | ||||
| Removed construct of "associated with" to now use only "set | Originator->Author: The term "Originator" is used by RFC 2822 more | |||
| by". | 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. | ||||
| Cleanup to pass the 'nits' tool check. | 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 | ||||
| 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 | ||||
| resolved this. For a variety of reasons, I believe the message | ||||
| includes its envelope, and am encouraged to find RFC2822upd says: | ||||
| In the context of electronic mail, messages are viewed as | ||||
| having an envelope and contents. The envelope contains | ||||
| 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: | ||||
| SMTP transports a mail object. A mail object contains an | ||||
| envelope and content. | ||||
| I think these justify having the term 'message' as including the | ||||
| object. | ||||
| Examples of 'new' messages: Section Section 3.3.1contains a list of | ||||
| examples, discussing scenarios that might or might not be viewed | ||||
| 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 serving different roles. These divide into 3 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 on functionality | |||
| of modules. Hence the labels used are different than for classic | of modules. Hence the labels used are different than for classic | |||
| email architecture diagrams. | email architecture diagrams. | |||
| 2.1. User Actors | 2.1. User Actors | |||
| Users are the sources and sinks of messages. They can be humans or | Users are the sources and sinks of messages. They can be humans, | |||
| processes. They can have an exchange that iterates and they can | organizations or processes. They can have an exchange that iterates | |||
| expand or contract the set of users participating in a set of | and they can expand or contract the set of users participating in a | |||
| exchanges. In Internet Mail there are three types of user-level | set of exchanges. In Internet Mail there are three types of user- | |||
| Actors: | level Actors: | |||
| * Originators | * Authors | |||
| * Recipients | * Recipients | |||
| * Mediators | * Mediators | |||
| From the User-level perspective all mail transfer activities are | From the User-level perspective all mail transfer activities are | |||
| performed by a monolithic Mail Handling Service (MHS), even though | performed by a monolithic Mail Handling Service (MHS), even though | |||
| the actual service can be provided by many independent organizations. | the actual service can be provided by many independent organizations. | |||
| Users are customers of this unified service. | Users are customers of this unified service. | |||
| skipping to change at page 8, line 6 ¶ | skipping to change at page 10, line 6 ¶ | |||
| * Recipients | * Recipients | |||
| * Mediators | * Mediators | |||
| From the User-level perspective all mail transfer activities are | From the User-level perspective all mail transfer activities are | |||
| performed by a monolithic Mail Handling Service (MHS), even though | performed by a monolithic Mail Handling Service (MHS), even though | |||
| the actual service can be provided by many independent organizations. | the actual service can be provided by many independent organizations. | |||
| Users are customers of this unified service. | Users are customers of this unified service. | |||
| The following figure depicts the flow of messages among Actors: | The following figure depicts the flow of messages among Actors: | |||
| +------------+ | +------------+ | |||
| | |<---------------------------+ | | |<---------------------------+ | |||
| | Originator |<----------------+ | | | Author |<----------------+ | | |||
| | |<----+ | | | | |<----+ | | | |||
| +-+---+----+-+ | | | | +-+---+----+-+ | | | | |||
| | | | | | | | | | | | | | | |||
| | | V | | | | | | V | | | | |||
| | | +---------+-+ | | | | | +---------+-+ | | | |||
| | | | Recipient | | | | | | | Recipient | | | | |||
| | | +-----------+ | | | | | +-----------+ | | | |||
| | | | | | | | | | | |||
| | | +--------+ | | | | | +--------+ | | | |||
| | | | | | | | | | | | | | | |||
| skipping to change at page 8, line 34 ¶ | skipping to change at page 10, line 35 ¶ | |||
| | +-----------------------------+ | | | +-----------------------------+ | | |||
| | | +----------+ | | | | | +----------+ | | | |||
| | | | | | | | | | | | | | | |||
| V V V | | | | V V V | | | | |||
| +-----------+ +-----------+ +---+-+-+---+ | +-----------+ +-----------+ +---+-+-+---+ | |||
| | Mediator +--->| Mediator +--->| Recipient | | | Mediator +--->| Mediator +--->| Recipient | | |||
| +-----------+ +-----------+ +-----------+ | +-----------+ +-----------+ +-----------+ | |||
| Figure 2: Relationships Among User Actors | Figure 2: Relationships Among User Actors | |||
| 2.1.1. Originator | 2.1.1. Author | |||
| Also called "Author", this is the user-level participant responsible | This is the user-level participant responsible for creating the | |||
| for creating original content and requesting its transmission. The | message, its contents and its list of recipient addresses. The MHS | |||
| MHS operates to send and deliver mail among Originators and | operates to send and deliver mail among Authors and Recipients. As | |||
| Recipients. As described below, the MHS has a "Source" role that | described below, the MHS has a "Source" role that correlates with the | |||
| correlates with the user-level Author role. | user-level Author role. | |||
| 2.1.2. Recipient | 2.1.2. Recipient | |||
| The Recipient is a consumer of delivered content. As described | The Recipient is a consumer of delivered message content. As | |||
| below, the MHS has a "Dest[ination]" role that correlates with the | described below, the MHS has a "Dest[ination]" role that correlates | |||
| user-level Recipient role. | with the user-level Recipient role. | |||
| A Recipient can close the user-level communication loop by creating | A Recipient can close the user-level communication loop by creating | |||
| and submitting a new message that replies to an Originator. An | and submitting a new message that replies to an Author. An example | |||
| example of an automated form of reply is the Message Disposition | of an automated form of reply is the Message Disposition Notification | |||
| Notification, which informs the Originator about the Recipient's | (MDN), which informs the Author about the Recipient's handling of the | |||
| handling of the message. (See Section 4.1.) | message. (See Section 4.1.) | |||
| 2.1.3. Bounce Handler | ||||
| The Bounce Handler receives and services notifications that are | 2.1.3. Return Handler | |||
| 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 Source. This Bounce | ||||
| handling address (also known as a Return address) might have no | ||||
| visible characteristics in common with the address of the Originator | ||||
| or Source. | ||||
| NOTE: The choice of the label "Bounce" is unfortunate, due to | The Return Handler -- also called "Bounce Handler" -- receives and | |||
| its negative implication and narrow focus. However it is the | services notifications generated by the MHS, as a result of efforts | |||
| most popular term for the address. | to transfer or deliver the message. Notices can be about failures or | |||
| completions and are sent to an address that is specified by the | ||||
| Source. This Return handling address (also known as a Return | ||||
| address) might have no visible characteristics in common with the | ||||
| address of the Author or Source. | ||||
| 2.1.4. Mediator | 2.1.4. Mediator | |||
| A Mediator receives, aggregates, reformulates and redistributes | A Mediator receives, aggregates, reformulates and redistributes | |||
| messages as part of a potentially-protracted, higher-level exchange | messages as part of a potentially-protracted, higher-level exchange | |||
| among Users. Example Mediators include group dialogue, such as | among Users. It is easy to confuse this user-level activity with the | |||
| collaboration via mailing lists, and organizational message flow, as | underlying MHS transfer exchanges. However they serve very different | |||
| occurs with a purchase approval process. Note that it is easy to | purposes and operate in very different ways. Mediators are | |||
| confuse this user-level activity with the underlying MHS transfer | considered extensively in Section 5. | |||
| exchanges. However they serve very different purposes and operate in | ||||
| very different ways. Mediators are considered extensively in | ||||
| Section 5. | ||||
| When mail is delivered to a receiving mediator specified in the | When mail is delivered to a receiving 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. That is, the MHS only sees posting and delivery | |||
| sources and sinks and does not see (later) re-posting as a | sources and sinks and does not see (later) re-posting as a | |||
| continuation of a process. Hence when submitting messages, the | continuation of a process. Hence when submitting messages, the | |||
| Mediator is an Originator. | Mediator is an Author. | |||
| The distinctive aspects of a Mediator are, therefore, above the MHS. | The distinctive aspects of a Mediator are, therefore, above the MHS. | |||
| A Mediator preserves the Originator information of the message it | A Mediator preserves the Author information of the message it | |||
| reformulates, but may make meaningful changes to the content. Hence | reformulates, but may make meaningful changes to the content. Hence | |||
| the MHS sees a new message, but Users receive a message that is | the MHS sees a new message, but Users receive a message that is | |||
| interpreted as primarily being from -- or, at least, initiated by -- | interpreted as primarily being from -- or, at least, initiated by -- | |||
| the author of the original message. The role of a Mediator permits | the author of the original message. The role of a Mediator permits | |||
| distinct, active creativity, rather than being limited to the more | distinct, active creativity, rather than being limited to the more | |||
| constrained job of merely connecting together other participants. | constrained job of merely connecting together other participants. | |||
| Hence it is really the Mediator that is responsible for the new | Hence it is really the Mediator that is responsible for the new | |||
| message. | message. | |||
| A Mediator's task can be complex and contingent, such as modifying | A Mediator's task can be complex and contingent, such as 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 popular example of this role is a group | |||
| mailing list. A sequence of Mediators may even perform a series of | mailing list. A sequence of Mediators may even perform a series of | |||
| formal steps, such as reviewing, modifying and approving a purchase | formal steps, such as reviewing, modifying and approving a purchase | |||
| request. | request. | |||
| Because a Mediator originates messages, it can also receive replies. | Because a Mediator originates messages, it can also receive replies. | |||
| So a Mediator really is a full-fledged User. | So a Mediator really is a full-fledged User. | |||
| Gateway: A Gateway is a particularly interesting form of | Gateway: A Gateway is a particularly interesting form of Mediator. | |||
| Mediator. It is a hybrid of User and Relay that interconnects | It is a hybrid of User and Relay that interconnects heterogeneous | |||
| heterogeneous mail services. Its goal is to emulate a Relay, | mail services. Its goal is to emulate a Relay, and a detailed | |||
| and a detailed discussion is in Section 2.2.3. | discussion is in 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) has the task of performing a single, | |||
| end-to-end transfer on behalf of the Originator and reaching the | end-to-end transfer on behalf of the Author and reaching the | |||
| Recipient address(es) specified in the original RFC2821.RcptTo | Recipient address(es) specified in the original RFC2821.RcptTo | |||
| commands. Mediated or protracted, iterative exchanges, such as those | commands. Mediated or protracted, iterative exchanges, such as those | |||
| used for collaboration over time, are part of the User-level service, | used for collaboration over time, are part of the User-level service, | |||
| and are not part of this transfer-level Handling Service. | and are not part of this transfer-level Handling Service. | |||
| The following figure depicts the relationships among transfer | The following figure depicts the relationships among transfer | |||
| participants in Internet Mail. It shows the Source as distinct from | participants in Internet Mail. It shows the Source as distinct from | |||
| the Originator, and Dest[ination] as distinct from Recipient, | the Author, and Dest[ination] as distinct from Recipient, although it | |||
| although it is common for each pair to be the same actor. Transfers | is common for each pair to be the same actor. Transfers typically | |||
| typically entail one or more Relays. However direct delivery from | entail one or more Relays. However direct delivery from the Source | |||
| the Source to Destination is possible. For intra-organization mail | to Destination is possible. For intra-organization mail services, it | |||
| services, it is common to have only one Relay. | is common to have only one Relay. | |||
| +------------+ +-----------+ | +------------+ +-----------+ | |||
| | Originator | +--------+ | Recipient | | | Author | +--------+ | Recipient | | |||
| +-----+------+ ..>| Bounce | +-----------+ | +-----+------+ +....>| Return | +-----------+ | |||
| | . +--------+ ^ | | . +--------+ ^ | |||
| | . ^ | | | . ^ | | |||
| /+=================================================+\ | //===================================================\\ | |||
| || | . | Mail Handling | || | || | . | Mail Handling | || | |||
| || | . | Service (MHS) | || | || | . | Service (MHS) | || | |||
| V . | | | V . | | | |||
| +---------+ . | +----+----+ | +---------+ . ^ +----+---+ | |||
| | | . | | | | | | . | | | | |||
| | Source +.... +-<-------------+ Dest | | | Origin +....+ +-<------------+ Dest | | |||
| | | | | | | | | | | | | |||
| +----+----+ ^ +---------+ | +----+----+ | +--------+ | |||
| | | ^ | | | ^ | |||
| | +-------------+-----------------+ | | | +-------------->-+-<-------------+ | | |||
| V | | | | | V | | | | | |||
| +-------+-+ +-+-------+ +-+--+----+ | +-------+-+ +----+----+ +-+---+---+ | |||
| | Relay +-->...-->| Relay +------>| Relay | | | Relay +-->...-->| Relay +------->| Relay | | |||
| +---------+ +----+----+ +---------+ | +---------+ +----+----+ +---------+ | |||
| | | | | |||
| V | V | |||
| +---------+ | +---------+ | |||
| | Gateway +-->... | | Gateway +-->... | |||
| +---------+ | +---------+ | |||
| Figure 3: Relationships Among MHS Actors | Figure 3: Relationships Among MHS Actors | |||
| 2.2.1. Source | 2.2.1. Originator | |||
| The Source role is responsible for ensuring that a message is valid | The Originator role is responsible for ensuring that a message is | |||
| for posting and then submitting it to a Relay. Validity includes | valid for posting and then submitting it to a Relay. Validity | |||
| conformance with Internet Mail standards, as well as with local | includes conformance with Internet Mail standards, as well as with | |||
| operational policies. The Source can simply review the message for | local operational policies. The Originator can simply review the | |||
| conformance and reject it if there are errors, or it can create some | message for conformance and reject it if there are errors, or it can | |||
| or all of the necessary information. | create some or all of the necessary information. | |||
| The Source operates with dual "allegiance". It serves the Originator | The Originator operates with dual "allegiance". It serves the Author | |||
| and often it is the same entity. However its role in assuring | and often it is the same entity. However its role in assuring | |||
| validity means that it MUST also represent the local operator of the | validity means that it MUST also represent the local operator of the | |||
| MHS, that is, the local ADministrative Management Domain (ADMD). | MHS, that is, the local ADministrative Management Domain (ADMD). | |||
| The Source also has the responsibility for any post-submission, | The Originator also has the responsibility for any post-submission, | |||
| Originator-related administrative tasks associated with message | Author-related administrative tasks associated with message | |||
| transmission and delivery. Notably this pertains to error and | transmission and delivery. Notably this pertains to error and | |||
| delivery notices. Hence Source is best held accountable for the | delivery notices. Hence Source is best held accountable for the | |||
| message content, even when they did not create any or most of it. | message content, even when they did not create any or most of it. | |||
| 2.2.2. Relay | 2.2.2. Relay | |||
| A mail Relay performs email transfer-service routing and store-and- | A mail Relay performs email transfer-service routing and store-and- | |||
| forward by (re-)transmitting the message on towards its Recipient(s). | forward by (re-)transmitting the message on towards its Recipient(s). | |||
| A Relay can add trace information. However it does not modify | A Relay can add trace information. However it does not modify | |||
| existing envelope information or the message content semantics. It | existing envelope information or the message content semantics. It | |||
| skipping to change at page 12, line 39 ¶ | skipping to change at page 14, line 32 ¶ | |||
| * User Mediators | * User Mediators | |||
| * MHS Relays | * MHS Relays | |||
| * Packet Switches | * Packet Switches | |||
| with the bottom-most usually being the Internet's IP service. The | with the bottom-most usually being the Internet's IP service. The | |||
| most basic email scenarios involve Relays and Switches. | most basic email scenarios involve Relays and Switches. | |||
| Aborting a message transfer results in having the Relay become an | Aborting a message transfer results in having the Relay become an | |||
| Originator and sending an error message to the Bounce address. The | Author and sending an error message to the Return address. The | |||
| potential for looping is avoided by having this message, itself, | potential for looping is avoided by having this message, itself, | |||
| contain no Bounce address. | contain no 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 form of User and Relay that interconnects | |||
| heterogeneous mail services. Its purpose is simply to emulate a | heterogeneous mail services. Its purpose is simply to emulate a | |||
| Relay and the closer it comes to this, the better. However it | Relay and the closer it comes to this, the better. However it | |||
| operates at the User level, because it MUST be able to modify message | operates at the User level, because it MUST be able to modify message | |||
| content. | content. | |||
| Differences between mail services can be as small as minor syntax | Differences between mail services can be as small as minor syntax | |||
| skipping to change at page 13, line 17 ¶ | skipping to change at page 15, line 9 ¶ | |||
| One difference could have the concept of an email address being a | One difference could have the concept of an email address being a | |||
| hierarchical, machine-specific address, versus having it be a flat, | hierarchical, machine-specific address, versus having it be a flat, | |||
| global name space. Another difference could be between text-only | global name space. Another difference could be between text-only | |||
| content, versus multi-media. Hence the Relay function in a Gateway | content, versus multi-media. Hence the Relay function in a Gateway | |||
| offers significant design challenges, to make the result be as | offers significant design challenges, to make the result be as | |||
| seamless as possible. The most significant challenge is in ensuring | seamless as possible. The most significant challenge is in ensuring | |||
| the user-to-user functionality that matches syntax and semantics of | the user-to-user functionality that matches syntax and semantics of | |||
| independent email standards suites. | independent email standards suites. | |||
| The basic test of a Gateway's adequacy is, of course, whether an | The basic test of a Gateway's adequacy is, of course, whether an | |||
| Originator on one side of a Gateway can send a useful message to a | Author on one side of a Gateway can send a useful message to a | |||
| Recipient on the other side, without requiring changes to any of the | Recipient on the other side, without requiring changes to any of the | |||
| components in the Originator's or Recipient's mail services, other | components in the Author's or Recipient's mail services, other than | |||
| than adding the Gateway. To each of these otherwise independent | adding the Gateway. To each of these otherwise independent services, | |||
| services, the Gateway will appear to be a "native" participant. | the Gateway will appear to be a "native" participant. However the | |||
| However the ultimate test of a Gateway's adequacy is whether the | ultimate test of a Gateway's adequacy is whether the Author and | |||
| Originator and Recipient can sustain a dialogue. In particular can a | Recipient can sustain a dialogue. In particular can a Recipient's | |||
| Recipient's MUA automatically formulate a valid Reply that will reach | MUA automatically formulate a valid Reply that will reach the initial | |||
| the initial Originator? | Author? | |||
| 2.3. Administrative Actors | 2.3. Administrative Actors | |||
| Actors often are associated with different organizations, each with | Actors often are associated with different organizations, each with | |||
| its own administrative authority. This operational independence, | its own administrative authority. This operational independence, | |||
| coupled with the need for interaction between groups, provides the | coupled with the need for interaction between groups, provides the | |||
| motivation for distinguishing among ADministrative Management Domains | motivation for distinguishing among ADministrative Management Domains | |||
| (ADMD). Each ADMD can have vastly different operating policies and | (ADMD). Each ADMD can have vastly different operating policies and | |||
| trust-based decision-making. An obvious example is the distinction | trust-based decision-making. An obvious example is the distinction | |||
| between mail that is exchanged within a single organization, versus | between mail that is exchanged within a single organization, versus | |||
| skipping to change at page 13, line 52 ¶ | skipping to change at page 15, line 44 ¶ | |||
| 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. | |||
| Examples include an end-user operating their desktop client, a | Examples include an end-user operating their desktop client, a | |||
| department operating a local Relay, an IT department operating an | department operating a local Relay, an IT department operating an | |||
| enterprise Relay and an ISP operating a public shared email service. | enterprise Relay and an ISP operating a public shared email service. | |||
| These can be configured into many combinations of administrative and | These can be configured into many combinations of administrative and | |||
| operational relationships, with each ADMD potentially having a | operational relationships, with each ADMD potentially having a | |||
| complex arrangement of functional components. Figure 4 depicts | complex arrangement of functional components. Figure 4 depicts | |||
| relationships among ADMDs. The benefit of having the ADMD construct | relationships among ADMDs. The benefit of having the ADMD construct | |||
| is to facilitate discussions and designs that need to distinguish | is to facilitate discussion about designs and operations that need to | |||
| between "internal" issues and "external" ones. | distinguish between "internal" issues and "external" ones. | |||
| The architectural impact of needing to have boundaries between ADMD's | The architectural impact of needing to have boundaries between ADMD's | |||
| is discussed in [Tussle]. Most significant is that the entities | is discussed in [Tussle]. Most significant is that the entities | |||
| communicating across ADMD boundaries will typically have an added | communicating across ADMD boundaries will typically have an added | |||
| burden to enforce organizational policies concerning "external" | burden to enforce organizational policies concerning "external" | |||
| communications. At a more mundane level, the basis for routing mail | communications. At a more mundane level, routing mail between ADMDs | |||
| between ADMDs is often an issue. | can be an issue, such as needing to route mail for partners over | |||
| specially-trusted paths. | ||||
| Basic types of ADMDs include -- | Basic types of ADMDs include -- | |||
| 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 | User: End-user services. This might be subsumed under the Edge | |||
| service, such as is common for web-based email access. | service, such as is common for web-based email access. | |||
| Transit: These are Mail Service Providers (MSP) offering value- | Transit: These are Mail Service Providers (MSP) offering value- | |||
| added capabilities for Edge ADMDs, such as aggregation and | added capabilities for Edge ADMDs, such as aggregation and | |||
| filtering. | filtering. | |||
| Note that Transit services are quite different from packet-level | Note that Transit services are quite different from packet-level | |||
| switching operation. Whereas end-to-end packet transfers usually go | switching operation. Whereas end-to-end packet transfers usually go | |||
| through intermediate routers, email exchange across the open Internet | through intermediate routers, email exchange across the open Internet | |||
| is often directly between the Boundary MTAs of Edge ADMDs, at the | is often directly between the Boundary MTAs of Edge ADMDs, at the | |||
| email level. | email level. This further highlights the differences discussed in | |||
| Section 2.2.2 | ||||
| +-------+ +-------+ +-------+ | +-------+ +-------+ +-------+ | |||
| | ADMD1 | | ADMD3 | | ADMD4 | | | ADMD1 | | ADMD3 | | ADMD4 | | |||
| | ----- | | ----- | | ----- | | | ----- | | ----- | | ----- | | |||
| | | +---------------------->| | | | | | | +---------------------->| | | | | |||
| | User | | |-Edge--+--->|-User | | | User | | |-Edge--+--->|-User | | |||
| | | | | +---------+ +--->| | | | | | | | | +---------+ +--->| | | | | |||
| | V | | | ADMD2 | | +-------+ +-------+ | | V | | | ADMD2 | | +-------+ +-------+ | |||
| | Edge--+---+ | ----- | | | | Edge--+---+ | ----- | | | |||
| | | | | | | | | | | | | | | |||
| skipping to change at page 15, line 11 ¶ | skipping to change at page 17, line 7 ¶ | |||
| However the distinction between Transit network and Edge network | However the distinction between Transit network and Edge network | |||
| transfer services is primarily significant because it highlights the | transfer services is primarily significant because it highlights the | |||
| need for concern over interaction and protection between independent | need for concern over interaction and protection between independent | |||
| administrations. In particular this distinction calls for additional | administrations. In particular this distinction calls for additional | |||
| care in assessing transitions of responsibility, as well as the | care in assessing transitions of responsibility, as well as the | |||
| accountability and authorization relationships among participants in | accountability and authorization relationships among participants in | |||
| email transfer. | email transfer. | |||
| The interactions between functional components within an ADMD are | The interactions between functional components within an ADMD are | |||
| subject to the policies of that domain. Policies can cover such | subject to the policies of that domain. Policies can cover such | |||
| things as reliability, access control, accountability and even | things as: | |||
| content evaluation and modification. They can be implemented in | ||||
| different functional components, according to the needs of the ADMD. | o Reliability | |||
| For example see [ID-spamops]. | ||||
| o Access control | ||||
| o Accountability | ||||
| o Content evaluation and modification | ||||
| They can be implemented in different functional components, according | ||||
| to the needs of the ADMD. For example see [RFC5068]. | ||||
| User, Edge and Transit services can be offered by providers that | User, Edge and Transit services can be offered by providers that | |||
| operate component services or sets of services. Further it is | operate component services or sets of services. Further it is | |||
| possible for one ADMD to host services for other ADMDs. | possible for one ADMD to host services for other ADMDs. | |||
| Common ADMD examples are -- | Common ADMD examples are -- | |||
| Enterprise Service Providers: | Enterprise Service Providers: | |||
| Operating an organization's internal data and/or mail services. | Operating an organization's internal data and/or mail services. | |||
| skipping to change at page 16, line 17 ¶ | skipping to change at page 18, line 17 ¶ | |||
| 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 is required to 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, divided by an at-sign ("@"). The right-hand | |||
| side is a globally interpreted domain name that is part of an ADMD. | side is a globally interpreted domain name that is associated with an | |||
| Domain Names are discussed in Section 3.2. Formal Internet Mail | ADMD. Domain Names are discussed in Section 3.2. Formal Internet | |||
| addressing syntax can support source routes, to indicate the path | Mail addressing syntax can support source routes, to indicate the | |||
| through which a message should be sent. Although legal, the use of | path through which a message should be sent. Although legal, the use | |||
| source routes is not part of the modern Internet Mail service and it | of source routes is not part of the modern Internet Mail service and | |||
| is ignored in the rest of this document. | 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 right-hand | |||
| side domain name. All other entities MUST treat the local-part as a | side domain name. All other entities MUST treat the local-part as a | |||
| uninterpreted literal string and MUST preserve all of its original | uninterpreted literal string and MUST preserve all of its original | |||
| details. As such its public distribution is equivalent to sending a | details. As such its public distribution is equivalent to sending a | |||
| Web browser "cookie" that is only interpreted upon being returned to | Web browser "cookie" that is only interpreted upon being returned to | |||
| its originator. | its Author. | |||
| 3.1.1. Global Standards for Local-Part | 3.1.1. Global Standards for Local-Part | |||
| It is common for sites to have local structuring conventions for the | It is common for sites to have local structuring conventions for the | |||
| left-hand side <local-part> of an <addr-spec>. This permits sub- | left-hand side <local-part> of an <addr-spec>. This permits sub- | |||
| addressing, such as for distinguishing different discussion groups | 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 | |||
| MUST not be interpreted by any domain except the one listed in the | SHOULD NOT be interpreted by any domain except the one listed in the | |||
| right-hand side of the addr-spec, and those specialized services | right-hand side of the addr-spec. The exceptions are those | |||
| conforming to standardized conventions, as noted in the next | specialized services conforming to standardized conventions, as noted | |||
| paragraph. | below. | |||
| There are a few types of addresses that have an elaboration on basic | There are a few types of addresses that have an elaboration on basic | |||
| email addressing, with a standardized, global schema for the local- | email addressing, with a standardized, global schema for the local- | |||
| part. These are conventions between originating end-systems and | part. These are conventions between authoring systems and Recipient | |||
| Recipient Gateways, and they are invisible to the public email | Gateways, and they are invisible to the public email transfer | |||
| transfer infrastructure. When an Originator is explicitly sending | infrastructure. When an Author is explicitly sending via a Gateway | |||
| via a Gateway out of the Internet, there are coding conventions for | out of the Internet, there are coding conventions for the local-part, | |||
| the local-part, so that the Originator can formulate instructions for | so that the Author can formulate instructions for the Gateway. | |||
| the Gateway. Standardized examples of this are the telephone | Standardized examples of this are the telephone numbering formats for | |||
| numbering formats for VPIM [RFC3801], such as | VPIM [RFC3801], such as "+16137637582@vpim.example.com", and iFax | |||
| "+16137637582@vpim.example.com", and iFax [RFC3192], such as | [RFC3192], such as "FAX=+12027653000/T33S=1387@ifax.example.com". | |||
| "FAX=+12027653000/T33S=1387@ifax.example.com". | ||||
| 3.1.2. Scope of Email Address Use | 3.1.2. Scope of Email Address Use | |||
| Email addresses are being used far beyond their original email | Email addresses are being used far beyond their original email | |||
| transfer and delivery role. In practical terms, email strings have | transfer and delivery role. In practical terms, an email address | |||
| become a common form of user identity on the Internet. What is | string has become the common identifier for representing online | |||
| essential, then, is to be clear about the nature and role of an | identity. What is essential, then, is to be clear about the nature | |||
| identity string in a particular context and to be clear about the | and role of an identity string in a particular context and to be | |||
| entity responsible for setting that string. | clear about the entity responsible for setting that string. For | |||
| example, see: Section 4.1.4, Section 4.3.3, Section 5. | ||||
| 3.2. Domain Names | 3.2. Domain Names | |||
| A domain name is a global reference to an Internet resource, such as | A domain name is a global reference to an Internet resource, such as | |||
| a host, a service or a network. A domain name usually maps to one or | a host, a service or a network. A domain name usually maps to one or | |||
| more IP Addresses. Conceptually the name might encompass an entire | more IP Addresses. Conceptually the name might encompass an entire | |||
| 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 only a single machine. A domain name can be administered | |||
| to refer to individual users, but this is not common practice. The | to refer to individual users, but this is not common practice. The | |||
| name is structured as a hierarchical sequence of sub-names, separated | name is structured as a hierarchical sequence of sub-names, separated | |||
| by dots ("."), with the top of the hierarchy being on the right-end | by dots ("."), with the top of the hierarchy being on the right-end | |||
| of the sequence. Domain names are defined and operated through the | of the sequence. Domain names are defined and operated through the | |||
| Domain Name Service (DNS) [RFC1034], [RFC1035], [RFC2181]. | Domain 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 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.3. 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. | |||
| 3.3.1. Message-ID | 3.3.1. Message-ID | |||
| The Message-ID is a user-level tag, primarily used for threading and | The Message-ID is a user-level tag, primarily used for threading and | |||
| for eliminating duplicates [RFC2822]. Any actor within the | for eliminating duplicates [RFC2822]. Any actor within the | |||
| originating ADMD might assign the Message-ID, although it is | Originating ADMD can assign the Message-ID. The recipient's ADMD is | |||
| typically created by an actor within the Originating ADMD.. The | the intended consumer of the Message-ID, although any actor along the | |||
| recipient's ADMD is the intended consumer of the Message-ID, although | transfer path might use it. Internet Mail standards provide for a | |||
| any actor along the transfer path might use it. Internet Mail | single Message-ID; however more than one is sometimes assigned. | |||
| standards provide for a single Message-ID; however more than one is | ||||
| sometimes assigned. | ||||
| Like a mailbox address, a Message-ID has two distinct parts, divided | Like a mailbox address, a Message-ID has two distinct parts, divided | |||
| by an at-sign ("@"). The right-hand side is globally interpreted and | by an at-sign ("@"). The right-hand side is globally interpreted and | |||
| specifies the ADMD or host assigning the identifier. The left-hand | specifies the ADMD or host assigning the identifier. The left-hand | |||
| side contains a string that is globally opaque and serves to uniquely | side contains a string that is globally opaque and serves to uniquely | |||
| identify the message within the domain referenced on the right-hand | identify the message within the domain referenced on the right-hand | |||
| side. The duration of uniqueness for the message identifier is | side. The duration of uniqueness for the message identifier is | |||
| undefined. | undefined. | |||
| When a message is revised in any way, the question of whether to | When a message is revised in any way, the question of whether to | |||
| skipping to change at page 18, line 46 ¶ | skipping to change at page 20, line 44 ¶ | |||
| the same message. | the same message. | |||
| * If a message has offensive words deleted from it, then some | * If a message has offensive words deleted from it, then 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, then 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 | ||||
| constitutes a new message. | ||||
| * If a message is forwarded by a recipient, what is forwarded is | ||||
| considered to be a new message. | ||||
| * If a message is "redirected", such as using RFC2822 | ||||
| "Redirect-*" headers, some recipients will consider it the same | ||||
| message, but some will not. | ||||
| The absence of objective, precise criteria for Message-ID re- | The absence of objective, precise criteria for Message-ID re- | |||
| generation, along with the absence of strong protection associated | generation, along with the absence of strong protection associated | |||
| with the string, means that the presence of an ID can permit an | with the string, means that the presence of an ID can permit an | |||
| assessment that is marginally better than a heuristic, but the ID | assessment that is marginally better than a heuristic, but the ID | |||
| certainly has no value on its own for strict formal reference or | certainly has no value on its own for strict formal reference or | |||
| comparison. Hence it is not appropriate to use the Message-ID for | comparison. Hence Message-ID SHOULD NOT be used for any function | |||
| any process that might be called "security". | that has security implications. | |||
| 3.3.2. ENVID | 3.3.2. ENVID | |||
| The ENVID (envelope identifier) is a tag that is primarily for use | The ENVID (envelope identifier) is a tag that is primarily for use | |||
| within Delivery Status Notifications (DSN), so that the Bounce | within Delivery Status Notifications (DSN), so that the Return | |||
| Address (RFC2821.MailFrom) recipient can correlate the DSN with a | Address (RFC2821.MailFrom) recipient can correlate the DSN with a | |||
| particular message [RFC3461]. The ENVID is therefore used from one | particular message [RFC3461]. The ENVID is therefore used from one | |||
| message posting, until the directly-resulting message deliveries. It | message posting, until the directly-resulting message deliveries. It | |||
| does not survive re-postings. | does not survive re-postings. | |||
| The ENVID may also be used for message tracking purposes [RFC3885]. | The ENVID may also be used for message tracking purposes [RFC3885]. | |||
| 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 Bounce 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 | Internet Mail's architecture distinguishes among six basic types of | |||
| functional components, arranged to support a store-and-forward | functionality, arranged to support a store-and-forward service | |||
| service architecture. As shown in Figure 5 these types can have | architecture. As shown in Figure 5 these types can have multiple | |||
| multiple instances, some of which represent specialized sub-roles. | instances, some of which represent specialized sub-roles. This | |||
| This section considers the activities and relationships among these | section considers the activities and relationships among these | |||
| components, and the Internet Mail standards used among them. | components, and the Internet Mail standards that apply to them. | |||
| 1. Message | 1. Message | |||
| 2. Mail User Agent (MUA) | 2. Mail User Agent (MUA) | |||
| + Originating MUA (oMUA) | Originating MUA (oMUA) | |||
| + Receiving MUA (rMUA) | Receiving MUA (rMUA) | |||
| 3. Message Submission Agent (MSA) | 3. Message Submission Agent (MSA) | |||
| + Originator-focussed MSA functions (oMSA) | Author-focussed MSA functions (oMSA) | |||
| + MHS-focussed MSA functions (hMSA) | MHS-focussed MSA functions (hMSA) | |||
| 4. Message Transfer Agent (MTA) | 4. Message Transfer Agent (MTA) | |||
| 5. Message Delivery Agent (MDA) | 5. Message Delivery Agent (MDA) | |||
| + Recipient-focused MDA functions (rMDA) | Recipient-focused MDA functions (rMDA) | |||
| + MHS-focussed MDA functions (hMDA) | MHS-focussed MDA functions (hMDA) | |||
| 6. Message Store (MS) | 6. Message Store (MS) | |||
| + Originator MS (oMS) | 1. Author MS (oMS) | |||
| - oMS on a remote server (soMS) | oMS on a remote server (soMS) | |||
| - oMS co-located with the oMUA (uoMS) | oMS co-located with the oMUA (uoMS) | |||
| + Recipient MS (rms) | 2. Recipient MS (rms) | |||
| - rMS on a remote server (srM) | rMS on a remote server (srMS) | |||
| - rMS co-located with the rMUA (urMS) | rMS co-located with the rMUA (urMS) | |||
| This section describes each functional component for Internet Mail, | This section describes each functional component for Internet Mail, | |||
| and the standards-based protocols that are associated with their | and the standards-based protocols associated with their operation. | |||
| operation. | ||||
| Software implementations of these architectural components often | Software implementations of these architectural components often | |||
| compress them, such as having the same software do MSA, MTA and MDA | compress them, such as having the same software do MSA, MTA and MDA | |||
| functions. However the requirements for each of these components of | functions. However the requirements for each of these components of | |||
| the service are becoming more extensive. So their separation is | the service are becoming more extensive. So their separation is | |||
| increasingly common. | increasingly common. | |||
| NOTE: A discussion about any interesting system architecture is | NOTE: A discussion about any interesting system architecture is | |||
| often complicated by confusion between architecture versus | often complicated by confusion between architecture versus | |||
| implementation. An architecture defines the conceptual | implementation. An architecture defines the conceptual | |||
| functions of a service, divided into discrete conceptual | functions of a service, divided into discrete conceptual | |||
| modules. An implementation of that architecture can combine or | modules. An implementation of that architecture can combine or | |||
| separate architectural components, as needed for a particular | separate architectural components, as needed for a particular | |||
| operational environment. It is important not to confuse the | operational environment. | |||
| engineering decisions that are made to implement a product, | ||||
| with the architectural abstractions used to define conceptual | A software system that primarily performs message relaying -- | |||
| functions. | 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 | ||||
| to implement a product, with the architectural abstractions | ||||
| used to define conceptual functions. | ||||
| The following figure shows function modules and the standardized | The following figure shows function modules and the standardized | |||
| protocols used between them. Additional protocols and configurations | protocols used between them. Additional protocols and configurations | |||
| are possible. Boxes defined by asterisks (*) represent functions | are possible. Boxes defined by asterisks (*) represent functions | |||
| that often are distributed among two or more systems. | that often are distributed among two or more systems. | |||
| +------+ +-------+ | +------+ +-------+ | |||
| ............+ oMUA |..............................| Disp | | ............+ oMUA |..............................| Disp | | |||
| . +--+-+-+ +-------+ | . +--+-+-+ +-------+ | |||
| . local,imap}| |{smtp,submission ^ | . local,imap}| |{smtp,submission ^ | |||
| . | | +---------+ | | . | | +---------+ | | |||
| . ******* | | .......................| Bounces | | | . ******* | | .......................| Returns | | | |||
| . * oMS *<-----+ | . +---------+ | | . * oMS *<-----+ | . +---------+ | | |||
| . ******* | . ***************** ^ | | . ******* | . ***************** ^ | | |||
| . +------V-.---*------------+ * | | | . +------V-.---*------------+ * | | | |||
| . MSA | +-------+ * +------+ | * | | | . MSA | +-------+ * +------+ | * | | | |||
| . | | oMSA +--O-->| hMSA | | * | | | . | | oMSA +--O-->| hMSA | | * | | | |||
| . | +-------+ * +--+---+ | * | | | . | +-------+ * +--+---+ | * | | | |||
| . +------------*------+-----+ * | | | . +------------*------+-----+ * | | | |||
| /+==========+\ * V {smtp * | | | //==========\\ * V {smtp * | | | |||
| || MESSAGE || * +------+ * /+===+===+\ | | || MESSAGE || * +------+ * //===+===\\ | | |||
| ||----------|| MHS * | MTA | * || dsn || | | ||----------|| MHS * | MTA | * || dsn || | | |||
| || Envelope || * +--+---+ * \+=======+/ | | || Envelope || * +--+---+ * \\=======// | | |||
| || SMTP || * V {smtp * ^ ^ | | || SMTP || * V {smtp * ^ ^ | | |||
| || Content || * +------+ * | | /+==+==+\ | || Content || * +------+ * | | //==+==\\ | |||
| || RFC2822 || * | MTA +----*-----+ | || mdn || | || RFC2822 || * | MTA +----*-----+ | || mdn || | |||
| || MIME || * +--+---+ * | \+=====+/ | || MIME || * +--+---+ * | \\=====// | |||
| \+==========+/ * smtp}| {local * | | | \\==========// * smtp}| {local * | | | |||
| MDA * | {lmtp * | | | . MDA * | {lmtp * | | | |||
| . +------------+------V-----+ * | | | . +------------+------V-----+ * | | | |||
| . | +------+ * +------+ | * | | | . | +------+ * +------+ | * | | | |||
| . | | | * | | +--*---------+ | | . | | | * | | +--*---------+ | | |||
| . | | rMDA |<--O---+ hMDA | | * | | . | | rMDA |<--O---+ hMDA | | * | | |||
| . | | | * | | |<-*-------+ | | . | | | * | | |<-*-------+ | | |||
| . | +-+----+ * +------+ | * | | | . | +-+----+ * +------+ | * | | | |||
| . +---+--+-----*------------+ * | | | . +---+--+-----*------------+ * | | | |||
| . | | ***************** | | | . | | ***************** | | | |||
| . pop} +--+ +---+ | | | . pop} +--+ +---+ | | | |||
| . imap} | | {local | | | . imap} | | {local | | | |||
| . ******************V******** | | | . ******************V******** | | | |||
| . * | +------+ * rMS /+===+===+\ | | . * | +------+ * rMS //===+===\\ | | |||
| . * | | srMS | * || sieve || | | . * | | srMS | * || sieve || | | |||
| . * V +--+-+-+ * \+=======+/ | | . * V +--+-+-+ * \\=======// | | |||
| . * +------+ pop} | | * ^ | | . * +------+ pop} | | * ^ | | |||
| . * | urMS |<-------+ | * | | | . * | urMS |<-------+ | * | | | |||
| . * +--+---+ imap} | * | | | . * +--+---+ imap} | * | | | |||
| . *************************** | | | . *************************** | | | |||
| . local}| +------+ |{pop,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]. Hence all of | |||
| its underlying mechanisms are merely in the service of getting that | its underlying mechanisms are merely in the service of getting that | |||
| message from its Originator to its Recipients. A message can be | message from its Author to its Recipients. A message can be | |||
| explicitly labeled as to its nature [RFC3458]. | explicitly labeled as to its nature [RFC3458]. | |||
| A message comprises a transit handling envelope and the 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 trace information and end-user structured fields. | |||
| The body may be unstructured simple lines of text, or it may be a | The body may be unstructured simple lines of text, or it may be a | |||
| MIME tree of multi-media subordinate objects, called body-parts, or | MIME tree of multi-media subordinate objects, called body-parts, or | |||
| attachments [RFC2045], [RFC2046], [RFC2047], [RFC4288], [RFC4289], | attachments [RFC2045], [RFC2046], [RFC2047], [RFC4288], [RFC4289], | |||
| [RFC2049]. | [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 -- | |||
| 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. The mailbox for this is shown as | |||
| Bounces in Figure 5. DSNs provide information about message | Returns in Figure 5. DSNs provide information about message | |||
| transit, such as transmission errors or successful delivery | transit, such as transmission errors or successful delivery | |||
| [RFC3461]. | [RFC3461]. | |||
| Message Disposition Notification (MDN): | Message Disposition Notification (MDN): | |||
| A Message Disposition Notification (MDN) is a message that | A Message Disposition Notification (MDN) is a message that | |||
| provides information about user-level, Recipient-side message | provides information about user-level, Recipient-side message | |||
| processing, such as indicating that the message has been | processing, such as indicating that the message has been | |||
| displayed [RFC3798] or the form of content that can be | displayed [RFC3798] or the form of content that can be | |||
| supported [RFC3297]. It can be generated by an rMUA and is | supported [RFC3297]. It can be generated by an rMUA and is | |||
| skipping to change at page 24, line 24 ¶ | skipping to change at page 26, line 24 ¶ | |||
| 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" information. Information that is directly used by the MHS | "handling" information. Information that is directly used by the MHS | |||
| is called the "envelope". It directs handling activities by the | is called the "envelope". It directs handling activities by the | |||
| transfer service as is carried in transfer service commands. That | transfer service as is carried in transfer service commands. That | |||
| is, the envelope exists in the transfer protocol SMTP [RFC2821]. | is, the envelope exists in the transfer protocol SMTP [RFC2821]. | |||
| Trace information records handling activity and is recorded in the | Trace information records handling activity and is recorded in the | |||
| message Header. | message Header. [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 covering an extensible | |||
| range of email service, user content and user transaction meta- | range of email service, user content and user transaction meta- | |||
| information. The core set of header fields is defined in [RFC2822], | information. The core set of header fields is defined in [RFC2822], | |||
| [RFC0822]. It is common to extend this set, for different | [RFC0822]. It is common to extend this set, for different | |||
| applications. Procedures for registering header fields are defined | applications. Procedures for registering header fields are defined | |||
| in [RFC4021]. An extensive set of existing header field | in [RFC4021]. An extensive set of existing header field | |||
| registrations is provided in [RFC3864]. | registrations is provided in [RFC3864]. | |||
| skipping to change at page 25, line 8 ¶ | skipping to change at page 27, line 8 ¶ | |||
| recursive set of MIME header field meta-data and MIME Content | recursive set of MIME header field meta-data and MIME Content | |||
| sections. | 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: | For a message in transit, the core uses of identifiers combine into: | |||
| +-----------------------+----------------+---------------------+ | +-----------------------+----------------+---------------------+ | |||
| | Layer | Field | Set By | | | Layer | Field | Set By | | |||
| +-----------------------+----------------+---------------------+ | +-----------------------+----------------+---------------------+ | |||
| | Message Body | MIME Header | Originator | | | Message Body | MIME Header | Author | | |||
| | Message header fields | From | Originator | | | Message header fields | From | Author | | |||
| | | Sender | Source | | | | Sender | Source | | |||
| | | Reply-To | Originator | | | | Reply-To | Author | | |||
| | | To, CC, BCC | Originator | | | | To, CC, BCC | Author | | |||
| | | Message-ID | Source | | | | Message-ID | Source | | |||
| | | Received | Source, Relay, Dest | | | | Received | Source, Relay, Dest | | |||
| | | Return-Path | MDA, from MailFrom | | | | Return-Path | MDA, from MailFrom | | |||
| | | Resent-* | Mediator | | | | Resent-* | Mediator | | |||
| | | List-Id | Mediator Originator | | | | List-Id | Mediator Author | | |||
| | | List-* | Mediator Originator | | | | List-* | Mediator Author | | |||
| | SMTP | HELO/EHLO | Latest Relay Client | | | SMTP | HELO/EHLO | Latest Relay Client | | |||
| | | ENVID | Source | | | | ENVID | Source | | |||
| | | MailFrom | Source | | | | MailFrom | Source | | |||
| | | RcptTo | Originator | | | | RcptTo | Author | | |||
| | IP | Source Address | Latest Relay Client | | | IP | Source Address | Latest Relay Client | | |||
| +-----------------------+----------------+---------------------+ | +-----------------------+----------------+---------------------+ | |||
| Layered Identities | Layered Identities | |||
| The most common address-related fields are: | The most common address-related fields are: | |||
| RFC2822.From Set by: Originator | RFC2822.From: Set by - Author | |||
| Names and addresses for author(s) of the message content are | Names and addresses for author(s) of the message content are | |||
| listed in the From field. | listed in the From: field. | |||
| RFC2822.Reply-To Set by: Originator | RFC2822.Reply-To: Set by - Author | |||
| If a message Recipient sends a reply message that would otherwise | If a message Recipient sends a reply message that would otherwise | |||
| use the RFC2822.From field address(es) that are contained in the | use the RFC2822.From field address(es) that are contained in the | |||
| original message, then they are instead to use the address(es) in | 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 | the RFC2822.Reply-To field. In other words this field is a direct | |||
| override of the From field, for responses from Recipients. | override of the From: field, for responses from Recipients. | |||
| RFC2822.Sender Set by: Source | RFC2822.Sender: Set by - Source | |||
| This specifies the address responsible for submitting the message | This specifies the address responsible for submitting the message | |||
| into the transfer service. For efficiency this field can be | into the transfer service. For efficiency this field can be | |||
| omitted if it contains the same address as RFC2822.From. However | omitted if it contains the same address as RFC2822.From. However | |||
| this does not mean there is no Sender specified. Rather it means | this does not mean there is no Sender specified. Rather it means | |||
| that that header field is virtual and that the address in the From | that that header field is virtual and that the address in the | |||
| field MUST be used. | From: field MUST be used. | |||
| Specification of the error return addresses -- the "Bounce" | Specification of the notifications Return addresses -- contained | |||
| address, contained in RFC2821.MailFrom -- is made by the | in RFC2821.MailFrom -- is made by the RFC2822.Sender. Typically | |||
| RFC2822.Sender. Typically the Bounce address is the same as the | the Return address is the same as the Sender address. However | |||
| Sender address. However some usage scenarios require it to be | some usage scenarios require it to be different. | |||
| different. | ||||
| RFC2822.To/.CC Set by: Originator | RFC2822.To/.CC: Set by - Author | |||
| These specify MUA Recipient addresses. However some or all of the | These specify MUA Recipient addresses. However some or all of the | |||
| addresses in these fields might not be present in the | addresses in these fields might not be present in the | |||
| RFC2821.RcptTo commands, due to handling process that might | RFC2821.RcptTo commands. | |||
| transfer from the former to the latter. | ||||
| The distinction between To and CC is subjective. Generally a To | The distinction between To and CC is subjective. Generally a To | |||
| addressee is considered primary and is expected to take action on | addressee is considered primary and is expected to take action on | |||
| the message. A CC addressee typically receives a copy only for | the message. A CC addressee typically receives a copy only for | |||
| their information. | their information. | |||
| RFC2822.BCC Set by: Originator | RFC2822.BCC: Set by - Author | |||
| A message might be copied to an addressee whose participation is | A message might be copied to an addressee whose participation is | |||
| not to be disclosed to the RFC2822.To or RFC2822.CC Recipients | not to be disclosed to the RFC2822.To or RFC2822.CC Recipients | |||
| and, usually, not to the other BCC Recipients. The BCC header | and, usually, not to the other BCC Recipients. The BCC header | |||
| field indicates a message copy to such a Recipient. | field indicates a message copy to such a Recipient. | |||
| Typically, the field lists no addresses or only lists the address | Typically, the field lists no addresses or only lists the single | |||
| of the Recipient receiving this copy. An MUA will typically make | address of the Recipient receiving this copy. An MUA will | |||
| separate postings for TO and CC Recipients, versus BCC Recipients. | typically make separate postings for TO and CC Recipients, versus | |||
| The former will see no indication that any BCCs were sent, whereas | BCC Recipients. The former will see no indication that any BCCs | |||
| the latter have a BCC field present. It might be empty, contain a | were sent, whereas the latter have a BCC field present. It might | |||
| comment, or contain one or more BCC addresses, depending upon the | be empty, contain a comment, or contain one or more BCC addresses, | |||
| preferences of the Originator. | depending upon the preferences of the Author. | |||
| RFC2821.HELO/.EHLO Set by: Source | RFC2821.HELO/.EHLO: Set by - Source | |||
| The MSA can specify its hosting domain identity for the SMTP HELO | The MSA can specify its hosting domain identity for the SMTP HELO | |||
| or EHLO command operation. | or EHLO command operation. | |||
| RFC3461.ENVID Set by: Source | RFC3461.ENVID: Set by - Source | |||
| The MSA can specify an opaque string, to be included in a DSN, as | The MSA can specify an opaque string, to be included in a DSN, as | |||
| a means of assisting the Bounce address recipient in identifying | a means of assisting the Return address recipient in identifying | |||
| the message that produced a DSN, or message tracking. | the message that produced a DSN, or message tracking. | |||
| RFC2821.MailFrom Set by: Source | RFC2821.MailFrom: Set by - Source | |||
| This is an end-to-end string that specifies an email address for | This is an end-to-end string that specifies an email address for | |||
| receiving return control information, such as "bounces". The name | receiving return control information, such as "bounces". The name | |||
| of this field is misleading, because it is not required to specify | of this field is misleading, because it is not required to specify | |||
| either the author or the agent responsible for submitting the | either the author or the Actor responsible for submitting the | |||
| message. Rather, the agent responsible for submission specifies | message. Rather, the Actor responsible for submission specifies | |||
| the RFC2821.MailFrom address. Ultimately the simple basis for | the RFC2821.MailFrom address. Ultimately the simple basis for | |||
| deciding what address needs to be in the RFC2821.MailFrom is to | deciding what address needs to be in the RFC2821.MailFrom is to | |||
| determine what address needs to be informed about transmission- | determine what address needs to be informed about transmission- | |||
| level problems (and, possibly, successes.) | level problems (and, possibly, successes.) | |||
| RFC2821.RcptTo Set by: Originator | RFC2821.RcptTo: Set by - Author | |||
| This specifies the MUA mailbox address of a recipient. The string | This specifies the MUA mailbox address of a recipient. The string | |||
| might not be visible in the message content header. For example, | might not be visible in the message content header. For example, | |||
| the message destination address header fields, such as RFC2822.To, | the message destination address header fields, such as RFC2822.To, | |||
| might specify a mailing list mailbox, while the RFC2821.RcptTo | might specify a mailing list mailbox, while the RFC2821.RcptTo | |||
| address specifies a member of that list. | address specifies a member of that list. | |||
| RFC2821.Received Set by: Source, Relay, Mediator, Dest | RFC2821.Received: Set by - Source, Relay, Mediator, Dest | |||
| This indicates trace information, including originating host, | This indicates trace information, including originating host, | |||
| relays, Mediators, and MSA host domain names and/or IP Addresses. | relays, Mediators, and MSA host domain names and/or IP Addresses. | |||
| RFC2821.Return-Path Set by: Source | RFC2821.Return-Path: Set by - Source | |||
| The MDA records the RFC2821.MailFrom address into the | The MDA records the RFC2821.MailFrom address into the | |||
| RFC2822.Return-Path field. | RFC2822.Return-Path field. | |||
| RFC2919.List-Id Set by: Mediator Originator | RFC2919.List-Id: Set by - Mediator Author | |||
| This provides a globally unique mailing list naming framework that | This provides a globally unique mailing list naming framework that | |||
| is independent of particular hosts. [RFC2919] | 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 string | |||
| usually is constructed by combining the two parts of an email | usually is constructed by combining the two parts of an email | |||
| address and the result rarely is a true domain name, listed in the | address and the result rarely is a true domain name, listed in the | |||
| domain name service -- although it can be. | domain name service -- although it can be. | |||
| RFC2369.List-* Set by: Mediator Originator | 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 by | |||
| mailing lists. In effect they supply list-specific parameters for | mailing lists. In effect they supply list-specific parameters for | |||
| common mailing list user operations. The identifiers for these | common mailing list user operations. The identifiers for these | |||
| operations are for the list, itself, and the user-as-subscriber | operations are for the list, itself, and the user-as-subscriber | |||
| [RFC2369]. | [RFC2369]. | |||
| RFC0791.SourceAddr Set by: The Client SMTP sending host immediately | RFC0791.SourceAddr: Set by - The Client SMTP sending host | |||
| 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 which | |||
| the datagram was sent. This information is set and provided by | the datagram was sent. This information is set and provided by | |||
| the IP layer, and is therefore independent of mail-level | the IP layer, and is therefore independent of mail-level | |||
| mechanisms. As such, it is often taken to be authoritative, | mechanisms. As such, it is often taken to be authoritative, | |||
| although it is possible to provide false addresses. | 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 | |||
| architecture, which is above the Internet Transport layer. Because | architecture, which is above the Internet Transport layer. Because | |||
| the motivation for email, and much of its use, is for interaction | the motivation for email, and much of its use, is for interaction | |||
| among humans, the nature and details of these protocol exchanges | among humans, the nature and details of these protocol exchanges | |||
| often are determined by the needs of human and group communication. | often are determined by the needs of human and group communication. | |||
| skipping to change at page 29, line 32 ¶ | skipping to change at page 31, line 32 ¶ | |||
| RFC2822.Sender | RFC2822.Sender | |||
| RFC2822.To, RFC2822.CC | RFC2822.To, RFC2822.CC | |||
| RFC2822.BCC | 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 Origination-side MS (oMS) and a Recipient-side MS (rMS). There is | |||
| a rich set of choices for configuring a store, because any MS may | a rich set of choices for configuring a store, because any MS may | |||
| comprise a distributed set of component stores. In Figure 5, the rMS | comprise a distributed set of component stores. In Figure 5, the rMS | |||
| demonstrates this by showing an rMS that is located on a remote | 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 | server (srMS) and an rMS that is on the same machine as the MUA | |||
| (urMS). The relationship between two message stores, themselves, can | (urMS). The relationship between two message stores, themselves, can | |||
| vary. | vary. | |||
| As discussed in [RFC1733] the operational relationship among MSs can | As discussed in [RFC1733] the operational relationship among MSs can | |||
| be -- | be -- | |||
| skipping to change at page 32, line 13 ¶ | skipping to change at page 34, line 13 ¶ | |||
| Identities relevant to the MTA include: | Identities relevant to the MTA include: | |||
| 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 | |||
| 4.3.3. Mail Delivery Agent (MDA) | 4.3.3. Mail Delivery Agent (MDA) | |||
| A Mail Delivery Agent (MDA) delivers email to the Recipient's | A Mail Delivery Agent (MDA) delivers email to the Recipient's | |||
| mailbox. It can provide distinctive, address-based functionality, | mailbox. It can provide distinctive, address-based functionality, | |||
| made possible by its detailed knowledge of the properties of the | made possible by its detailed knowledge of the properties of the | |||
| destination address. This knowledge might also be present elsewhere | destination address. This knowledge might also be present elsewhere | |||
| in the Recipient's ADMD, such as at an organizational border | in the Recipient's ADMD, such as at an organizational border | |||
| (Boundary) Relay. However it is required for the MDA, if only | (Boundary) Relay. However it is required for the MDA, if only | |||
| because the MDA must know where to deliver the message. | because the MDA must know where to deliver the message. | |||
| skipping to change at page 32, line 44 ¶ | skipping to change at page 34, line 44 ¶ | |||
| Using Internet protocols, delivery can be effected by a variety of | Using Internet protocols, delivery can be effected by a variety of | |||
| standard protocols. When coupled with an internal local mechanism, | standard protocols. When coupled with an internal local mechanism, | |||
| SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the | SMTP [RFC2821] and LMTP [RFC2033] permit "push" delivery to the | |||
| Recipient system, at the initiative of the upstream email service. | Recipient system, at the initiative of the upstream email service. | |||
| POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the | POP [RFC1939] and IMAP [RFC3501] are used for "pull" delivery at the | |||
| initiative of the Recipient system. POP and IMAP can also be used | initiative of the Recipient system. POP and IMAP can also be used | |||
| for repeated access to messages on a remote MS. | for repeated access to messages on a remote MS. | |||
| Identities relevant to the MDA include: | Identities relevant to the MDA include: | |||
| RFC2821.Return-Path Set by: Originator Source or Mediator Source | RFC2821.Return-Path: Set by - Author Source or Mediator Source | |||
| The MDA records the RFC2821.MailFrom address into the | The MDA records the RFC2821.MailFrom address into the | |||
| RFC2822.Return-Path field. | RFC2822.Return-Path field. | |||
| RFC2822.Received 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. | |||
| 5. Mediators | 5. Mediators | |||
| Basic email transfer from an Originator to the specified Recipients | Basic email transfer from an Author to the specified Recipients is | |||
| is accomplished by using an asynchronous, store-and-forward | accomplished by using an asynchronous, store-and-forward | |||
| communication infrastructure, in a sequence of independent | communication infrastructure, in a sequence of independent | |||
| transmissions through some number of MTAs. A very different task is | transmissions through some number of MTAs. A very different task is | |||
| a User-level sequence of postings and deliveries, through Mediators. | a User-level sequence of postings and deliveries, through Mediators. | |||
| A Mediator forwards a message, through a re-posting process. The | A Mediator forwards a message, through a re-posting process. The | |||
| Mediator does share some functionality with basic MTA relaying, but | Mediator does share some functionality with basic MTA relaying, but | |||
| it enjoys a degree of freedom with both addressing and content that | it enjoys a degree of freedom with both addressing and content that | |||
| is not available to MTAs. | is not available to MTAs. | |||
| RFC2821.HELO/.EHLO Set by: Mediator Source | RFC2821.HELO/.EHLO: Set by - Mediator Source | |||
| RFC3461.ENVID Set by: Originator Source or Mediator Source | RFC3461.ENVID Set by - Author Source or Mediator Source | |||
| RFC2821.MailFrom Set by: Originator Source or Mediator Source | RFC2821.MailFrom: Set by - Author Source or Mediator Source | |||
| RFC2821.RcptTo Set by: Mediator Originator | 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 salient aspect of a Mediator, that distinguishes it from any | |||
| other MUA creating an entirely new message, is that a Mediator | other MUA creating an entirely new message, is that a Mediator | |||
| preserves the integrity and tone of the original message, including | preserves the integrity and tone of the original message, including | |||
| the essential aspects of its origination information. The Mediator | the essential aspects of its origination information. The Mediator | |||
| might also add commentary. | might also add commentary. | |||
| Examples of MUA message creation that are NOT performed by Mediators | Examples of MUA message creation NOT performed by Mediators include | |||
| 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 | This action rather curiously provides a basic template for a | |||
| class of Mediators. However for its typical occurrence it is | class of Mediators. However for its typical occurrence it is | |||
| not itself an example of a Mediator. The new message is viewed | not itself an example of a Mediator. The new message is viewed | |||
| as being from the Agent doing the forwarding, rather than being | as being from the Actor doing the forwarding, rather than being | |||
| from the original Originator. | from the original 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 | strictly "from" the Mediator. The Mediator might add | |||
| commentary and certainly has the opportunity to modify the | commentary and certainly has the opportunity to modify the | |||
| original message content. The forwarded message is therefore | original message content. The forwarded message is therefore | |||
| independent of the original message exchange and creates a new | independent of the original message exchange and creates a new | |||
| message dialogue. However the final Recipient sees the | message dialogue. However the final Recipient sees the | |||
| contained message as from the original Originator. | contained message as from the original Author. | |||
| Reply: | Reply: | |||
| When a Recipient formulates a response back to the original | When a Recipient formulates a response back to the original | |||
| message's author, the new message is not typically viewed as | message's author, the new message is not typically viewed as | |||
| being a "forwarding" of the original. Its focus is the new | being a "forwarding" of the original. Its focus is the new | |||
| content, although it might contain all or part of the material | content, although it might contain all or part of the material | |||
| in the original message. Therefore the earlier material is | in the original message. Therefore the earlier material is | |||
| merely contextual and secondary. | merely contextual and secondary. | |||
| 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 tone of | |||
| the new message is that it is primarily commentary from a new | the new message is that it is primarily commentary from a new | |||
| Originator, 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 | 5.1. Aliasing | |||
| Aliasing is a simple re-addressing facility that is available in most | Aliasing is a simple re-addressing facility that is available in most | |||
| MDA implementations. It is performed just before placing a message | MDA implementations. It is performed just before placing a message | |||
| into the specified Recipient's mailbox. Instead the message is | into the specified Recipient's mailbox. Instead the message is | |||
| submitted back to the transfer service, for delivery to one or more | submitted back to the transfer service, for delivery to one or more | |||
| alternate addresses. Although typically implemented as part of an | alternate addresses. Although typically implemented as part of an | |||
| skipping to change at page 35, line 14 ¶ | skipping to change at page 37, line 14 ¶ | |||
| aliasing as a part of the lower-level mail relaying activity. | aliasing as a part of the lower-level mail relaying activity. | |||
| However the small change has a large semantic impact: The designated | However the small change has a large semantic impact: The designated | |||
| recipient has chosen a new recipient. Hence that original recipient | recipient has chosen a new recipient. Hence that original recipient | |||
| SHOULD become responsible for any handling issues. This change would | SHOULD become responsible for any handling issues. This change would | |||
| be reflected by replacing the message's RFC2821.MailFrom address to | be reflected by replacing the message's RFC2821.MailFrom address to | |||
| be one within the scope of the ADMD doing the aliasing. | be one within the scope of the ADMD doing the aliasing. | |||
| An MDA that is re-posting a message to an alias typically changes | An MDA that is re-posting a message to an alias typically changes | |||
| only envelope information: | only envelope information: | |||
| RFC2822.To/.CC/.BCC Set by: Originator | RFC2822.To/.CC/.BCC: Set by - Author | |||
| These retain their original addresses. | These retain their original addresses. | |||
| RFC2821.RcptTo Set by: Mediator Originator | RFC2821.RcptTo: Set by - Mediator Author | |||
| This field contains an alias address. | This field contains an alias address. | |||
| RFC2821.MailFrom Set by: Originator Source or Mediator Source | RFC2821.MailFrom: Set by - Author Source or Mediator Source | |||
| The agent responsible for submission to an alias address will | The Actor responsible for submission to an alias address will | |||
| often retain the original address to receive handling Bounces. | often retain the original address to receive handling 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 agent knows that there has | ensure that the origination-side Actor knows that there has | |||
| been a delivery problem. On the other hand, the responsibility | been a delivery problem. On the other hand, the responsibility | |||
| for the problem usually lies with the Recipient, since the | for the problem usually lies with the Recipient, since the | |||
| Alias mechanism is strictly under the Recipient's control. | Alias mechanism is strictly under the Recipient's control. | |||
| RFC2821.Received Set by: Mediator Dest | RFC2821.Received Set by - Mediator Dest | |||
| The agent can record Received information, to indicate the | The Actor can record Received information, to indicate the | |||
| delivery to the original address and submission to the alias | delivery to the original address and submission to the alias | |||
| address. The trace of Received header fields can therefore | address. The trace of Received header fields can therefore | |||
| include everything from original posting through final delivery | include everything from original posting through final delivery | |||
| to a final delivery. | to a final delivery. | |||
| 5.2. Re-Sending | 5.2. Re-Sending | |||
| Also called Re-Directing, Re-Sending differs from Forwarding by | Also called Re-Directing, Re-Sending differs from Forwarding by | |||
| virtue of having the Mediator "splice" a message's addressing | virtue of having the Mediator "splice" a message's addressing | |||
| information, to connect the Originator of the original message and | information, to connect the Author of the original message and the | |||
| the Recipient of the new message. This permits them to have direct | Recipient of the new message. This permits them to have direct | |||
| exchange, using their normal MUA Reply functions. Hence the new | exchange, using their normal MUA Reply functions. Hence the new | |||
| Recipient sees the message as being From the original Originator, | Recipient sees the message as being From: the original Author, even | |||
| even if the Mediator adds commentary. | if the Mediator adds commentary. | |||
| Identities specified in a resent message include | Identities specified in a resent message include | |||
| RFC2822.From Set by: original Originator | 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(s) of the | |||
| message content are retained. The free-form (display-name) | message content are retained. The free-form (display-name) | |||
| portion of the address might be modified to provide informal | portion of the address might be modified to provide informal | |||
| reference to the agent responsible for the redirection. | reference to the Actor responsible for the redirection. | |||
| RFC2822.Reply-To Set by: original Originator | 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: Originator Source or Mediator Source. | RFC2822.Sender: Set by - Author Source or Mediator Source. | |||
| RFC2822.To/.CC/.BCC Set by: original Originator | RFC2822.To/.CC/.BCC: Set by - original Author | |||
| These specify the original message Recipients. | These specify the original message Recipients. | |||
| RFC2822.Resent-From Set by: Mediator Originator | RFC2822.Resent-From: Set by - Mediator Author | |||
| The address of the original Recipient who is redirecting the | The address of the original Recipient who is redirecting the | |||
| message. Otherwise the same rules apply for the Resent-From | message. Otherwise the same rules apply for the Resent-From: | |||
| field as for an original RFC2822.From field. | field as for an original RFC2822.From field. | |||
| RFC2822.Resent-Sender Set by: Mediator Source | RFC2822.Resent-Sender: Set by - Mediator Source | |||
| The address of the agent responsible for re-submitting the | The address of the Actor responsible for re-submitting the | |||
| message. As with RFC2822.Sender, this field is often omitted | message. As with RFC2822.Sender, this field is often omitted | |||
| when it would merely contain the same address as | when it would merely contain the same address as | |||
| RFC2822.Resent-From. | RFC2822.Resent-From. | |||
| RFC2822.Resent-To/-CC/-BCC: Set by: Mediator Originator | 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 will now be able to | |||
| reply to the original author. | reply to the original author. | |||
| RFC2821.MailFrom Set by: Mediator Source | RFC2821.MailFrom: Set by - Mediator Source | |||
| The agent responsible for re-submission (RFC2822.Resent-Sender) | The Actor responsible for re-submission (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 Originator | RFC2821.RcptTo: Set by - Mediator Author | |||
| This will contain the address of a new Recipient. | This will contain the address of a new Recipient. | |||
| RFC2822.Received Set by: Mediator Dest | RFC2822.Received: Set by - Mediator Dest | |||
| When resending a message the submission agent can record a | When resending a message the submission agent can record a | |||
| Received header field, to indicate the transition from original | Received header field, to indicate the transition from original | |||
| posting to resubmission. | posting to resubmission. | |||
| 5.3. Mailing Lists | 5.3. Mailing Lists | |||
| Mailing lists have explicit email addresses and they re-post messages | Mailing lists have explicit email addresses and they re-post messages | |||
| to a list of subscribed members. The Mailing List Actor performs a | to a list of subscribed members. The Mailing List Actor performs a | |||
| task that can be viewed as an elaboration of the Re-Director role. | task that can be viewed as an elaboration of the Re-Director role. | |||
| 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 Mediator can modify content, such as deleting | |||
| attachments, converting the format, and adding list-specific | attachments, converting the format, and adding list-specific | |||
| comments. In addition, archiving list messages is common. Still the | comments. In addition, archiving list messages is common. Still the | |||
| message retains characteristics of being "from" the original | message retains characteristics of being "from" the original Author. | |||
| Originator. | ||||
| Identities relevant to a mailing list processor, when submitting a | Identities relevant to a mailing list processor, when submitting a | |||
| message, include: | message, include: | |||
| RFC2919.List-Id Set by: Mediator Originator | RFC2919.List-Id: Set by - Mediator Author | |||
| RFC2369.List-* Set by: Mediator Originator | RFC2369.List-*: Set by - Mediator Author | |||
| RFC2822.From Set by: original Originator | 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(s) of the | |||
| message content are specified -- or, rather, retained. | message content are specified -- or, rather, retained. | |||
| RFC2822.Reply-To Set by: original Originator or Mediator | RFC2822.Reply-To: Set by - original Author or Mediator Author | |||
| Originator | ||||
| RFC2822.Sender Set by: Originator Source or Mediator Source | RFC2822.Sender: Set by - Author Source or Mediator Source | |||
| This will usually specify the address of the agent responsible | This will usually specify the address of the Actor responsible | |||
| for mailing list operations. However some mailing lists | for mailing list operations. However some mailing lists | |||
| operate in a manner very similar to a simple MTA Relay, so that | operate in a manner very similar to a simple MTA Relay, so that | |||
| they preserve as much of the original handling information as | they preserve as much of the original handling information as | |||
| possible, including the original RFC2822.Sender field. | possible, including the original RFC2822.Sender field. | |||
| RFC2822.To/.CC Set by: original Originator | RFC2822.To/.CC Set by - original Author | |||
| These usually contain the original list of Recipient addresses. | These usually contain the original list of Recipient addresses. | |||
| RFC2821.MailFrom Set by: Originator Source or Mediator Source | RFC2821.MailFrom Set by - Author Source or Mediator Source | |||
| This can contain the original address to be notified of | This can contain the original address to be notified of | |||
| transmission issues, or the mailing list agent can set it to | transmission issues, or the mailing list Actor can set it to | |||
| contain a new Notification address. Typically the value is set | contain a new Notification address. Typically the value is set | |||
| to a new address, so that mailing list members and posters are | to a new address, so that mailing list members and posters are | |||
| not burdened with transmission-related Bounces. | not burdened with transmission-related Returns. | |||
| RFC2821.RcptTo Set by: Mediator Originator | RFC2821.RcptTo Set by - Mediator Author | |||
| This contains the address of a mailing list member. | This contains the address of a mailing list member. | |||
| RFC2821.Received Set by: Mediator Dest | RFC2821.Received Set by - Mediator Dest | |||
| A Mailing List Agent can record a Received header field, to | A Mailing List Actor can record a Received header field, to | |||
| indicate the transition from original posting to mailing list | indicate the transition from original posting to mailing list | |||
| forwarding. The Agent can choose to have the message retain | forwarding. The Actor can choose to have the message retain | |||
| the original set of Received header fields or can choose to | the original set of Received header fields or can choose to | |||
| remove them. In the latter case it can ensure that the | remove them. In the latter case it can ensure that the | |||
| original Received header fields are otherwise available, to | original Received header fields are otherwise available, to | |||
| ensure later accountability and diagnostic access to them. | ensure later accountability and diagnostic access to them. | |||
| 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 message or address modifications | relaying, but it also may make any content, structure, address, or | |||
| that are needed to send the message into a messaging environment that | attribute modifications needed to send the message into a messaging | |||
| operates according to different standards or potentially incompatible | environment that operates according to different standards or | |||
| policies. When a Gateway connects two differing messaging services, | potentially incompatible policies. When a Gateway connects two | |||
| its role is easy to identify and understand. When it connects | differing messaging services, its role is easy to identify and | |||
| environments that have technical similarity, but can have significant | understand. When it connects environments that have technical | |||
| administrative differences, it is easy to think that a Gateway is | similarity, but can have significant administrative differences, it | |||
| merely an MTA. | is easy to think that a Gateway is 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 the | |||
| latter transforms addresses and/or message content, in order to map | latter can make substantive changes to a message, in order to map | |||
| between the standards of two, different messaging services. In | between the standards of two, different messaging services. In | |||
| virtually all cases, this mapping process results in some degree of | virtually all cases, this mapping process results in some degree of | |||
| semantic loss. The challenge of Gateway design is to minimize this | semantic loss. The challenge of Gateway design is to minimize this | |||
| loss. | loss. | |||
| A Gateway can set any identity field available to a regular MUA. | A Gateway can set any identity field available to a regular MUA. | |||
| Identities typically relevant to Gateways include: | Identities typically relevant to Gateways include: | |||
| RFC2822.From Set by: original Originator | 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(s) of the | |||
| message content are retained. As for all original addressing | message content are retained. As for all original addressing | |||
| information in the message, the Gateway can translate addresses | information in the message, the Gateway can translate addresses | |||
| in whatever way will allow them continue to be useful in the | in whatever way will allow them continue to be useful in the | |||
| target environment. | target environment. | |||
| RFC2822.Reply-To Set by: original Originator | 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 originally | |||
| present. The ability to perform a successful reply by a | present. The ability to perform a successful reply by a | |||
| Gatewayed Recipient is a typical test of Gateway functionality. | Gatewayed Recipient is a typical test of Gateway functionality. | |||
| RFC2822.Sender Set by: Originator Source or Mediator Source | RFC2822.Sender: Set by - Author Source or Mediator Source | |||
| This can retain the original value or can be set to a new | This 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. | These usually retain their original addresses. | |||
| RFC2821.MailFrom Set by: Originator Source or Mediator Source | RFC2821.MailFrom Set by - Author Source or Mediator Source | |||
| The agent responsible for gatewaying the message can choose to | The Actor responsible for gatewaying the message can choose to | |||
| specify a new address to receive handling notices. | specify a new address to receive handling notices. | |||
| RFC2822.Received Set by: Mediator Dest | RFC2822.Received Set by - Mediator Dest | |||
| The Gateway can record a Received header field, to indicate the | The Gateway can record a Received header field, to indicate the | |||
| transition from the original posting environment to the new | transition from the original posting environment to the new | |||
| messaging environment. | messaging environment. | |||
| 5.5. Boundary Filter | 5.5. Boundary Filter | |||
| Organizations often enforce security boundaries by subjecting | Organizations often enforce security boundaries by subjecting | |||
| messages to analysis, for conformance with the organization's safety | messages to analysis, for conformance with the organization's safety | |||
| policies. An example is detection of content classed as spam or a | policies. An example is detection of content classed as spam or a | |||
| skipping to change at page 42, line 30 ¶ | skipping to change at page 44, line 30 ¶ | |||
| [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. | |||
| 7.2. Informative | 7.2. Informative | |||
| [ID-spamops] | ||||
| Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and | ||||
| E. Allman, "Email Submission Between Independent | ||||
| Networks", draft-hutzler-spamops-06 (work in progress), | ||||
| May 2007. | ||||
| [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", | |||
| skipping to change at page 43, line 13 ¶ | skipping to change at page 45, line 8 ¶ | |||
| [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. | [RFC3801] Vaudreuil, G. and G. Parsons, "", RFC 3801, June 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. | |||
| [RFC5068] Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and | ||||
| E. Allman, "Email Submission Operations: Access and | ||||
| 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 | This work derives from a section in draft-hutzler-spamops [RFC5068]. | |||
| [ID-spamops]. Discussion of the Source actor role was greatly | Discussion of the Source actor role was greatly clarified during | |||
| 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. | |||
| 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, Tony Hansen, Willemien Hoogendoorn, Brad | |||
| Knowles, John Leslie, Bruce Valdis Kletnieks, Mark E. Mallett, David | Knowles, John Leslie, Bruce Valdis Kletnieks, Mark E. Mallett, David | |||
| MacQuigg, Alexey Melnikov, der Mouse, S. Moonesamy, Chris Newman, | MacQuigg, Alexey Melnikov, der Mouse, S. Moonesamy, Chris Newman, | |||
| Daryl Odnert, Rahmat M. Samik-Ibrahim, Marshall Rose, Hector Santos, | Daryl Odnert, Rahmat M. Samik-Ibrahim, Marshall Rose, Hector Santos, | |||
| Jochen Topf, Greg Vaudreuil. | Jochen Topf, Greg Vaudreuil. | |||
| Diligent proof-reading was performed by Bruce Lilly. | Diligent proof-reading was performed by Bruce Lilly. | |||
| Index | ||||
| A | ||||
| Actor | ||||
| Administrative 15 | ||||
| Author 10 | ||||
| Edge 16 | ||||
| Gateway 14 | ||||
| Mediator 11 | ||||
| Originator 13 | ||||
| Recipient 10 | ||||
| Relay 14 | ||||
| Return Handler 11 | ||||
| Transit 16 | ||||
| User 16 | ||||
| Actors | ||||
| MHS 12 | ||||
| Administrative Actors 15 | ||||
| Author 10 | ||||
| D | ||||
| Discussion of document 6 | ||||
| E | ||||
| Edge Actor 16 | ||||
| end-to-end 4 | ||||
| G | ||||
| Gateway 12, 14 | ||||
| I | ||||
| Internet Mail 4 | ||||
| M | ||||
| Mail 4 | ||||
| Mail exchange 5 | ||||
| Mail Handling Service 3 | ||||
| Mail Handling System 12 | ||||
| Mail Transfer Agent 3 | ||||
| Mail User Agent 3 | ||||
| MDN 10 | ||||
| Mediator 11 | ||||
| Message Disposition Notification 10 | ||||
| MHS 3, 12 | ||||
| Actors 12 | ||||
| MTA 3 | ||||
| MUA 3 | ||||
| O | ||||
| Originator 13 | ||||
| R | ||||
| Recipient 10 | ||||
| Relay 14 | ||||
| Return Handler 11 | ||||
| T | ||||
| Transit Actor 16 | ||||
| U | ||||
| UA 3 | ||||
| User Actor 16 | ||||
| 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 | |||
| Email: dcrocker@bbiw.net | Email: dcrocker@bbiw.net | |||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | |||
| THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | |||
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | |||
| skipping to change at page 44, line 44 ¶ | skipping to change at line 2044 ¶ | |||
| attempt made to obtain a general license or permission for the use of | attempt made to obtain a general license or permission for the use of | |||
| such proprietary rights by implementers or users of this | such proprietary rights by implementers or users of this | |||
| specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository at | |||
| http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
| The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
| copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
| rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
| this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
| ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
| Acknowledgment | ||||
| Funding for the RFC Editor function is provided by the IETF | ||||
| Administrative Support Activity (IASA). | ||||
| End of changes. 177 change blocks. | ||||
| 381 lines changed or deleted | 515 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/ | ||||