<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.4.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mailmaint-wrong-recipient-02" category="std" consensus="true" submissionType="IETF" updates="8058" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="Wrong Recipient">Adding a Wrong Recipient URL for Handling Misdirected Emails</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mailmaint-wrong-recipient-02"/>
    <author fullname="David Weekly">
      <organization/>
      <address>
        <postal>
          <city>Redwood City</city>
          <region>CA</region>
          <country>US</country>
        </postal>
        <email>david@weekly.org</email>
      </address>
    </author>
    <author fullname="John Levine">
      <organization/>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>standards@standcore.com</email>
      </address>
    </author>
    <date year="2025" month="February" day="22"/>
    <area>ART</area>
    <workgroup>MAILMAINT</workgroup>
    <keyword>email</keyword>
    <abstract>
      <?line 43?>

<t>This document describes a mechanism for an email recipient to indicate to a
sender that they are not the intended recipient.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dweekly.github.io/ietf-wrong-recipient/draft-ietf-mailmaint-wrong-recipient.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-mailmaint-wrong-recipient/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        MAILMAINT Working Group mailing list (<eref target="mailto:mailmaint@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mailmaint/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mailmaint/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dweekly/ietf-wrong-recipient"/>.</t>
    </note>
  </front>
  <middle>
    <?line 48?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Many users with common names and/or short email addresses receive
transactional emails from service providers intended for others. These
emails can't be unsubscribed (as they are transactional) but neither are
they spam. These emails commonly are from a noreply@ email address; there
is no standards-based mechanism to report a "wrong recipient" to the
sender. Doing so is in the interest of all three involved parties: the
inadvertent recipient (who does not want the email), the sender (who wants
to be able to reach their customer and who does not want the liability of
transmitting PII to a third party), and the intended recipient.</t>
      <t>This document proposes a structured mechanism for the reporting of such
misdirected email via HTTPS POST, updating
the List-Unsubscribe-Post mechanism of <xref target="RFC8058"/>.</t>
    </section>
    <section anchor="proposal">
      <name>Proposal</name>
      <t>There ought be a mechanism whereby a service can indicate
it has an endpoint to indicate a "wrong recipient" of an email. If this
header field is present in an email message, the user can select an option to
indicate that they are not the intended recipient.</t>
      <t>Updating the one-click unsubscription <xref target="RFC8058"/>, the mail service can
perform this action in the background as an HTTPS POST to the provided
URL without requiring the user's further attention to the matter.</t>
      <t>Since it's possible the user may have a separate valid account with the
sending service, it may be important that the sender be able to tie
<em>which</em> email was sent to the wrong recipient. For this reason, the
sender may also include an opaque blob in the header field to specify the
account ID referenced in the email; this is included in the POST.</t>
      <t>Note that this kind of misdelivery shouldn't be possible if a service
has previously verified the user's email address for the account.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="high-level-goals">
      <name>High-Level Goals</name>
      <t>Allow a recipient to stop receiving emails intended for someone else.</t>
      <t>Allow a service to discover when they have the wrong email for a user.</t>
    </section>
    <section anchor="out-of-scope">
      <name>Out of Scope</name>
      <t>This document does not propose a mechanism for automatically discovering
whether a given user is the correct recipient of an email, though it is
possible to use some of the signals in an email, such as the intended
recipient name, to infer a possible mismatch between actual and intended
recipients.</t>
    </section>
    <section anchor="implementation">
      <name>Implementation</name>
      <section anchor="mail-senders-when-sending">
        <name>Mail Senders When Sending</name>
        <t>Mail Senders that wish to be notified when a misdelivery has occurred
<bcp14>SHOULD</bcp14> include a List-Unsubscribe: header field <xref target="RFC2369"/> and a
List-Unsubscribe-Post: header containing
"Wrong-Recipient=One-Click".</t>
        <t>The sender <bcp14>MUST</bcp14> encode a mapping to the underlying account identifier
in the List-Unsubscribe: URI as described in Section 3.1 of <xref target="RFC8058"/>.</t>
      </section>
      <section anchor="mail-recipients">
        <name>Mail Recipients</name>
        <t>When a mail client receives an email that includes a Wrong-Recipient
header field, an option <bcp14>SHOULD</bcp14> be exposed in the user interface that allows
a recipient to indicate that the mail was intended for another user, if
the email is reasonably assured to not be spam.</t>
        <t>If the user selects this option, the mail client performs an
HTTPS POST to the first https URI in the List-Unsubscribe header field
as described in section 3.2 of <xref target="RFC8058"/>.</t>
        <t>The POST body <bcp14>MUST</bcp14> include only "Wrong-Recipient=One-Click".</t>
      </section>
      <section anchor="mail-senders-after-wrong-sender-notification">
        <name>Mail Senders After Wrong Sender Notification</name>
        <t>When a misdelivery has been indicated by a POST to the HTTPS URI or
email to the given mailto: URI, the sender <bcp14>MUST</bcp14> make a reasonable effort
to cease emails to the indicated email address for that user account.</t>
        <t>The sender <bcp14>SHOULD</bcp14> make a best effort to attempt to discern a correct
email address for the user account, such as by using a different known
email address for that user, postal mail, text message, phone call,
app push, or presenting a notification in the user interface of the
service. How the sender should accomplish this task is not part of
this specification.</t>
      </section>
    </section>
    <section anchor="additional-requirements">
      <name>Additional Requirements</name>
      <t>The email needs at least one valid authentication identifier, as
described in Section 4 of <xref target="RFC8058"/>.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="signed-https-uri">
        <name>Signed HTTPS URI</name>
        <t>Header fields in Email:</t>
        <artwork><![CDATA[
List-Unsubscribe: <https://example.com/wrongrecip/uid12345/siga29c83d>
List-Unsubscribe-Post: Wrong-Recipient=One-Click
]]></artwork>
        <t>Resulting POST request:</t>
        <artwork><![CDATA[
POST /wrongrecip/uid12345/siga29c83 HTTP/1.1
Host: example.com
Content-Length: 25

Wrong-Recipient=One-Click
]]></artwork>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The considerations are similar to those in Section 6 of <xref target="RFC8058"/>.</t>
      <t>A bad actor with access to the user's email could maliciously
indicate the recipient was a Wrong Recipient with any services that
used this protocol, causing mail delivery and potentially account
access difficulties for the user.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no requests to IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2369">
        <front>
          <title>The Use of URLs as Meta-Syntax for Core Mail List Commands and their Transport through Message Header Fields</title>
          <author fullname="G. Neufeld" initials="G." surname="Neufeld"/>
          <author fullname="J. Baer" initials="J." surname="Baer"/>
          <date month="July" year="1998"/>
          <abstract>
            <t>The mailing list command specification header fields are a set of structured fields to be added to email messages sent by email distribution lists. By including these header fields, list servers can make it possible for mail clients to provide automated tools for users to perform list functions. This could take the form of a menu item, push button, or other user interface element. The intent is to simplify the user experience, providing a common interface to the often cryptic and varied mailing list manager commands. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2369"/>
        <seriesInfo name="DOI" value="10.17487/RFC2369"/>
      </reference>
      <reference anchor="RFC8058">
        <front>
          <title>Signaling One-Click Functionality for List Email Headers</title>
          <author fullname="J. Levine" initials="J." surname="Levine"/>
          <author fullname="T. Herkula" initials="T." surname="Herkula"/>
          <date month="January" year="2017"/>
          <abstract>
            <t>This document describes a method for signaling a one-click function for the List-Unsubscribe email header field. The need for this arises out of the actuality that mail software sometimes fetches URLs in mail header fields, and thereby accidentally triggers unsubscriptions in the case of the List-Unsubscribe header field.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8058"/>
        <seriesInfo name="DOI" value="10.17487/RFC8058"/>
      </reference>
      <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <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="RFC8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <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>
    <?line 195?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to John Levine for helping shepherd this document as well
as Oliver Deighton and Murray Kucherawy for their kind and actionable
feedback on the language and first draft of the proposal. Thanks to
Eliot Lear for helping guide the draft to the right hands for review.
A detailed review by Jim Fenton was much appreciated and caught a number
of key issues. Many thanks to the members of IETF ART for vigorous
discussion thereof and for feedback from the MAILMAINT working group.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
jyNT8X93fq9tehoAAA==

-->

</rfc>
