<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
]>
<?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-04" 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-04"/>
    <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>
    <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>
        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
	   should 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 should 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 must make a reasonable effort
to cease emails to the indicated email address for that user account.
Since it is possible that the same address is associated with a different valid
account, the sender should not simply block all mail to that address.
	</t>
        <t>The sender should 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 anchor="header-syntax">
        <name>Header syntax</name>
        <t>The ABNF grammar in Section 5 of <xref target="RFC8058"/> is augmented as follows:</t>
        <artwork><![CDATA[
postarg =/ "Wrong-Recipient=One-Click"
]]></artwork>
      </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/uid1234/sig29c83d>
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 malicious 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>
   <t>A malicious actor might probe to guess where a recipient has an account, for example by
      sending multiple messages pretending to be from different banks, and seeing if the recipient
      marks all but one of them "wrong recipient".</t>
   <t>Note that the "wrong recipient" signal does not necessarily mean that the address belongs
      to a real person.
      It could have belonged to a user who has died, or be a trap that has never belonged to
      a person and mechanically triggers unubscribe or wrong recipient links.
      </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 201?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to 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>

</rfc>
