<?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.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mailmaint-wrong-recipient-01" category="std" consensus="true" submissionType="IETF" updates="8058" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.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-01"/>
    <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="02"/>
    <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">
        <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">
        <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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
x5Gp+D+MpQHKehoAAA==

-->

</rfc>
