| < draft-crocker-email-arch-07.txt | draft-crocker-email-arch-08.txt > | |||
|---|---|---|---|---|
| SMTP D. Crocker | SMTP D. Crocker | |||
| Internet-Draft Brandenburg InternetWorking | Internet-Draft Brandenburg InternetWorking | |||
| Intended status: Standards Track May 6, 2007 | Intended status: Standards Track May 20, 2007 | |||
| Expires: November 7, 2007 | Expires: November 21, 2007 | |||
| Internet Mail Architecture | Internet Mail Architecture | |||
| draft-crocker-email-arch-07 | draft-crocker-email-arch-08 | |||
| 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 7, 2007. | This Internet-Draft will expire on November 21, 2007. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2007). | 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 | |||
| skipping to change at page 2, line 21 ¶ | skipping to change at page 2, line 21 ¶ | |||
| architecture that targets description of the existing service, in | architecture that targets description of the existing service, in | |||
| order to facilitate clearer and more efficient technical, operations | order to facilitate clearer and more efficient technical, operations | |||
| and policy discussions about email. | and policy 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 . . . . . . . . . . . . . . . . . . . 6 | 2. Responsible Actor Roles . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 7 | 2.1. User Actors . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 10 | 2.2. Mail Handling Service (MHS) Actors . . . . . . . . . . . . 10 | |||
| 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 13 | 2.3. Administrative Actors . . . . . . . . . . . . . . . . . . 13 | |||
| 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 3. Identities . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 3.1. Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 16 | 3.2. Domain Names . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 17 | 3.3. Message Identifier . . . . . . . . . . . . . . . . . . . . 17 | |||
| 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 18 | 4. Services and Standards . . . . . . . . . . . . . . . . . . . . 19 | |||
| 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 21 | 4.1. Message Data . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 26 | 4.2. User-Level Services . . . . . . . . . . . . . . . . . . . 27 | |||
| 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 28 | 4.3. MHS-Level Services . . . . . . . . . . . . . . . . . . . . 29 | |||
| 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 31 | 5. Mediators . . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 32 | 5.1. Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 34 | 5.2. Re-Sending . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 36 | 5.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 37 | 5.4. Gateways . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 39 | 5.5. Boundary Filter . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 39 | 6. Considerations . . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 | 6.1. Security Considerations . . . . . . . . . . . . . . . . . 39 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39 | 6.2. IANA Considerations . . . . . . . . . . . . . . . . . . . 39 | |||
| 8.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 39 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 8.2. Descriptive . . . . . . . . . . . . . . . . . . . . . . . 42 | 7.1. Normative . . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 7.2. Descriptive . . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
| Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 42 | Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 42 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 43 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 44 | Intellectual Property and Copyright Statements . . . . . . . . . . 43 | |||
| 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 marked | |||
| by many independent operators, many different components for | by many independent operators, many different components for | |||
| providing service to users and many other components for performing | providing service to users and many other components for performing | |||
| 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 | ||||
| these layers into more specialized modules. Core aspects of the | ||||
| service, such as mailbox addressing and message format style, have | ||||
| remained remarkably constant. So the original distinction between | ||||
| user-level concerns and transfer-level concerns is retained, but with | ||||
| an elaboration to each level of the architecture. The term "Internet | ||||
| Mail" is used to refer to the entire collection of user and transfer | ||||
| components and services. | ||||
| For Internet Mail the term "end-to-end" usually refers to a single | ||||
| posting and the set of deliveries directly resulting from its single | ||||
| transiting of the MHS. A common exception is with group dialogue | ||||
| that is mediated via a mailing list, so that two postings occur | ||||
| before intended recipients receive an originator's message, as | ||||
| discussed in Section 2.1.4. In fact some uses of email consider the | ||||
| entire email service -- including Originator and Recipient -- as a | ||||
| subordinate component. For these services "end-to-end" refers to | ||||
| points outside of the email service. Examples are voicemail over | ||||
| email [RFC3801], EDI over email [RFC1767] and facsimile over email. | ||||
| [RFC4142] | ||||
| +--------+ | +--------+ | |||
| +---------------->| User | | +---------------->| User | | |||
| | +--------+ | | +--------+ | |||
| | ^ | | ^ | |||
| +--------+ | +--------+ . | +--------+ | +--------+ . | |||
| | User +--+--------->| User | . | | User +--+--------->| User | . | |||
| +--------+ | +--------+ . | +--------+ | +--------+ . | |||
| . | ^ . | . | ^ . | |||
| . | +--------+ . . | . | +--------+ . . | |||
| . +-->| User | . . | . +-->| User | . . | |||
| skipping to change at page 4, line 41 ¶ | skipping to change at page 5, line 31 ¶ | |||
| | . . . | | | . . . | | |||
| | +......................>+ . | | | +......................>+ . | | |||
| | . . | | | . . | | |||
| | +.............................>+ | | | +.............................>+ | | |||
| | | | | | | |||
| | Mail Handling Service (MHS) | | | Mail Handling Service (MHS) | | |||
| +--------------------------------------+ | +--------------------------------------+ | |||
| Figure 1: Basic Internet Mail Service Model | Figure 1: Basic Internet Mail Service Model | |||
| As it has evolved, the operational service has sub-divided each of | ||||
| these layers into more specialized modules. Core aspects of the | ||||
| service, such as mailbox addressing and message format style, have | ||||
| remained remarkably constant. So the original distinction between | ||||
| user-level concerns and transfer-level concerns is retained, but with | ||||
| an elaboration to each level of the architecture. The term "Internet | ||||
| Mail" is used to refer to the entire collection of user and transfer | ||||
| components and services. | ||||
| For Internet Mail the term "end-to-end" usually refers to a single | ||||
| posting and the set of deliveries directly resulting from its single | ||||
| transiting of the MHS. A common exception is with group dialogue | ||||
| that is mediated via a mailing list, so that two postings occur | ||||
| before intended recipients receive an originator's message, as | ||||
| discussed in Section 2.1.3. In fact some uses of email consider the | ||||
| entire email service -- including Originator and Recipient -- as a | ||||
| subordinate component. For these services "end-to-end" refers to | ||||
| points outside of the email service. Examples are voicemail over | ||||
| email [RFC3801], EDI over email [RFC1767] and facsimile over email. | ||||
| [RFC4142] | ||||
| 1.2. Service Overview | 1.2. Service Overview | |||
| End-to-end Internet Mail exchange is accomplished by using a | End-to-end Internet Mail exchange is accomplished by using a | |||
| standardized infrastructure comprising: | standardized infrastructure comprising: | |||
| * 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 | |||
| skipping to change at page 6, line 24 ¶ | skipping to change at page 6, line 42 ¶ | |||
| 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 specified in RFC 2119 [RFC2119]. | document are to be interpreted as specified in RFC 2119 [RFC2119]. | |||
| Discussion venue: Please direct discussion about this document to | Discussion venue: Please direct discussion about this document | |||
| 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 text to explain utility of having an architecture document. | ||||
| Added text explaining benefit of the ADMD construct. | ||||
| Added commentary on List-ID. | Changes: Removed "associated with" construct, relying only on | |||
| "set by" | ||||
| Made identity table and discussions more consistent. | ||||
| Moved Bounce out of MHS in figure. | Restricted "envelope" only to refer to SMTP information, | |||
| calling RFC2822-level fields "Trace information". | ||||
| Moved "generic" Identity field case-analysis text into common area | Moved "Bounce" to be User Actor. | |||
| after Table 1, reserving per-role text for per-role peculiarities. | ||||
| Extensive word-smithing and cleanup. | Extended introduction to acronyms in Services and Standards | |||
| section. | ||||
| 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 | |||
| skipping to change at page 9, line 6 ¶ | skipping to change at page 9, line 7 ¶ | |||
| The Recipient is a consumer of delivered content. As described | The Recipient is a consumer of delivered content. As described | |||
| below, the MHS has a "Dest[ination]" role that correlates with the | below, the MHS has a "Dest[ination]" role that correlates with the | |||
| user-level Recipient role. | 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 Originator. An | |||
| example of an automated form of reply is the Message Disposition | example of an automated form of reply is the Message Disposition | |||
| Notification, which informs the Originator about the Recipient's | Notification, which informs the Originator about the Recipient's | |||
| handling of the message. (See Section 4.1.) | handling of the message. (See Section 4.1.) | |||
| 2.1.3. Mediator | 2.1.3. Bounce Handler | |||
| The Bounce Handler receives and services notifications that are | ||||
| 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 | ||||
| its negative implication and narrow focus. However it is the | ||||
| most popular term for the address. | ||||
| 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. Example Mediators include group dialogue, such as | |||
| collaboration via mailing lists, and organizational message flow, as | collaboration via mailing lists, and organizational message flow, as | |||
| occurs with a purchase approval process. Note that it is easy to | occurs with a purchase approval process. Note that it is easy to | |||
| confuse this user-level activity with the underlying MHS transfer | confuse this user-level activity with the underlying MHS transfer | |||
| exchanges. However they serve very different purposes and operate in | exchanges. However they serve very different purposes and operate in | |||
| very different ways. Mediators are considered extensively in | very different ways. Mediators are considered extensively in | |||
| Section 5. | Section 5. | |||
| skipping to change at page 9, line 46 ¶ | skipping to change at page 10, line 15 ¶ | |||
| A Mediator's task can be complex and contingent, such as by modifying | A Mediator's task can be complex and contingent, such as by modifying | |||
| and adding content or regulating which users 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 Mediator. | Gateway: A Gateway is a particularly interesting form of | |||
| It is a hybrid of User and Relay that interconnects heterogeneous | Mediator. It is a hybrid of User and Relay that interconnects | |||
| mail services. Its goal is to emulate a Relay, and a detailed | heterogeneous mail services. Its goal is to emulate a Relay, | |||
| discussion is in Section 2.2.4. | and a detailed 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 Originator 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. | |||
| skipping to change at page 11, line 25 ¶ | skipping to change at page 12, line 12 ¶ | |||
| 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 Source also has the responsibility for any post-submission, | |||
| Originator-related administrative tasks associated with message | Originator-related administrative tasks associated with message | |||
| transmission and delivery. Notably this pertains to error and | transmission and delivery. Notably this pertains to error and | |||
| delivery notices. Hence Source is best held accountable for the | delivery notices. Hence Source is best held accountable for the | |||
| message content, even when they did not create any or most of it. | message content, even when they did not create any or most of it. | |||
| 2.2.2. Bounce Handler | 2.2.2. Relay | |||
| The Bounce Handler processes service notifications that are generated | ||||
| by the MHS, as a result of its 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 its | ||||
| negative implication and narrow focus. However it is the most | ||||
| popular term for the address. | ||||
| 2.2.3. Relay | ||||
| A mail Relay performs email transfer-service routing and store-and- | A mail Relay performs email transfer-service routing and store-and- | |||
| forward 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 information to the envelope, such as with trace | A Relay can add trace information. However it does not modify | |||
| information. However it does not modify existing envelope | existing envelope information or the message content semantics. It | |||
| information or the message content semantics. It can modify message | can modify message content syntax, such as a change from text to | |||
| content syntax, such as a change from text to binary transfer- | binary transfer-encoding form, only as required to meet the | |||
| encoding form, only as required to meet the capabilities of the next | capabilities of the next hop in the MHS. | |||
| hop in the MHS. | ||||
| A set of Relays composes a Mail Handling Service (MHS) network. This | A set of Relays composes a Mail Handling Service (MHS) network. This | |||
| is above any underlying packet-switching network that they might be | is above any underlying packet-switching network that they might be | |||
| using and below any gateways or other user-level Mediators. | using and below any gateways or other user-level Mediators. | |||
| In other words, interesting email scenarios can involve three | In other words, interesting email scenarios can involve three | |||
| distinct architectural layers of store-and-forward service: | distinct architectural layers of store-and-forward service: | |||
| * User Mediators | * User Mediators | |||
| skipping to change at page 12, line 24 ¶ | skipping to change at page 12, line 43 ¶ | |||
| * Packet Switches | * Packet Switches | |||
| with the bottom-most usually being the Internet's IP service. The | with the bottom-most usually being the Internet's IP service. The | |||
| most basic email scenarios involve Relays and Switches. | most basic email scenarios involve Relays and Switches. | |||
| Aborting a message transfer results in having the Relay become an | Aborting a message transfer results in having the Relay become an | |||
| Originator and send an error message to the Bounce address. The | Originator and send an error message to the Bounce address. The | |||
| potential for looping is avoided by having this message, itself, | potential for looping is avoided by having this message, itself, | |||
| contain no Bounce address. | contain no Bounce address. | |||
| 2.2.4. Gateway | 2.2.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 | |||
| variations, but usually encompass significant, semantic distinctions. | variations, but usually encompass significant, semantic distinctions. | |||
| One difference could have the concept of an email address be a | One difference could have the concept of an email address be a | |||
| skipping to change at page 13, line 10 ¶ | skipping to change at page 13, line 29 ¶ | |||
| components in the Originator's or Recipient's mail services, other | components in the Originator's or Recipient's mail services, other | |||
| than adding the Gateway. To each of these otherwise independent | than adding the Gateway. To each of these otherwise independent | |||
| services, the Gateway will appear to be a "native" participant. | services, the Gateway will appear to be a "native" participant. | |||
| However the ultimate test of a Gateway's adequacy is whether the | However the ultimate test of a Gateway's adequacy is whether the | |||
| Originator and Recipient can sustain a dialogue. In particular can a | Originator and Recipient can sustain a dialogue. In particular can a | |||
| Recipient's MUA automatically formulate a valid Reply that will reach | Recipient's MUA automatically formulate a valid Reply that will reach | |||
| the initial Originator? | the initial Originator? | |||
| 2.3. Administrative Actors | 2.3. Administrative Actors | |||
| Actors often will are associated with different organizations, each | Actors often are associated with different organizations, each with | |||
| with its own administrative authority. This operational | its own administrative authority. This operational independence, | |||
| independence, coupled with the need for interaction between groups, | coupled with the need for interaction between groups, provides the | |||
| provides the motivation for distinguishing among ADministrative | motivation for distinguishing among ADministrative Management Domains | |||
| Management Domains (ADMD). Each ADMD can have vastly different | (ADMD). Each ADMD can have vastly different operating policies and | |||
| operating policies and trust-based decision-making. An obvious | trust-based decision-making. An obvious example is the distinction | |||
| example is the distinction between mail that is exchanged within a | between mail that is exchanged within a single organization, versus | |||
| single organization, versus mail that is exchanged between | mail that is exchanged between independent organizations. The rules | |||
| independent organizations. The rules for handling these two types of | for handling these two types of traffic tend to be quite different. | |||
| traffic tend to be quite different. That difference requires | That difference requires defining the boundaries of each, and this | |||
| defining the boundaries of each, and this requires the ADMD | requires the ADMD construct. | |||
| construct. | ||||
| Operation of Internet Mail services is apportioned to different | Operation of Internet Mail services is apportioned to different | |||
| providers (or operators). Each can be an independent ADMD. This | providers (or operators). Each can be an independent ADMD. This | |||
| independence of administrative decision-making defines boundaries | independence of administrative decision-making defines boundaries | |||
| that distinguish different portions of the Internet Mail service. | that distinguish different portions of the Internet Mail service. | |||
| 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 | |||
| skipping to change at page 14, line 31 ¶ | skipping to change at page 14, line 44 ¶ | |||
| | | +---------------------->| | | | | | | +---------------------->| | | | | |||
| | User | | |-Edge--+--->|-User | | | User | | |-Edge--+--->|-User | | |||
| | | | | +---------+ +--->| | | | | | | | | +---------+ +--->| | | | | |||
| | V | | | ADMD2 | | +-------+ +-------+ | | V | | | ADMD2 | | +-------+ +-------+ | |||
| | Edge--+---+ | ----- | | | | Edge--+---+ | ----- | | | |||
| | | | | | | | | | | | | | | |||
| +-------+ +----|-Transit-+---+ | +-------+ +----|-Transit-+---+ | |||
| | | | | | | |||
| +---------+ | +---------+ | |||
| Figure 4: ADministrative Management Domains (ADMD) Example | Figure 4: ADMD Example | |||
| Edge networks can use proprietary email standards internally. | Edge networks can use proprietary email standards internally. | |||
| However the distinction between Transit network and Edge network | However the distinction between Transit network and Edge network | |||
| transfer services is primarily significant because it highlights the | transfer services is 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. | |||
| skipping to change at page 17, line 22 ¶ | skipping to change at page 17, line 43 ¶ | |||
| 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]. It is associated with the | for eliminating duplicates. [RFC2822]. Any actor within the | |||
| RFC2822.From field, although any actor within the originating ADMD | originating ADMD might assign the Message-ID, although it is | |||
| might assign it. The recipient's ADMD is the intended consumer of | typically created by an actor within the Originating ADMD.. The | |||
| the Message-ID, although any actor along the transfer path might use | recipient's ADMD is the intended consumer of the Message-ID, although | |||
| it. Internet Mail standards provide for a single Message-ID; however | any actor along the transfer path might use it. Internet Mail | |||
| 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 5 ¶ | skipping to change at page 18, line 26 ¶ | |||
| revisions to the message each receive new message identifiers." | revisions to the message each receive new message identifiers." | |||
| However real-world experience dictates some flexibility. An | However real-world experience dictates some flexibility. An | |||
| impossible test is whether the recipient will consider the new | impossible test is whether the recipient will consider the new | |||
| message to be equivalent to the old. For most components of Internet | message to be equivalent to the old. For most components of Internet | |||
| Mail, there is no way to predict a specific recipient's preferences | Mail, there is no way to predict a specific recipient's preferences | |||
| on this matter. Both creating and failing to create a new Message-ID | on this matter. Both creating and failing to create a new Message-ID | |||
| have their downsides. | have their downsides. | |||
| The best that can be offered, here, are some guidelines and examples: | The best that can be offered, here, are some guidelines and examples: | |||
| o If a message is changed only in terms of form, such as character- | * If a message is changed only in terms of form, such as | |||
| encoding, it clearly is still the same message. | character-encoding, it clearly is still the same message. | |||
| o If a message has minor additions to the content, such as a mailing | * If a message has minor additions to the content, such as a | |||
| list tag at the beginning of the RFC2822.Subject header field, or | mailing list tag at the beginning of the RFC2822.Subject header | |||
| some mailing list administrative information added to the end of | field, or some mailing list administrative information added to | |||
| the primary body-part's text, then it probably is still the same | the end of the primary body-part's text, then it probably is | |||
| message. | still the same message. | |||
| o If a message has viruses deleted from it, it probably is still the | * If a message has viruses deleted from it, it probably is still | |||
| same message. | the same message. | |||
| o 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 not. | recipients will consider it the same message, but some will | |||
| not. | ||||
| o 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 not. | 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 it is not appropriate to use the Message-ID for | |||
| any process that might be called "security". | any process that might be called "security". | |||
| 3.3.2. ENVID | 3.3.2. ENVID | |||
| skipping to change at page 18, line 47 ¶ | skipping to change at page 19, line 24 ¶ | |||
| 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 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 Bounce Address. | |||
| 4. Services and Standards | 4. Services and Standards | |||
| Internet Mail's architecture distinguishes among six different types | Internet Mail's architecture distinguishes among six basic types of | |||
| of functional components, arranged to support a store-and-forward | functional components, arranged to support a store-and-forward | |||
| service architecture: | service architecture. As shown in Figure 5 these types can have | |||
| multiple instances, some of which represent specialized sub-roles. | ||||
| This section considers the activities and relationships among these | ||||
| components, and the Internet Mail standards used among them. | ||||
| * Message | 1. Message | |||
| * Mail User Agent (MUA) | 2. Mail User Agent (MUA) | |||
| * Message Submission Agent (MSA) | + Originating MUA (oMUA) | |||
| * Message Transfer Agent (MTA) | + Receiving MUA (rMUA) | |||
| * Message Delivery Agent (MDA) | 3. Message Submission Agent (MSA) | |||
| * Message Store (MS) | + Originator-focussed MSA functions (oMSA) | |||
| + MHS-focussed MSA functions (hMSA) | ||||
| 4. Message Transfer Agent (MTA) | ||||
| 5. Message Delivery Agent (MDA) | ||||
| + Recipient-focused MDA functions (rMDA) | ||||
| + MHS-focussed MDA functions (hMDA) | ||||
| 6. Message Store (MS) | ||||
| + Originator MS (oMS) | ||||
| - oMS on a remote server (soMS) | ||||
| - oMS co-located with the oMUA (uoMS) | ||||
| + Recipient MS (rms) | ||||
| - rMS on a remote server (srM) | ||||
| - 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 that are 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: | NOTE: A discussion about any interesting system architecture is | |||
| often complicated by confusion between architecture versus | ||||
| A discussion about any interesting system architecture is often | implementation. An architecture defines the conceptual | |||
| complicated by confusion between architecture versus | functions of a service, divided into discrete conceptual | |||
| implementation. An architecture defines the conceptual functions | modules. An implementation of that architecture can combine or | |||
| of a service, divided into discrete conceptual modules. An | separate architectural components, as needed for a particular | |||
| implementation of that architecture can combine or separate | operational environment. It is important not to confuse the | |||
| architectural components, as needed for a particular operational | engineering decisions that are made to implement a product, | |||
| environment. It is important not to confuse the engineering | with the architectural abstractions used to define conceptual | |||
| decisions that are made to implement a product, with the | functions. | |||
| 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 ^ | |||
| skipping to change at page 20, line 23 ¶ | skipping to change at page 21, line 23 ¶ | |||
| . +------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 * ^ ^ | | |||
| || RFC2822 || * +------+ * | | /+==+==+\ | || Content || * +------+ * | | /+==+==+\ | |||
| || Content || * | MTA +----*-----+ | || mdn || | || RFC2822 || * | MTA +----*-----+ | || mdn || | |||
| || RFC2822 || * +--+---+ * | \+=====+/ | || MIME || * +--+---+ * | \+=====+/ | |||
| || MIME || * smtp}| {local * | | | \+==========+/ * smtp}| {local * | | | |||
| \+==========+/ MDA * | {lmtp * | | | MDA * | {lmtp * | | | |||
| . +------------+------V-----+ * | | | . +------------+------V-----+ * | | | |||
| . | +------+ * +------+ | * | | | . | +------+ * +------+ | * | | | |||
| . | | | * | | +--*---------+ | | . | | | * | | +--*---------+ | | |||
| . | | rMDA |<--O---+ hMDA | | * | | . | | rMDA |<--O---+ hMDA | | * | | |||
| . | | | * | | |<-*-------+ | | . | | | * | | |<-*-------+ | | |||
| . | +-+----+ * +------+ | * | | | . | +-+----+ * +------+ | * | | | |||
| . +---+--+-----*------------+ * | | | . +---+--+-----*------------+ * | | | |||
| . | | ***************** | | | . | | ***************** | | | |||
| . pop} +--+ +---+ | | | . pop} +--+ +---+ | | | |||
| . imap} | | {local | | | . imap} | | {local | | | |||
| skipping to change at page 21, line 13 ¶ | skipping to change at page 22, line 13 ¶ | |||
| 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 Originator to its Recipients. A message can be | |||
| explicitly labeled as to its nature. [RFC3458] | explicitly labeled as to its nature. [RFC3458] | |||
| A message comprises a transit handling envelope and the end-user | A message comprises a transit handling envelope and the message | |||
| message content. The envelope contains handling information used by | content. The envelope contains information used by the MHS. The | |||
| the MHS, or generated by it. The content is divided into a | content is divided into a structured header and the body. The header | |||
| structured header and the body. The body may be unstructured simple | comprises transit trace information and end-user structured fields. | |||
| lines of text, or it may be a MIME tree of multi-media subordinate | The body may be unstructured simple lines of text, or it may be a | |||
| objects, called body-parts, or attachments. [RFC2045], [RFC2046], | MIME tree of multi-media subordinate objects, called body-parts, or | |||
| [RFC2047], [RFC4288], [RFC4289], [RFC2049]. | attachments. [RFC2045], [RFC2046], [RFC2047], [RFC4288], [RFC4289], | |||
| [RFC2049]. | ||||
| In addition, Internet Mail has a few conventions for special control | In addition, Internet Mail has a few conventions for special control | |||
| data: | data -- | |||
| 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. It provides information about message | Bounces 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 | |||
| sent to the Disposition-Notification-To address(es). The | sent to the Disposition-Notification-To address(es). The | |||
| mailbox for this is shown as Disp in Figure 5. It | mailbox for this is shown as Disp in Figure 5. | |||
| Message Filtering (SIEVE): | Message Filtering (SIEVE): | |||
| SIEVE is a scripting language that permits specifying | SIEVE is a scripting language that permits specifying | |||
| conditions for differential handling of mail, typically at the | conditions for differential handling of mail, typically at the | |||
| time of delivery. [RFC3028] It can be conveyed in a variety of | time of delivery. [RFC3028] It can be conveyed in a variety of | |||
| ways, as a MIME part. Figure 5 shows a Sieve specification | ways, as a MIME part. Figure 5 shows a Sieve specification | |||
| going from the rMUA to the MDA. However filtering can be done | going from the rMUA to the MDA. However filtering can be done | |||
| at many different points along the transit path and any one or | at many different points along the transit path and any one or | |||
| more of them might be subject to Sieve directives, especially | more of them might be subject to Sieve directives, especially | |||
| within a single ADMD. Hence the Figure shows only one | within a single ADMD. Hence the Figure shows only one | |||
| relationship, for (relative) simplicity. | relationship, for (relative) simplicity. | |||
| 4.1.1. Envelope | 4.1.1. Envelope | |||
| Information that is directly used by, or produced by, the MHS is | Internet Mail has a fragmented framework for transit-related | |||
| called the "envelope". It controls and records handling activities | "handling" information. Information that is directly used by the MHS | |||
| by the transfer service. Internet Mail has a fragmented framework | is called the "envelope". It directs handling activities by the | |||
| for handling this "handling" information. The envelope exists partly | transfer service as is carried in transfer service commands. That | |||
| in the transfer protocol SMTP [RFC2821] and partly in the message | is, The envelope exists in the transfer protocol SMTP [RFC2821]. | |||
| object [RFC2822]. The SMTP specification uses the term to refer only | ||||
| to the transfer-protocol information. | ||||
| NOTE: | ||||
| Due to the frequent use of the term "envelope" to refer only to | ||||
| SMTP constructs, there has been some call for using a different | ||||
| term, to label the larger set of information defined here. So | ||||
| far, no alternative term has developed any community support. | ||||
| Direct envelope addressing information, as well as optional transfer | Trace information records handling activity and is recorded in the | |||
| directives, are carried within the SMTP control channel. Other | message Header. | |||
| envelope information, such as trace records, is carried within the | ||||
| message object header fields. Upon delivery, some SMTP-level | ||||
| envelope information is typically encoded within additional message | ||||
| object header fields, such as Return-Path. [RFC2821],[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 23, line 9 ¶ | skipping to change at page 24, line 5 ¶ | |||
| The body of a message might simply be lines of ASCII text or it might | The body of a message might simply be lines of ASCII text or it might | |||
| be hierarchically structured into a composition of multi-media body- | be hierarchically structured into a composition of multi-media body- | |||
| part attachments, using MIME. [RFC2045], [RFC2046], [RFC2047], | part attachments, using MIME. [RFC2045], [RFC2046], [RFC2047], | |||
| [RFC4288], [RFC2049] MIME structures each body-part into a recursive | [RFC4288], [RFC2049] MIME structures each body-part into a recursive | |||
| set of MIME header field meta-data and MIME Content sections. | set of MIME header field meta-data and MIME Content sections. | |||
| 4.1.4. Identity References in a Message | 4.1.4. Identity References in a Message | |||
| For a message in transit, the core uses of identifiers combine into: | 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 | Originator | | |||
| | Message header fields | From | Originator | | | Message header fields | From | Originator | | |||
| | | Sender | Source | | | | Sender | Source | | |||
| | | Reply-To | Originator | | | | Reply-To | Originator | | |||
| | | To, CC, BCC | Originator | | | | To, CC, BCC | Originator | | |||
| | | Message-ID | Source | | | | Message-ID | Source | | |||
| | | Received | Source, Relay, Dest | | | | Received | Source, Relay, Dest | | |||
| | | Return-Path | MDA, from MailFrom | | | | Return-Path | MDA, from MailFrom | | |||
| | | Resent-* | Mediator | | | | Resent-* | Mediator | | |||
| | SMTP | HELO | Latest Relay Client | | | SMTP | HELO | Latest Relay Client | | |||
| | | MailFrom | Source | | | | ENVID | Source | | |||
| | | RcptTo | Originator | | | | MailFrom | Source | | |||
| | IP | IP Address | Latest Relay Client | | | | RcptTo | Originator | | |||
| +-----------------------+-------------+---------------------+ | | 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 | RFC2822.From Set by: Originator | |||
| Set by: Originator | ||||
| Names and addresses for author(s) of the message content are | Names and addresses for author(s) of the message content are | |||
| listed in the From field. | listed in the From field. | |||
| RFC2822.Reply-To | RFC2822.Reply-To Set by: Originator | |||
| Set by: Originator | ||||
| If a message Recipient sends a reply message that would otherwise | If a message Recipient sends a reply message that would otherwise | |||
| use the RFC2822.From field address(es) 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 | RFC2822.Sender Set by: Source | |||
| Set by: Source | ||||
| This specifies the address responsible for submitting the message | This specifies the address responsible for submitting the message | |||
| into the transfer service. For efficiency this field 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 From | |||
| field MUST be used. | field MUST be used. | |||
| Specification of the error return addresses -- the "Bounce" | Specification of the error return addresses -- the "Bounce" | |||
| address, contained in RFC2821.MailFrom -- is made by the | address, contained in RFC2821.MailFrom -- is made by the | |||
| RFC2822.Sender. Typically the Bounce address is the same as the | RFC2822.Sender. Typically the Bounce address is the same as the | |||
| Sender address. However some usage scenarios require it to be | Sender address. However some usage scenarios require it to be | |||
| different. | different. | |||
| RFC2822.To, RFC2822.CC | RFC2822.To/.CC Set by: Originator | |||
| Set by: Originator | ||||
| 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, due to handling process that might | |||
| transfer from the former to the latter. | 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 | RFC2822.BCC Set by: Originator | |||
| Set by: Originator | ||||
| A message might be copied to an addressee whose participation is | A message might be copied to an addressee whose participation is | |||
| not to be disclosed to the RFC2822.To or RFC2822.CC Recipients | not to be disclosed to the RFC2822.To or RFC2822.CC Recipients | |||
| and, usually, not to the other BCC Recipients. The BCC header | and, usually, not to the other BCC Recipients. The BCC header | |||
| field indicates a message copy to such a Recipient. | 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 address | |||
| of the Recipient receiving this copy. An MUA will typically make | of the Recipient receiving this copy. An MUA will typically make | |||
| separate postings for TO and CC Recipients, versus BCC Recipients. | separate postings for TO and CC Recipients, versus BCC Recipients. | |||
| The former will see no indication that any BCCs were sent, whereas | The former will see no indication that any BCCs were sent, whereas | |||
| the latter have a BCC field present. It might be empty, contain a | the latter have a BCC field present. It might be empty, contain a | |||
| comment, or contain one or more BCC addresses, depending upon the | comment, or contain one or more BCC addresses, depending upon the | |||
| preferences of the Originator. | preferences of the Originator. | |||
| RFC2821.HELO/.EHLO | RFC2821.HELO/.EHLO Set by: Source | |||
| Set by: Source | ||||
| The MSA can specify its hosting domain identity for the SMTP HELO | The MSA can specify its hosting domain identity for the SMTP HELO | |||
| or EHLO command operation. | or EHLO command operation. | |||
| RFC2821.MailFrom | RFC3461.ENVID Set by: Source | |||
| Set by: Source | The MSA can specify an opaque string, to be included in a DSN, as | |||
| a means of assisting the Bounce address recipient in identifying | ||||
| the message that produced a DSN. | ||||
| 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 agent responsible for submitting the | |||
| message. Rather, the agent responsible for submission specifies | message. Rather, the agent responsible for submission specifies | |||
| the RFC2821.MailFrom address. Ultimately the simple basis for | the RFC2821.MailFrom address. Ultimately the simple basis for | |||
| deciding what address needs to be in the RFC2821.MailFrom is to | deciding what address needs to be in the RFC2821.MailFrom is to | |||
| determine what address needs to be informed about transmission- | determine what address needs to be informed about transmission- | |||
| level problems (and, possibly, successes.) | level problems (and, possibly, successes.) | |||
| RFC2821.RcptTo | RFC2821.RcptTo Set by: Originator | |||
| Set by: Originator | ||||
| This specifies the MUA mailbox address of a recipient. The string | This specifies the MUA mailbox address of a recipient. The string | |||
| might not be visible in the message content header. For example, | might not be visible in the message content header. For example, | |||
| the message destination address header fields, such as RFC2822.To, | the message destination address header fields, such as RFC2822.To, | |||
| might specify a mailing list 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 | RFC2821.Received Set by: Source, Relay, Mediator, Dest | |||
| 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 | RFC2821.Return-Path Set by: Source | |||
| Set by: Source | ||||
| The MDA records the RFC2821.MailFrom address into the | The MDA records the RFC2821.MailFrom address into the | |||
| RFC2822.Return-Path field. | RFC2822.Return-Path field. | |||
| RFC2919.List-Id | RFC2919.List-Id Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| 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-* | RFC2369.List-* Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| [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 | ||||
| preceding the current receiving SMTP server. | ||||
| [RFC0791] defines the basic unit of data transfer for the | ||||
| Internet, the IP Datagram. It contains a "Source Address" field | ||||
| that specifies the IP Address for the host (interface) from which | ||||
| the datagram was sent. This information is set and provided by | ||||
| the IP layer, and is therefore independent of mail-level | ||||
| mechanisms. As such, it is often taken to be authoritative, | ||||
| although it is possible to provide false addresses. | ||||
| 4.2. User-Level Services | 4.2. User-Level Services | |||
| Interactions at the user level entail protocol exchanges, distinct | Interactions at the user level entail protocol exchanges, distinct | |||
| from those that occur at lower layers of the Internet Mail | from those that occur at lower layers of the Internet Mail | |||
| 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. | |||
| In terms of efforts to specify behaviors, one effect of this is to | In terms of efforts to specify behaviors, one effect of this is to | |||
| require subjective guidelines, rather than strict rules, for some | require subjective guidelines, rather than strict rules, for some | |||
| skipping to change at page 27, line 11 ¶ | skipping to change at page 28, line 5 ¶ | |||
| folder for messages waiting to be sent (Queued or Unsent) and a | folder for messages waiting to be sent (Queued or Unsent) and a | |||
| folder for messages that have been successfully posted for | folder for messages that have been successfully posted for | |||
| transmission (Sent). | transmission (Sent). | |||
| The Recipient-side MUA (rMUA) works on behalf of the end-user | The Recipient-side MUA (rMUA) works on behalf of the end-user | |||
| Recipient to process received mail. This includes generating user- | Recipient to process received mail. This includes generating user- | |||
| level return control messages, displaying and disposing of the | level return control messages, displaying and disposing of the | |||
| received message, and closing or expanding the user communication | received message, and closing or expanding the user communication | |||
| loop, by initiating replies and forwarding new messages. | loop, by initiating replies and forwarding new messages. | |||
| NOTE: Although not shown in Figure 5, an MUA can, itself, have a | NOTE: Although not shown in Figure 5, an MUA can, itself, have a | |||
| distributed implementation, such as a "thin" user interface module | distributed implementation, such as a "thin" user interface | |||
| on a limited end-user device, with the bulk of the MUA | module on a limited end-user device, with the bulk of the MUA | |||
| functionality operated remotely on a more capable server. An | functionality operated remotely on a more capable server. An | |||
| example of such an architecture might use IMAP [RFC3501] for most | example of such an architecture might use IMAP [RFC3501] for | |||
| of the interactions between an MUA client and an MUA server. A | most of the interactions between an MUA client and an MUA | |||
| standardized approach for such scenarios is defined by [RFC4550]. | server. A standardized approach for such scenarios is defined | |||
| by [RFC4550]. | ||||
| A Mediator is special class of MUA. It performs message re-posting, | A Mediator is special class of MUA. It performs message re-posting, | |||
| as discussed in Section 2.1. | as discussed in Section 2.1. | |||
| Identity fields relevant to a typical end-user MUA include: | Identity fields relevant to a typical end-user MUA include: | |||
| RFC2822.From | RFC2822.From | |||
| RFC2822.Reply-To | RFC2822.Reply-To | |||
| skipping to change at page 28, line 4 ¶ | skipping to change at page 28, line 42 ¶ | |||
| 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 -- | |||
| Online: | ||||
| Only a remote MS is used, with messages being accessible only | Online: Only a remote MS is used, with messages being accessible | |||
| when the MUA is attached to the MS, and the MUA repeatedly | only when the MUA is attached to the MS, and the MUA repeatedly | |||
| fetches all or part of a message, from one session to the next. | fetches all or part of a message, from one session to the next. | |||
| Offline: | Offline: The MS is local to the user, and messages are | |||
| completely moved from any remote store, rather than (also) | ||||
| The MS is local to the user, and messages are completely moved | being retained there. | |||
| from any remote store, rather than (also) being retained there. | ||||
| Disconnected: | ||||
| An rMS and a uMS are kept synchronized, for all or part of | Disconnected: An rMS and a uMS are kept synchronized, for all or | |||
| their contents, while there is a connection between them. | part of their contents, while there is a connection between | |||
| While they are disconnected, mail can continue to arrive at the | them. While they are disconnected, mail can continue to arrive | |||
| rMS and the user may continue to make changes to the uMS. Upon | at the rMS and the user may continue to make changes to the | |||
| reconnection, the two stores are re-synchronized. | uMS. Upon reconnection, the two stores are re-synchronized. | |||
| 4.3. MHS-Level Services | 4.3. MHS-Level Services | |||
| 4.3.1. Mail Submission Agent (MSA) | 4.3.1. Mail Submission Agent (MSA) | |||
| A Mail Submission Agent (MSA) accepts the message submission from the | A Mail Submission Agent (MSA) accepts the message submission from the | |||
| oMUA and enforces the policies of the hosting ADMD and the | oMUA and enforces the policies of the hosting ADMD and the | |||
| requirements of Internet standards. An MSA represents an unusual | requirements of Internet standards. An MSA represents an unusual | |||
| functional dichotomy. A portion of its task is to represent MUA | functional dichotomy. A portion of its task is to represent MUA | |||
| (uMSA) interests during message posting, to facilitate posting | (uMSA) interests during message posting, to facilitate posting | |||
| skipping to change at page 29, line 8 ¶ | skipping to change at page 30, line 4 ¶ | |||
| formal RFC2822 representation. | formal RFC2822 representation. | |||
| Historically, standards-based MUA/MSA interactions have used SMTP | Historically, standards-based MUA/MSA interactions have used SMTP | |||
| [RFC2821]. A recent alternative is SUBMISSION [RFC4409]. Although | [RFC2821]. A recent alternative is SUBMISSION [RFC4409]. Although | |||
| SUBMISSION derives from SMTP, it uses a separate TCP port and imposes | SUBMISSION derives from SMTP, it uses a separate TCP port and imposes | |||
| distinct requirements, such as access authorization. | distinct requirements, such as access authorization. | |||
| Identities relevant to the MSA include: | Identities relevant to the MSA include: | |||
| RFC2821.HELO/.EHLO | RFC2821.HELO/.EHLO | |||
| RFC3461.ENVID | ||||
| RFC2821.MailFrom | RFC2821.MailFrom | |||
| RFC2821.RcptTo | RFC2821.RcptTo | |||
| RFC2821.Received | RFC2821.Received | |||
| 4.3.2. Mail Transfer Agent (MTA) | 4.3.2. Mail Transfer Agent (MTA) | |||
| A Mail Transfer Agent (MTA) relays mail for one application-level | A Mail Transfer Agent (MTA) relays mail for one application-level | |||
| skipping to change at page 30, line 7 ¶ | skipping to change at page 31, line 7 ¶ | |||
| The primary "routing" mechanism for Internet Mail is the DNS MX | The primary "routing" mechanism for Internet Mail is the DNS MX | |||
| record [RFC1035], which specifies a host through which the queried | record [RFC1035], which specifies a host through which the queried | |||
| domain can be reached. This presumes a public -- or at least a | domain can be reached. This presumes a public -- or at least a | |||
| common -- backbone that permits any attached host to connect to any | common -- backbone that permits any attached host to connect to any | |||
| other. | other. | |||
| Identities relevant to the MTA include: | Identities relevant to the MTA include: | |||
| RFC2821.HELO/.EHLO | RFC2821.HELO/.EHLO | |||
| RFC3461.ENVID | ||||
| RFC2821.MailFrom | RFC2821.MailFrom | |||
| RFC2821.RcptTo | RFC2821.RcptTo | |||
| RFC2822.Received | RFC2822.Received Set by: Relay Server | |||
| 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 30, line 44 ¶ | skipping to change at page 31, 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 | RFC2821.Return-Path Set by: Originator Source or Mediator Source | |||
| Set by: Originator 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 | RFC2822.Received Set by: MDA server | |||
| 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 Originator to the specified Recipients | |||
| is accomplished by using an asynchronous, store-and-forward | is 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 | RFC2821.HELO/.EHLO Set by: Mediator Source | |||
| Set by: Mediator Source | ||||
| RFC2821.MailFrom | ||||
| Set by: Originator Source or Mediator Source | ||||
| RFC2821.RcptTo | RFC3461.ENVID Set by: Originator Source or Mediator Source | |||
| Set by: Mediator Originator | RFC2821.MailFrom Set by: Originator Source or Mediator Source | |||
| RFC2821.Received | RFC2821.RcptTo Set by: Mediator Originator | |||
| 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 that are 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 class | This action rather curiously provides a basic template for a | |||
| of Mediators. However for its typical occurrence it is not itself | class of Mediators. However for its typical occurrence it is | |||
| an example of a Mediator. The new message is viewed as being from | not itself an example of a Mediator. The new message is viewed | |||
| the Agent doing the forwarding, rather than being from the | as being from the Agent doing the forwarding, rather than being | |||
| original Originator. | from the original Originator. | |||
| A new message encapsulates the original message and is seen as | A new message encapsulates the original message and is seen as | |||
| strictly "from" the Mediator. The Mediator might add commentary | strictly "from" the Mediator. The Mediator might add | |||
| and certainly has the opportunity to modify the original message | commentary and certainly has the opportunity to modify the | |||
| content. The forwarded message is therefore independent of the | original message content. The forwarded message is therefore | |||
| original message exchange and creates a new message dialogue. | independent of the original message exchange and creates a new | |||
| However the final Recipient sees the contained message as from the | message dialogue. However the final Recipient sees the | |||
| original Originator. | contained message as from the original Originator. | |||
| 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 being | message's author, the new message is not typically viewed as | |||
| a "forwarding" of the original. Its focus is the new content, | being a "forwarding" of the original. Its focus is the new | |||
| although it might contain all or part of the material in the | content, although it might contain all or part of the material | |||
| original message. Therefore the earlier material is merely | in the original message. Therefore the earlier material is | |||
| 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 that | one or more comments about the message are added in a manner | |||
| distinguishes commentary from original text. The tone of the new | that distinguishes commentary from original text. The tone of | |||
| message is that it is primarily commentary from a new Originator, | the new message is that it is primarily commentary from a new | |||
| similar to a Reply. | Originator, 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 33, line 21 ¶ | skipping to change at page 34, 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, RFC2822.CC, RFC2822.BCC | RFC2822.To/.CC/.BCC Set by: Originator | |||
| Set by: Originator | ||||
| These retain their original addresses. | These retain their original addresses. | |||
| RFC2821.RcptTo | RFC2821.RcptTo Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| This field contains an alias address. | This field contains an alias address. | |||
| RFC2821.MailFrom | RFC2821.MailFrom Set by: Originator Source or Mediator Source | |||
| Set by: Originator Source or Mediator Source | ||||
| The agent responsible for submission to an alias address will | The agent responsible for submission to an alias address will | |||
| often retain the original address to receive handling Bounces. | often retain the original address to receive handling Bounces. | |||
| The benefit of retaining the original MailFrom value is to | 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 agent 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 | RFC2821.Received Set by: Mediator Dest | |||
| Set by: Mediator Dest | ||||
| The agent can record Received information, to indicate the | The agent can record Received information, to indicate the | |||
| delivery to the original address and submission to the alias | delivery to the original address and submission to the alias | |||
| address. The trace of Received header fields 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 Originator of the original message and | |||
| the Recipient of the new message. This permits them to have direct | the Recipient of the new message. This permits them to have direct | |||
| exchange, using their normal MUA Reply functions. Hence the new | exchange, using their normal MUA Reply functions. Hence the new | |||
| Recipient sees the message as being From the original Originator, | Recipient sees the message as being From the original Originator, | |||
| even if the Mediator adds commentary. | even if the Mediator adds commentary. | |||
| Identities specified in a resent message include | Identities specified in a resent message include | |||
| RFC2822.From | RFC2822.From Set by: original Originator | |||
| Set by: original Originator | ||||
| Names and email addresses for the original author(s) of the | Names and email addresses for the original author(s) of the | |||
| message content are retained. The free-form (display-name) | message content are retained. The free-form (display-name) | |||
| portion of the address might be modified to provide informal | portion of the address might be modified to provide informal | |||
| reference to the agent responsible for the redirection. | reference to the agent responsible for the redirection. | |||
| RFC2822.Reply-To | RFC2822.Reply-To Set by: original Originator | |||
| Set by: original Originator | ||||
| If this field is present in the original message, it is | If this field is present in the original message, it is | |||
| retained in the Resent message. | retained in the Resent message. | |||
| RFC2822.Sender | RFC2822.Sender Set by: Originator Source or Mediator Source. | |||
| Set by: Originator Source or Mediator Source | ||||
| RFC2822.TO, RFC2822.CC, RFC2822.BCC | RFC2822.To/.CC/.BCC Set by: original Originator | |||
| Set by: original Originator | ||||
| These specify the original message Recipients. | These specify the original message Recipients. | |||
| RFC2822.Resent-From | RFC2822.Resent-From Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| 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 agent 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, RFC2822.Resent-cc, RFC2822.Resent-bcc: | RFC2822.Resent-To/-CC/-BCC: Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| 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 | RFC2821.MailFrom Set by: Mediator Source | |||
| Set by: Mediator Source | ||||
| The agent responsible for re-submission (RFC2822.Resent-Sender) | The agent 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 | RFC2821.RcptTo Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| This will contain the address of a new Recipient | ||||
| RFC2822.Received | This will contain the address of a new Recipient. | |||
| 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, formatting conversion, and adding list-specific | attachments, formatting conversion, 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 | |||
| Originator. | Originator. | |||
| Identities relevant to a mailing list processor, when submitting a | Identities relevant to a mailing list processor, when submitting a | |||
| message, include: | message, include: | |||
| RFC2919.List-Id | RFC2919.List-Id Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| RFC2369.List-* | ||||
| Set by: Mediator Originator | ||||
| RFC2822.From | RFC2369.List-* Set by: Mediator Originator | |||
| Set by: original Originator | RFC2822.From Set by: original Originator | |||
| Names and email addresses for the original author(s) of the | Names and email addresses for the original author(s) of the | |||
| message content are specified -- or, rather, retained. | message content are specified -- or, rather, retained. | |||
| RFC2822.Reply-To | RFC2822.Reply-To Set by: original Originator or Mediator | |||
| Originator | ||||
| Set by: original Originator or Mediator Originator | ||||
| RFC2822.Sender | ||||
| Set by: Originator Source or Mediator Source | RFC2822.Sender Set by: Originator Source or Mediator Source | |||
| This will usually specify the address of the agent responsible | This will usually specify the address of the agent 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, RFC2822.CC | RFC2822.To/.CC Set by: original Originator | |||
| Set by: original Originator | ||||
| These usually contains the original list of Recipient | ||||
| addresses. | ||||
| RFC2821.MailFrom | These usually contain the original list of Recipient addresses. | |||
| Set by: Originator Source or Mediator Source | RFC2821.MailFrom Set by: Originator 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 agent can set it to | |||
| contain a new Notification address. Typically the value is set | contain a new Notification address. Typically the value is set | |||
| to 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 Bounces. | |||
| RFC2821.RcptTo | RFC2821.RcptTo Set by: Mediator Originator | |||
| Set by: Mediator Originator | ||||
| This contains the address of a mailing list member. | This contains the address of a mailing list member. | |||
| RFC2821.Received | RFC2821.Received Set by: Mediator Dest | |||
| Set by: Mediator Dest | ||||
| A Mailing List Agent can record a Received header field, to | A Mailing List Agent can record a Received header field, to | |||
| indicate the transition from original posting to mailing list | indicate the transition from original posting to mailing list | |||
| forwarding. The Agent can choose to have the message retain | forwarding. The Agent 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 | |||
| skipping to change at page 38, line 13 ¶ | skipping to change at page 38, line 5 ¶ | |||
| 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 transforms addresses and/or message content, 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 | RFC2822.From Set by: original Originator | |||
| Set by: original Originator | ||||
| Names and email addresses for the original author(s) of the | Names and email addresses for the original author(s) of the | |||
| message content are retained. As for all original addressing | message content are retained. As for all original addressing | |||
| information in the message, the Gateway 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 | RFC2822.Reply-To Set by: original Originator | |||
| Set by: original Originator | ||||
| The Gateway SHOULD retain this information, if it is originally | The Gateway SHOULD retain this information, if it is originally | |||
| present. The ability to perform a successful reply by a | 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 | RFC2822.Sender Set by: Originator Source or Mediator Source | |||
| Set by: Originator 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, RFC2822.CC, RFC2822.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 | RFC2821.MailFrom Set by: Originator Source or Mediator Source | |||
| Set by: Originator Source or Mediator Source | ||||
| The agent responsible for gatewaying the message can choose to | The agent responsible for gatewaying the message can choose to | |||
| specify a new address to receive handling notices. | specify a new address to receive handling notices. | |||
| RFC2822.Received | RFC2822.Received Set by: Mediator Dest | |||
| 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 original posting to the new messaging | transition from original posting to the new messaging | |||
| environment. | environment. | |||
| 5.5. Boundary Filter | 5.5. Boundary Filter | |||
| Organizations often enforce security boundaries by subjecting | Organizations often enforce security boundaries by subjecting | |||
| messages to analysis, for conformance with the organization's safety | messages to analysis, for conformance with the organization's safety | |||
| policies. An example is detection of content classed as spam or a | policies. An example is detection of content classed as spam or a | |||
| virus. A Filter might alter the content, to render it safe, such as | virus. A Filter might alter the content, to render it safe, such as | |||
| by removing content deemed unacceptable. Typically these actions | by removing content deemed unacceptable. Typically these actions | |||
| will result in the addition of content that records the actions. | will result in the addition of content that records the actions. | |||
| 6. Security Considerations | 6. Considerations | |||
| 6.1. Security Considerations | ||||
| This document does not specify any new Internet Mail functionality. | This document does not specify any new Internet Mail functionality. | |||
| Consequently it is not intended to introduce any security | Consequently it is not intended to introduce any security | |||
| considerations. | considerations. | |||
| However its discussion of the roles and responsibilities for | However its discussion of the roles and responsibilities for | |||
| different mail service modules, and the information they create, | different mail service modules, and the information they create, | |||
| highlights the considerable degree to which security issues are | highlights the considerable degree to which security issues are | |||
| present when implementing any component of the Internet Mail service. | present when implementing any component of the Internet Mail service. | |||
| In addition, email transfer protocols can operate over authenticated | In addition, email transfer protocols can operate over authenticated | |||
| and/or encrypted links, and message content or authorship can be | and/or encrypted links, and message content or authorship can be | |||
| authenticated or encrypted. | authenticated or encrypted. | |||
| 7. IANA Considerations | 6.2. IANA Considerations | |||
| This document has no actions for IANA. | This document has no actions for IANA. | |||
| 8. References | 7. References | |||
| 8.1. Normative | 7.1. Normative | |||
| [RFC0791] Postel, J., "Internet Protocol", 1981 September. | ||||
| [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, | [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, | |||
| RFC 821, August 1982. | RFC 821, August 1982. | |||
| [RFC0822] Crocker, D., "Standard for the format of ARPA Internet | [RFC0822] Crocker, D., "Standard for the format of ARPA Internet | |||
| text messages", STD 11, RFC 822, August 1982. | text messages", STD 11, RFC 822, August 1982. | |||
| [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | |||
| STD 13, RFC 1034, November 1987. | STD 13, RFC 1034, November 1987. | |||
| skipping to change at page 42, line 9 ¶ | skipping to change at page 41, line 38 ¶ | |||
| Internet Mail Extensions (MIME) Part Four: Registration | Internet Mail Extensions (MIME) Part Four: Registration | |||
| Procedures", BCP 13, RFC 4289, December 2005. | Procedures", BCP 13, RFC 4289, December 2005. | |||
| [RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail", | [RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail", | |||
| RFC 4409, April 2006. | RFC 4409, April 2006. | |||
| [RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support | [RFC4550] Maes, S., , S., and Isode Ltd., "Internet Email to Support | |||
| Diverse Service Environments (Lemonade) Profile", | Diverse Service Environments (Lemonade) Profile", | |||
| June 2006. | June 2006. | |||
| 8.2. Descriptive | 7.2. Descriptive | |||
| [ID-spamops] | [ID-spamops] | |||
| Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and | Hutzler, C., Crocker, D., Resnick, P., Sanderson, R., and | |||
| E. Allman, "Email Submission Between Independent | E. Allman, "Email Submission Between Independent | |||
| Networks", draft-spamops-00 (work in progress), | Networks", draft-spamops-00 (work in progress), | |||
| March 2004. | March 2004. | |||
| [RFC1733] Crispin, M., "Distributed Electronic Models in IMAP4", | [RFC1733] Crispin, M., "Distributed Electronic Models in IMAP4", | |||
| December 1994. | December 1994. | |||
| skipping to change at page 42, line 41 ¶ | skipping to change at page 42, line 23 ¶ | |||
| Appendix A. Acknowledgements | Appendix A. Acknowledgements | |||
| This work derives from a section in draft-hutzler-spamops. | This work derives from a section in draft-hutzler-spamops. | |||
| [ID-spamops] Discussion of the Source actor role was greatly | [ID-spamops] Discussion of the Source actor role was greatly | |||
| clarified during discussions in the IETF's Marid working group. | clarified during discussions in the IETF's Marid working group. | |||
| Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful | Graham Klyne, Pete Resnick and Steve Atkins provided thoughtful | |||
| insight on the framework and details of the original drafts. | insight on the framework and details of the original drafts. | |||
| Later reviews and suggestions were provided by Nathaniel Borenstein, | Later reviews and suggestions were provided by Eric Allman, Nathaniel | |||
| Ed Bradford, Cyrus Daboo, Frank Ellermann, Tony Finch, Ned Freed, | Borenstein, Ed Bradford, Cyrus Daboo, Frank Ellermann, Willemien | |||
| Eric Hall, Brad Knowles, John Leslie, Bruce Lilly, Mark E. Mallett, | Hoogendoorn, Tony Finch, Ned Freed, Eric Hall, Brad Knowles, John | |||
| David MacQuigg, Chris Newman, Daryl Odnert, Rahmat M. Samik-Ibrahim, | Leslie, Bruce Valdis Kletnieks, Mark E. Mallett, David MacQuigg, | |||
| Marshall Rose, Hector Santos, Jochen Topf, Willemien Hoogendoorn, | Alexey Melnikov, der Mouse, S. Moonesamy, Chris Newman, Daryl Odnert, | |||
| Valdis Kletnieks. | Rahmat M. Samik-Ibrahim, Marshall Rose, Hector Santos, Jochen Topf, | |||
| Greg Vaudreuil. | ||||
| Diligent proof-reading was performed by Bruce Lilly. | Diligent proof-reading was performed by Bruce Lilly. | |||
| Author's Address | Author's Address | |||
| Dave Crocker | Dave Crocker | |||
| Brandenburg InternetWorking | Brandenburg InternetWorking | |||
| 675 Spruce Drive | 675 Spruce Drive | |||
| Sunnyvale, CA 94086 | Sunnyvale, CA 94086 | |||
| USA | USA | |||
| End of changes. 123 change blocks. | ||||
| 389 lines changed or deleted | 332 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/ | ||||