﻿<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "RFC2629.dtd"[]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="no"?>
<?rfc toc="yes"?>
<?rfc tocdepth="2"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc inline="yes"?>
<?rfc topblock="yes" ?>
<?rfc autobreaks="yes" ?>

<rfc category="exp" docName="draft-crocker-email-deliveredto-03" ipr="trust200902"
    submissionType="independent">

    <front>
        <title abbrev="react">Delivered-To Email Header Field</title>

        <author fullname="Dave Crocker" initials="D." surname="Crocker" role="editor">
            <organization>Brandenburg InternetWorking</organization>
            <address>
                <email>dcrocker@bbiw.net</email>
            </address>
        </author>



        <date year="2021"/>
        <area>Applications and Real-Time</area>
        <workgroup/>


        <keyword>handling</keyword>
        <keyword>email</keyword>
        <keyword>mhs</keyword>
        <keyword>recipient</keyword>
        <keyword>transport</keyword>
        <keyword>delivery</keyword>
        <keyword>mda</keyword>
        <keyword>mta</keyword>

        <abstract>
            <t>The address to which email is delivered might be different than any of the addresses
                shown in any of the content header fields that were created by the author. The
                address used by the mail transport service is provided separately, through an
                envelope SMTP "RCPT TO" command. Before final delivery, handling can entail a
                sequence of submission/delivery events, using different destination addresses, that
                lead to the recipient. It can be helpful for a message to have a common way to
                record each delivery in such a sequence, and to include each address used for that
                recipient. This specification defines a header field for this information.</t>

            <t>Email handling information is a matter of modifying the email infrastructure and
                possibly creating privacy concerns. A header field such as this is not automatically
                assured of adoption or use. Therefore it is being published as an Experiment,
                looking for constituency and for operational utility.</t>
        </abstract>
    </front>

    <middle>
        <section title="Introduction">
            <t>The address to which email is delivered might be different than any of the addresses
                shown in any of the content header fields <xref target="Mail-Fmt"/> that were
                created by the author's Mail User Agent (MUA) <xref target="Mail-Arch"/>. The
                address used by the Message Handling Service (MHS) is provided separately, through
                an envelope "RCPT TO" command <xref target="SMTP"/>.</t>

            <t>Delivery is the final processing of an envelope address, with a transition of
                responsibility from the MHS, over to an agent responsible for that address (<xref
                    target="Mail-Arch">Section 4.3.3</xref>). After this transition there might be
                further, fresh processing of the message, before reaching a final destination. Each
                transition of responsibility, from the MHS to an agent of the addressee, constitutes
                a delivery. </t>

            <t>Given aliasing, mailing lists, and the like, the transit of a message from its author
                to a final recipient might include a series of submission/delivery events. It can be
                helpful for a message to have a common way of indicating each delivery in the
                handling sequence, and to include each address that led to the final delivery. One
                use can be for detecting a delivery sequence loop.</t>

            <t>Email handling information is a matter of modifying the email infrastructure and
                possibly creating privacy concerns. A header field such as this is not automatically
                assured of adoption or use. Therefore it is being published as an Experiment,
                looking for constituency and for operational utility.</t>

        </section>

        <section title="Framework &amp; Terminology">
            <t>Unless otherwise indicated, basic architecture and terminology used in this
                specification are taken from:<list style="symbols">
                    <t><xref target="Mail-Arch"/></t>
                    <t><xref target="SMTP"/></t>
                    <t><xref target="Mail-Fmt"/></t>
                </list> and syntax is specified with: <list style="symbols">
                    <t><xref target="ABNF"/></t>
                </list></t>

            <t>Normative language, per <xref target="RFC8174"/>: <list>
                    <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
                        "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in
                        this document are to be interpreted as described in BCP 14 [RFC2119]
                        [RFC8174] when, and only when, they appear in all capitals, as shown
                        here.</t>
                </list></t>

            <t>RFC EDITOR: Remove before publication: <list>
                    <t>Discussion of this draft is best conducted in the <eref
                            target="mailto:ietf-smtp@ietf.org">ietf-smtp@ietf.org</eref> mailing
                        list.</t>
                </list></t>


        </section>

        <section title="Delivered-To:">
            <t>This specification defines the "Delivered-To" header field, for annotating a delivery
                event and the individual address to which delivery has been effected. <list
                    style="symbols">
                    <t>A sequence of deliveries, such as when a message goes through multiple
                        mailing lists, SHOULD be recorded with a series of Delivered-To: header
                        fields</t>
                    <t>As with some other information, each additional Delivered-To: header field
                        MUST be placed at the current 'top' of the message -- as the first header
                        field, in a fashion similar to the trace fields specified in <xref
                            target="SMTP"/>, such as in Section 4.1.1.4</t>
                    <t>As with other fields placed at the current top, the Delivered-To header field
                        MUST NOT be reordered, with respect to other Delivered-to fields AND those
                        other fields</t>
                </list></t>


            <t>The Delivered-To: header field is added at the time of delivery, when responsibility
                for a message transitions from the Message Handling (Transport) Service (MHS) to an
                agent of the specified individual recipient address. The header field contains the
                individual address used to determine the immediate location for that
                    transition.<list style="hanging">
                    <t hangText="Note:  ">The presence of an existing Delivered-To: header field,
                        for the same Mailbox, is indicative of a handling loop.</t>
                </list></t>

            <t>Syntax of the header field is: <figure>
                    <artwork type="ABNF">"Delivered-To:" FWS Mailbox CRLF
                 ; Mailbox is from [SMTP]</artwork>
                </figure><list style="hanging">
                    <t hangText="Note:  ">The field records only a single address, for one
                        recipient. See <xref target="Security"/> for the privacy-related concerns
                        about divulging addresses.</t>
                </list></t>
        </section>


        <section title="Multi-hop Example">
            <t>The Delivered-To: header field can indicate a sequence of deliveries, as demonstrated
                by this example, which has a message traveling through a mailing list, on through an
                alias, and then reaching final delivery:<list style="numbers">
                    <t>Origination @ example.com</t>
                    <t>List @ example.org<figure>
                            <artwork><![CDATA[Delivered-To: list@example.org
Received: by submit.example.org with SMTP id i17so17480689ljn.1
   for <list@example.org>; Mon, 25 Jan 2021 15:29:19 -0800 (PST)
From: Ann Author <aauthor@example.com>
Date: Mon, 25 Jan 2021 18:29:06 -0500
To: list@example.org
Subject: [list] Sending through a list and alias
Sender: Ann Author <aauthor@example.com>]]></artwork>
                        </figure></t>
                    <t>Alias @ example.edu<figure>
                            <artwork><![CDATA[Delivered-To: Recipient-alumn@example.edu
Received: from mail.example.org
   by relay.example.edu; Mon, 25 Jan 2021 23:29:24 +0000 (UTC)
Delivered-To: list@example.org
Received: by submit.example.org with SMTP id i17so17480689ljn.1
   for <list@example.org>; Mon, 25 Jan 2021 15:29:19 -0800 (PST)
From: Ann Author <aauthor@example.com>
Date: Mon, 25 Jan 2021 18:29:06 -0500
To: list@example.org
Subject: [list] Sending through a list and alias
Sender: list-bounces@example.org]]></artwork>
                        </figure></t>
                    <t>Delivery @ example.net<figure>
                            <artwork><![CDATA[Delivered-To: theRecipient@example.net
Received: from mail.example.edu (mail.example.edu [4.31.198.45])
   by relay.example.net; Mon, 25 Jan 2021 23:29:24 +0000 (UTC)
Delivered-To: Recipient-alumn@example.edu
Received: from mail.example.org
   by relay.example.edu; Mon, 25 Jan 2021 23:29:24 +0000 (UTC)
Delivered-To: list@example.org
Received: by submit.example.org with SMTP id i17so17480689ljn.1
   for <list@example.org>; Mon, 25 Jan 2021 15:29:19 -0800 (PST)
From: Ann Author <aauthor@example.com>
Date: Mon, 25 Jan 2021 18:29:06 -0500
To: list@example.org
Subject: [list] Sending through a list and alias
Sender: list-bounces@example.org]]></artwork>
                        </figure></t>

                </list></t>
        </section>

        <section title="Security Considerations" anchor="Security">
            <t>As with Received header-fields, their presence in a message discloses handling
                information and, possibly, personal information.</t>

            <t>In some email implementations, a message that is for multiple (local) recipients has
                a single stored version. Supporting Delivered-To:, while maintaining recipient
                privacy, creates a challenge. However, exposing different mailbox addresses to other
                recipients MUST NOT occur.</t>

            <t>An issue specific to this mechanism is disclosure of a sequence of addresses, if a
                message goes through a series of recipient envelope address modifications. The
                specification calls for each of these addresses to be recorded in separate
                Delivered-To: fields. This does not disclose addresses of other recipients, but it
                does disclose a address-transformation handling path for the recipient.</t>
        </section>

        <section title="IANA Considerations">
            <t>Registration of the "Delivered-To" header field is requested, per <xref
                    target="RFC3864"/>: <list>
                    <t><list style="hanging">
                            <t hangText="Header field name:  "> Delivered-To</t>

                            <t hangText=" Applicable protocol:  "> mail</t>

                            <t hangText="Status:  ">Provisional</t>

                            <t hangText="Author/Change controller:  ">Dave Crocker</t>

                            <t hangText="Specification document(s):  "> *** This document ***</t>

                            <t hangText="Related information:  ">None.</t>
                        </list></t>
                </list>
            </t>
        </section>

        <section title="Experimental Goals">
            <t>Specific feedback is sought concerning:<list style="symbols">
                    <t>Technical issues in recording the Delivered-To field into a message, through
                        its entire submission/delivery seuence</t>
                    <t>Market interest</t>
                    <t>Utility</t>
                </list> So the questions to answer for this Experimental specification are:<list
                    style="symbols">
                    <t>Is there demonstrated interest by MTA/MSA developers?</t>
                    <t>If the capability is implemented and the header field generated, is it used
                        by operators or MUAs?</t>
                    <t>Does the presence of the header field create any operational problems?</t>
                    <t>Does the presence of the header field demonstrate additional security
                        issues?</t>
                    <t>What specific changes to the specification are needed?</t>
                    <t>What other comments will aid in use of this mechanism?</t>
                </list>Please send comments to ietf-smtp@ietf.org.</t>
        </section>

    </middle>

    <back>

        <references title="Normative References">

            <!--<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
                <front>
                    <title> Key words for use in RFCs to Indicate Requirement Levels </title>
                    <author initials="S." surname="Bradner" fullname="S. Bradner">
                        <organization/>
                    </author>
                    <date year="1997" month="March"/>
                    <abstract>
                        <t> In many standards track documents several words are used to signify the
                            requirements in the specification. These words are often capitalized.
                            This document defines these words as they should be interpreted in IETF
                            documents. This document specifies an Internet Best Current Practices
                            for the Internet Community, and requests discussion and suggestions for
                            improvements. </t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="14"/>
                <seriesInfo name="RFC" value="2119"/>
                <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            </reference>-->

            <reference anchor="ABNF">
                <front>
                    <title>Augmented BNF for Syntax Specifications: ABNF</title>
                    <author fullname="D. Crocker" initials="D." surname="Crocker">
                        <organization>Brandenburg InternetWorking</organization>
                    </author>
                    <author surname="Overell" initials="P." fullname="P. Overell">
                        <organization>THUS plc</organization>
                    </author>
                    <date year="2008" month="January"/>
                </front>
                <seriesInfo name="RFC" value="5234"/>
            </reference>

            <!--            <reference anchor="Emoji-List">
                <front>
                    <title>Full Emoji List, v13.0</title>
                    <author>
                        <organization>Unicode Consortium</organization>
                        <address>
                            <phone>+1-408-401-8915</phone>
                            <uri>https://home.unicode.org/</uri>
                        </address>

                    </author>
                    <date/>
                </front>
                <seriesInfo name="WEB" value="https://unicode.org/emoji/charts/full-emoji-list.html"
                />
            </reference>-->



            <reference anchor="Mail-Fmt">
                <front>
                    <title>Internet Message Format</title>

                    <author fullname="Peter W.  Resnick" initials="P." role="editor"
                        surname="Resnick">
                        <organization> Qualcomm Incorporated </organization>
                    </author>

                    <date month="October" year="2008"/>
                </front>

                <seriesInfo name="RFC" value="5322"/>
            </reference>

            <reference anchor="Mail-Arch">
                <front>
                    <title>Internet Mail Architecture</title>
                    <author fullname="D. Crocker" initials="D." surname="Crocker">
                        <organization>Brandenburg InternetWorking</organization>
                    </author>
                    <date year="2009" month="July"/>
                </front>
                <seriesInfo name="RFC" value="5598"/>
            </reference>

            <!--           <reference anchor="Mail-Hdrs">
                <front>
                    <title>Common Internet Message Headers</title>
                    <author fullname="J. Palme" initials="J." surname="Palme">
                        <organization>Stockholm University/KTH</organization>
                    </author>
                    <date month="February" year="1997"/>
                </front>
                <seriesInfo name="RFC" value="2076"/>
            </reference>-->

            <!--<reference anchor="MIME">
                <front>
                    <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet
                        Message Bodies</title>
                    <author fullname="N. Freed" initials="N." surname="Freed">
                        <organization>Innosoft</organization>
                    </author>
                    <author fullname="N. Borenstein" initials="N." surname="Borenstein">
                        <organization>First Virtual</organization>
                    </author>
                    <date month="November" year="1996"/>
                </front>
                <seriesInfo name="RFC" value="2045"/>
            </reference>-->

            <!--<reference anchor="MIME-Enc">
                <front>
                    <title>MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header
                        Extensions for Non-ASCII Text</title>
                    <author fullname="K. Moore" initials="K." surname="Moore">
                        <organization>University of Tennessee</organization>
                    </author>
                    <date month="November" year="1996"/>
                </front>
                <seriesInfo name="RFC" value="2047"/>
            </reference>-->

            <!--            <reference anchor="IANA">
                <front>
                    <title>Guidelines for Writing an IANA Considerations Section
                        in RFCs</title>
                    <author fullname="M. Cotton" initials="" surname="M. Cotton"/>
                    <author fullname="B. Leiba" initials="" surname="B. Leiba"/>
                    <author fullname="T. Narten" initials="" surname="T. Narten"/>
                    <date year="2017"/>
                </front>
                <seriesInfo name="I-D"
                    value="draft-leiba-cotton-iana-5226bis-11"/>
            </reference>-->

            <reference anchor="RFC3864" target="https://www.rfc-editor.org/info/rfc3864">
                <front>
                    <title>Registration Procedures for Message Header Fields</title>
                    <author initials="G." surname="Klyne" fullname="G. Klyne">
                        <organization/>
                    </author>
                    <author initials="M." surname="Nottingham" fullname="M. Nottingham">
                        <organization/>
                    </author>
                    <author initials="J." surname="Mogul" fullname="J. Mogul">
                        <organization/>
                    </author>
                    <date year="2004" month="September"/>
                    <abstract>
                        <t> This specification defines registration procedures for the message
                            header fields used by Internet mail, HTTP, Netnews and other
                            applications. This document specifies an Internet Best Current Practices
                            for the Internet Community, and requests discussion and suggestions for
                            improvements. </t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="90"/>
                <seriesInfo name="RFC" value="3864"/>
                <seriesInfo name="DOI" value="10.17487/RFC3864"/>
            </reference>
            <reference anchor="SMTP" target="https://www.rfc-editor.org/info/rfc5321">
                <front>
                    <title>Simple Mail Transfer Protocol</title>
                    <author initials="J." surname="Klensin" fullname="J. Klensin">
                        <organization/>
                    </author>
                    <date year="2008" month="October"/>
                    <abstract>
                        <t> This document is a specification of the basic protocol for Internet
                            electronic mail transport. It consolidates, updates, and clarifies
                            several previous documents, making all or parts of most of them
                            obsolete. It covers the SMTP extension mechanisms and best practices for
                            the contemporary Internet, but does not provide details about particular
                            extensions. Although SMTP was designed as a mail transport and delivery
                            protocol, this specification also contains information that is important
                            to its use as a "mail submission" protocol for "split-UA" (User Agent)
                            mail reading systems and mobile environments. [STANDARDS-TRACK] </t>
                    </abstract>
                </front>
                <seriesInfo name="RFC" value="5321"/>
                <seriesInfo name="DOI" value="10.17487/RFC5321"/>
            </reference>

            <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
                <front>
                    <title> Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words </title>
                    <author initials="B." surname="Leiba" fullname="B. Leiba">
                        <organization/>
                    </author>
                    <date year="2017" month="May"/>
                    <abstract>
                        <t> RFC 2119 specifies common key words that may be used in protocol
                            specifications. This document aims to reduce the ambiguity by clarifying
                            that only UPPERCASE usage of the key words have the defined special
                            meanings. </t>
                    </abstract>
                </front>
                <seriesInfo name="BCP" value="14"/>
                <seriesInfo name="RFC" value="8174"/>
                <seriesInfo name="DOI" value="10.17487/RFC8174"/>
            </reference>

        </references>

        <!--<references title="Informative References">


        </references>-->

        <section title="Acknowledgements">
            <t>This specification was engendered by discussions in the IETF's emailcore working
                group, although the result was outside the scope of its charter. </t>
            <t>Helpful comments were provided by Ned Freed, Barry Leiba, John Levine, Brandon Long,
                Michael Peddemors, Phil Pennock, Alessandro Vesely.</t>
        </section>

    </back>

</rfc>
