<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tishkin-hmtp-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="HMTP">HTTP Mail Transfer Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-tishkin-hmtp-01"/>
    <author initials="D." surname="Tishkin" fullname="Dmitrii Tishkin">
      <organization>Independent</organization>
      <address>
        <email>hello@dmi03.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="17"/>
    <area>ART</area>
    <keyword>email</keyword>
    <keyword>mail submission</keyword>
    <keyword>HTTP</keyword>
    <keyword>REST</keyword>
    <abstract>
      <?line 115?>

<t>This document specifies the HTTP Mail Transfer Protocol (HMTP), a
protocol for the submission and transfer of Internet mail over HTTPS.
HMTP retains what SMTP and the mail system built around it have
proven, namely the Internet Message Format, the separation of envelope
and message, and the semantics of delivery and delivery status
notifications, and adds what SMTP provides only through optional
extensions or not at all.  Security is built in: transport encryption is
mandatory, and every transfer request is signed on behalf of the sending
domain, using keys published with the DomainKeys Identified Mail (DKIM)
key publication mechanism.  Requests carry identifiers that make retries
safe, failures are reported per recipient as structured problem details
with a mapping to SMTP status codes, and extensions are
declared explicitly as capabilities.  Messages are carried unmodified
inside a JSON envelope, and large messages and attachments can be
transferred by reference, with their integrity protected by
cryptographic hashes.  Servers discover HMTP endpoints through DNS and
a well-known URI, and a domain can publish a policy that prevents
downgrade to SMTP.  HMTP does not depend on SMTP, but an implementation
can optionally fall back to SMTP when a peer does not support HMTP, so
that it can be deployed incrementally alongside existing systems.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-tishkin-hmtp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dmi03/draft-tishkin-hmtp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 138?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Simple Mail Transfer Protocol (SMTP) <xref target="RFC5321"/> has carried
Internet mail for several decades and remains the only widely
deployed protocol for transferring messages between mail servers.
Message submission by clients <xref target="RFC6409"/> uses the same protocol.
Over time, a number of mechanisms have been layered on top of SMTP
to address requirements that did not exist when it was designed:
opportunistic encryption with STARTTLS <xref target="RFC3207"/>, sender
authorization with SPF <xref target="RFC7208"/>, message signing with DKIM
<xref target="RFC6376"/>, policy alignment with DMARC <xref target="RFC7489"/>, and
downgrade protection with MTA-STS <xref target="RFC8461"/> and DANE <xref target="RFC7672"/>.
Each of these mechanisms is useful, but together they form a complex
system that is difficult to deploy and operate correctly.</t>
      <t>This document takes a different approach.  Instead of adding another
mechanism on top of SMTP, it defines a new protocol that keeps what has
proven itself in Internet mail and builds the rest on HTTPS.  The
message format, the separation of envelope and message, and the
semantics of delivery and delivery status notifications are taken from
SMTP, so that HMTP and SMTP can coexist and a message can pass through
both.  Security is part of the base protocol rather than a set of
optional extensions: transport encryption is mandatory, and every
request is authenticated.  In addition, HMTP provides functionality that
SMTP lacks, such as request identifiers that make retries safe,
explicitly declared extensions, structured per-recipient errors, and the
transfer of large content by reference.</t>
      <section anchor="problem-statement">
        <name>Problem Statement</name>
        <t>This document is motivated by the following properties of SMTP-based
mail transfer:</t>
        <dl>
          <dt>Optional transport security:</dt>
          <dd>
            <t>STARTTLS is negotiated in plaintext and can be removed by an active
attacker.  Certificate validation is frequently not performed.
Additional mechanisms such as MTA-STS and DANE are required to
prevent downgrade attacks, and they are not universally deployed.</t>
          </dd>
          <dt>Limited error reporting:</dt>
          <dd>
            <t>SMTP reply codes <xref target="RFC5321"/> and enhanced status codes <xref target="RFC3463"/>,
accompanied by free-form text, provide limited structured
information about why a message was rejected, which makes automated
handling of failures difficult.</t>
          </dd>
          <dt>Inefficient transfer of large content:</dt>
          <dd>
            <t>All content, including large attachments, is transferred inline
within the message.  The same content is transferred again for
every receiving domain, and there is no standard way to refer to
content stored elsewhere with integrity protection.</t>
          </dd>
          <dt>Separate authentication mechanisms:</dt>
          <dd>
            <t>Sender authentication relies on several independent mechanisms
(SPF, DKIM, and DMARC) that are evaluated separately and can give
conflicting results.</t>
          </dd>
          <dt>No protection against duplicate delivery:</dt>
          <dd>
            <t>If the connection is lost after a server has accepted a message
but before the client has received the reply, the client cannot
tell whether the message was accepted.  Retrying the transaction
can result in the message being delivered twice.</t>
          </dd>
          <dt>No standard HTTP interface:</dt>
          <dd>
            <t>Applications increasingly submit mail through HTTP APIs offered by
individual products and services.  These APIs are proprietary and
mutually incompatible, and none of them can be used to transfer mail
between independent domains.</t>
          </dd>
        </dl>
      </section>
      <section anchor="overview-of-hmtp">
        <name>Overview of HMTP</name>
        <t>HMTP uses HTTP <xref target="RFC9110"/> over TLS as its transport and a JSON
<xref target="RFC8259"/> envelope to carry delivery information.  Its main
properties are:</t>
        <ul spacing="normal">
          <li>
            <t>Transport security is mandatory.  HMTP is only defined over HTTPS
with certificate validation, so no plaintext mode exists and no
downgrade is possible within the protocol.  A domain can
additionally publish a policy that prevents senders from falling
back to SMTP.</t>
          </li>
          <li>
            <t>The message itself is not changed.  Messages are carried in the
Internet Message Format <xref target="RFC5322"/> with MIME <xref target="RFC2045"/> exactly
as produced by the sender.  Servers only prepend trace header
fields, as SMTP servers do.  Existing DKIM signatures and
end-to-end protection such as OpenPGP <xref target="RFC9580"/> or S/MIME
<xref target="RFC8551"/> therefore remain valid.</t>
          </li>
          <li>
            <t>The envelope is separate from the message.  As in SMTP, the
envelope sender and recipients are distinct from the header fields
of the message, which preserves the semantics of blind carbon
copies, mailing lists, and forwarding.</t>
          </li>
          <li>
            <t>Senders are identified by domain.  Each request is signed using
HTTP Message Signatures <xref target="RFC9421"/> together with Digest Fields
<xref target="RFC9530"/>, with keys published in DNS in the same way as DKIM
keys.</t>
          </li>
          <li>
            <t>Content may be transferred by reference.  A message, or any part of it
such as an attachment, may be provided as a URL together with its size
and cryptographic hash.  The receiving server retrieves such content
directly from where it is stored, either before it responds or after
it has accepted the message, so that large content does not have to be
carried in every request.</t>
          </li>
          <li>
            <t>Requests are idempotent.  Each request carries an identifier that
allows the receiving server to recognize a retried request and
avoid delivering the same message twice.</t>
          </li>
          <li>
            <t>Endpoints are discovered through DNS.  A single SVCB <xref target="RFC9460"/>
record identifies the HMTP endpoint of a domain, and a well-known
URI <xref target="RFC8615"/> describes the capabilities of the server.</t>
          </li>
          <li>
            <t>Errors are structured.  Failures are reported using Problem Details
for HTTP APIs <xref target="RFC9457"/>, with a defined mapping to SMTP enhanced
status codes.  The result is reported separately for each recipient.
Delivery status notifications can optionally be sent as JSON reports
to the domain of the sender instead of as DSN messages.</t>
          </li>
          <li>
            <t>The protocol is extensible.  Servers advertise optional extensions,
called capabilities, in the Capabilities Document, and requests
indicate the capabilities they use, so that new functionality can be
added without changing the base protocol.</t>
          </li>
          <li>
            <t>HMTP coexists with SMTP.  HMTP is a complete protocol on its own and
does not depend on SMTP, but the two can be combined freely: the
protocol is chosen separately for each hop, so a server can receive a
message with one protocol and forward it with the other.  An
implementation can also deliver messages using SMTP when a receiving
domain does not publish an HMTP endpoint.  Because the message is
carried unmodified, no conversion is needed, provided that the SMTP
server supports the SMTP extensions that the message requires.</t>
          </li>
        </ul>
        <t>HMTP defines two roles: submission, in which a client hands a message
to its mail service, and transfer, in which one mail server delivers
a message to another.  Both use the same data model.  Clients
authenticate to their submission server using HTTP authentication.
Basic authentication <xref target="RFC7617"/> provides compatibility with existing
SMTP AUTH credentials, and bearer tokens <xref target="RFC6750"/> obtained through
OAuth 2.0 <xref target="RFC6749"/> are supported for deployments that require
stronger authentication.</t>
      </section>
      <section anchor="relationship-to-smtp">
        <name>Relationship to SMTP</name>
        <t>HMTP is not an extension or a revision of SMTP and does not update
<xref target="RFC5321"/>.  It is also more than a new transport for the SMTP mail
model.  HMTP takes from SMTP the parts on which the rest of the mail
system depends and redesigns the protocol around them, with security and
extensibility built in.  <xref target="tab-smtp"/> lists the main SMTP concepts and
their HMTP counterparts.</t>
        <table anchor="tab-smtp">
          <name>SMTP Concepts and Their Counterparts in HMTP</name>
          <thead>
            <tr>
              <th align="left">SMTP</th>
              <th align="left">HMTP</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">MX records</td>
              <td align="left">SVCB record at <tt>_hmtp.&lt;domain&gt;</tt></td>
            </tr>
            <tr>
              <td align="left">EHLO and extension keywords</td>
              <td align="left">Capabilities Document and capabilities</td>
            </tr>
            <tr>
              <td align="left">STARTTLS, optional</td>
              <td align="left">HTTPS, mandatory</td>
            </tr>
            <tr>
              <td align="left">Ports 25 and 587</td>
              <td align="left">Port 443 by default</td>
            </tr>
            <tr>
              <td align="left">SMTP AUTH</td>
              <td align="left">HTTP authentication</td>
            </tr>
            <tr>
              <td align="left">MAIL FROM</td>
              <td align="left">Envelope member "from"</td>
            </tr>
            <tr>
              <td align="left">RCPT TO</td>
              <td align="left">Envelope member "to"</td>
            </tr>
            <tr>
              <td align="left">BODY, SMTPUTF8, REQUIRETLS</td>
              <td align="left">"body", "smtpUtf8", "requireTls"</td>
            </tr>
            <tr>
              <td align="left">DSN parameters</td>
              <td align="left">Envelope member "dsn"</td>
            </tr>
            <tr>
              <td align="left">DATA and BDAT</td>
              <td align="left">"message", inline or by reference</td>
            </tr>
            <tr>
              <td align="left">SIZE</td>
              <td align="left">Limit "maxMessageSize"</td>
            </tr>
            <tr>
              <td align="left">PIPELINING</td>
              <td align="left">Concurrent requests over HTTP/2 or HTTP/3</td>
            </tr>
            <tr>
              <td align="left">Reply and enhanced status codes</td>
              <td align="left">Problem details, "smtpStatus"</td>
            </tr>
            <tr>
              <td align="left">Successful reply to DATA</td>
              <td align="left">Result "accepted" for a recipient</td>
            </tr>
            <tr>
              <td align="left">Received field "with ESMTP"</td>
              <td align="left">Received field "with HMTP"</td>
            </tr>
            <tr>
              <td align="left">DSN messages</td>
              <td align="left">DSN messages or delivery status reports</td>
            </tr>
          </tbody>
        </table>
        <t>The counterparts are specified in <xref target="dns-record"/>,
<xref target="capabilities-document"/>, <xref target="capabilities"/>, <xref target="signing"/>,
<xref target="client-authentication"/>, <xref target="envelope"/>, <xref target="content-object"/>,
<xref target="problem-details"/>, <xref target="transfer-response"/>, <xref target="trace"/>, and <xref target="reports"/>.</t>
        <t>The following parts of the mail system are the same for both protocols:
the Internet Message Format, DKIM and DMARC evaluation of the message,
the meaning of accepting responsibility for a message, delivery status
notifications, and enhanced status codes.  This is what allows a message
to travel over a path that combines HMTP and SMTP hops without
conversion (<xref target="coexistence"/>).</t>
        <t>In addition, HMTP provides the following, which SMTP offers only through
optional extensions or not at all:</t>
        <ul spacing="normal">
          <li>
            <t>Security by default.  TLS with certificate validation is mandatory,
every transfer request is authenticated by the Sending Domain, and a
domain can prevent downgrade to SMTP.  In SMTP, the corresponding
functions are provided by STARTTLS, SPF, DKIM, DMARC, MTA-STS, and
DANE, each of which is deployed separately.</t>
          </li>
          <li>
            <t>Request identifiers.  A Transfer Identifier in every request prevents
duplicate delivery when the request is retried (<xref target="idempotency"/>).</t>
          </li>
          <li>
            <t>Declared extensions.  Capabilities are advertised with their
parameters in the Capabilities Document, are listed in the requests
that depend on them, and are either registered with IANA or named by
URIs (<xref target="capabilities"/>).</t>
          </li>
          <li>
            <t>Structured errors.  Each failure is reported per recipient as a
problem details object with a registered type (<xref target="problem-details"/>).</t>
          </li>
          <li>
            <t>Content by reference.  Large messages and attachments do not have to
be carried in every request (<xref target="content-object"/>).</t>
          </li>
        </ul>
        <t>HMTP does not provide the line-oriented, interactive dialogue of SMTP;
each request carries a complete transaction.</t>
      </section>
      <section anchor="relationship-to-other-work">
        <name>Relationship to Other Work</name>
        <t>The JSON Meta Application Protocol (JMAP) <xref target="RFC8620"/> <xref target="RFC8621"/>
provides HTTP-based access to mailboxes and supports message
submission, but it does not define transfer of messages between
mail servers.  HMTP is complementary: a JMAP server can use HMTP to
deliver submitted messages to other domains.</t>
        <t>Some mail transfer agents provide HTTP APIs for injecting messages.
For example, the Halon MTA accepts a multipart HTTP request that
carries a JSON object with the envelope sender and recipients
together with the message in Internet Message Format, authenticated
with an API key <xref target="HALON"/>.  Sending services such as Amazon Simple
Email Service <xref target="AWS-SES"/> and Oracle Cloud Infrastructure Email
Delivery <xref target="OCI-EMAIL"/> likewise offer proprietary HTTP APIs for
submitting messages.  Each of these APIs is specific to one product
or service and covers only submission to it, while delivery to other
domains continues to use SMTP.  Because each service defines its own
API, an application that integrates with one of them cannot switch to
another without being modified.  HMTP follows a similar model, an
envelope that accompanies an unmodified message, and standardizes it
for both submission and transfer between independent domains,
together with discovery, domain-based authentication, and a common
error model.</t>
        <t>HMTP does not replace DKIM.  DKIM signatures inside the message
continue to protect the message across all hops, including hops that
use SMTP.  HMTP signatures protect each individual HMTP request.</t>
      </section>
      <section anchor="non-goals">
        <name>Non-Goals</name>
        <t>The following are outside the scope of this document:</t>
        <ul spacing="normal">
          <li>
            <t>Defining a new format for messages.  Alternative message formats
may be defined as extensions.</t>
          </li>
          <li>
            <t>Defining spam filtering or reputation algorithms.  These remain a
matter of local policy at the receiving server.</t>
          </li>
          <li>
            <t>Mailbox access and synchronization, which are addressed by IMAP
<xref target="RFC9051"/> and JMAP.</t>
          </li>
          <li>
            <t>End-to-end encryption of messages, which continues to be provided
by existing mechanisms such as OpenPGP and S/MIME.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conventions">
      <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?>

<t>This document uses the terminology of the Internet Mail Architecture
<xref target="RFC5598"/>.  The terms "JSON object", "member", and "array" are used
as defined in <xref target="RFC8259"/>.  The terms "signature", "signer",
"verifier", "covered components", and "signature parameters" are used
as defined in <xref target="RFC9421"/>.  The Content-Digest header field is defined
in <xref target="RFC9530"/>.</t>
      <t>The following terms are defined for use in this document:</t>
      <dl>
        <dt>Message:</dt>
        <dd>
          <t>An Internet message in the format defined by <xref target="RFC5322"/>,
including any MIME <xref target="RFC2045"/> structure.  HMTP transfers the
Message without modification, except for the prepending of trace
header fields described in <xref target="trace"/> and the changes permitted at
submission in <xref target="message-validation"/>.</t>
        </dd>
        <dt>Envelope:</dt>
        <dd>
          <t>The JSON object that accompanies a Message in an HMTP request and
carries the information needed for delivery, such as the envelope
sender and the envelope recipients.  The Envelope is distinct from
the header fields of the Message.  It is specified in <xref target="envelope"/>.</t>
        </dd>
        <dt>Envelope Sender:</dt>
        <dd>
          <t>The address to which delivery status notifications are sent,
carried in the Envelope.  It corresponds to the SMTP "MAIL FROM"
address <xref target="RFC5321"/>.  The Envelope Sender may be empty, which
corresponds to the SMTP null reverse-path "&lt;&gt;".</t>
        </dd>
        <dt>Envelope Recipient:</dt>
        <dd>
          <t>An address to which the Message is to be delivered, carried in the
Envelope.  It corresponds to an SMTP "RCPT TO" address <xref target="RFC5321"/>.</t>
        </dd>
        <dt>Sending Domain:</dt>
        <dd>
          <t>The domain on whose behalf an HMTP transfer request is signed, as
given in the "domain" parameter of the signature and established by
verifying the signature (see <xref target="signing"/>).</t>
        </dd>
        <dt>Client:</dt>
        <dd>
          <t>A Mail User Agent (MUA), or another program acting on behalf of a
user, that submits Messages to a Submission Server using HMTP.</t>
        </dd>
        <dt>Submission Server:</dt>
        <dd>
          <t>A server that accepts Messages from authenticated Clients and
relays them toward their recipients.  It corresponds to the Message
Submission Agent (MSA) role described in <xref target="RFC5598"/>.</t>
        </dd>
        <dt>Sending Server:</dt>
        <dd>
          <t>A server that transfers a Message to a Receiving Server using
HMTP.  It corresponds to the Message Transfer Agent (MTA) role
described in <xref target="RFC5598"/>.</t>
        </dd>
        <dt>Receiving Server:</dt>
        <dd>
          <t>A server that accepts Messages from Sending Servers for the domains
it serves and delivers them to recipients or relays them further.</t>
        </dd>
        <dt>HMTP Endpoint:</dt>
        <dd>
          <t>The HTTPS URI at which a server accepts HMTP requests, as
identified through discovery (see <xref target="discovery"/>).</t>
        </dd>
        <dt>Capabilities Document:</dt>
        <dd>
          <t>The JSON document that describes the HMTP Endpoints, limits,
policy, and extensions of a host (see <xref target="capabilities-document"/>).</t>
        </dd>
        <dt>Content Object:</dt>
        <dd>
          <t>A JSON object that carries content, such as a Message, either
inline, by reference, or as a sequence of segments (see
<xref target="content-object"/>).</t>
        </dd>
        <dt>Content Reference:</dt>
        <dd>
          <t>A Content Object that describes content which is not carried in
the request itself but is retrieved from an HTTPS URI, together
with its size and cryptographic hash.</t>
        </dd>
        <dt>Transfer Identifier:</dt>
        <dd>
          <t>The identifier chosen by the sender of an HMTP request that allows
the recipient of the request to recognize a retried request (see
<xref target="idempotency"/>).</t>
        </dd>
      </dl>
      <t>A single server <bcp14>MAY</bcp14> act in more than one of these roles.</t>
      <t>In examples, long lines are wrapped as described in <xref target="RFC8792"/>.
HTTP messages in examples are shown in HTTP/1.1 syntax for
readability; the semantics of HMTP are independent of the HTTP
version in use.  Unless stated otherwise, base64-encoded data,
digests, and signature values in examples are abbreviated or
illustrative and are not computed over the example content.</t>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t>HMTP is an application protocol that uses HTTP <xref target="RFC9110"/> over TLS
as its transport.  All HMTP requests are HTTP requests sent to an
HMTP Endpoint.</t>
      <section anchor="roles">
        <name>Roles</name>
        <dl>
          <dt>Submission:</dt>
          <dd>
            <t>A Client sends a Message to its Submission Server.  The Client
authenticates to the Submission Server as described in
<xref target="submission"/>.</t>
          </dd>
          <dt>Transfer:</dt>
          <dd>
            <t>A Sending Server sends a Message to a Receiving Server.  The
Sending Server signs each request on behalf of the Sending Domain,
and the Receiving Server verifies the signature as described in
<xref target="signing"/>.</t>
          </dd>
        </dl>
        <t>Both interactions use the same Data Model (<xref target="data-model"/>).  A
Submission Server typically also acts as a Sending Server for the
Messages it accepts.</t>
      </section>
      <section anchor="message-flow">
        <name>Message Flow</name>
        <t><xref target="fig-flow"/> shows the path of a Message from a Client to a
recipient.</t>
        <figure anchor="fig-flow">
          <name>Message Flow</name>
          <artwork><![CDATA[
+--------+  submission   +------------+   transfer   +-----------+
| Client | ------------> | Submission | -----------> | Receiving |
|  (MUA) |    (HMTP)     |   Server   |    (HMTP)    |  Server   |
+--------+               +------------+              +-----------+
                               |                           |
                               | fallback                  v
                               | (SMTP, optional)    +-----------+
                               v                     | Recipient |
                         +------------+              |  Mailbox  |
                         |   SMTP     |              +-----------+
                         |  Server    |
                         +------------+
]]></artwork>
        </figure>
        <ol spacing="normal" type="1"><li>
            <t>The Client constructs a Message and an Envelope and submits them
to its Submission Server.</t>
          </li>
          <li>
            <t>The Submission Server authenticates the Client and verifies that
the Client is authorized to use the Envelope Sender and the
originator addresses of the Message.</t>
          </li>
          <li>
            <t>For each recipient domain, the Sending Server performs discovery
(<xref target="discovery"/>).  If the domain publishes an HMTP Endpoint, the
Sending Server transfers the Message to it using HMTP.  Otherwise,
a Sending Server that supports SMTP fallback delivers the Message
using SMTP as described in <xref target="smtp-fallback"/>.</t>
          </li>
          <li>
            <t>The Receiving Server verifies the signature of the request,
applies its local policy, and accepts or rejects the Message for
each Envelope Recipient.</t>
          </li>
          <li>
            <t>If the request contains Content References, the Receiving Server
retrieves the referenced content and verifies its size and hash,
either before it responds or after it has accepted the Message
(see <xref target="reference-retrieval"/>).</t>
          </li>
          <li>
            <t>The Receiving Server prepends a trace header field to the Message
and delivers the Message to the recipient mailbox or relays it
further.</t>
          </li>
        </ol>
      </section>
      <section anchor="coexistence">
        <name>Coexistence with SMTP</name>
        <t>HMTP is designed to coexist with SMTP permanently, not only during a
transition period.  HMTP does not change the use of MX records
<xref target="RFC5321"/> or the operation of existing SMTP servers.  A domain can
publish an HMTP Endpoint in addition to its MX records, and a server
can support both protocols at the same time.</t>
        <t>The protocol is chosen separately for each hop.  A server that supports
both protocols decides how to forward a Message independently of the
protocol over which it received the Message, so that all four
combinations shown in <xref target="fig-hops"/> are possible:</t>
        <figure anchor="fig-hops">
          <name>Combinations of Incoming and Outgoing Hops</name>
          <artwork><![CDATA[
   incoming hop                                     outgoing hop

  (1) --- HMTP --->  +------------------------+  --- HMTP --->
  (2) --- HMTP --->  |  Server that supports  |  --- SMTP --->
  (3) --- SMTP --->  |  both HMTP and SMTP    |  --- HMTP --->
  (4) --- SMTP --->  |                        |  --- SMTP --->
                     +------------------------+
]]></artwork>
        </figure>
        <dl>
          <dt>HMTP to HMTP:</dt>
          <dd>
            <t>A server relays a Message that it received over HMTP to another HMTP
Endpoint, for example a Submission Server that delivers to a domain
that publishes an HMTP Endpoint.</t>
          </dd>
          <dt>HMTP to SMTP:</dt>
          <dd>
            <t>A server accepts a Message over HMTP and forwards it over SMTP.
Examples are a Submission Server that sends all outbound Messages
through an SMTP relay of its operator, a Receiving Server that passes
accepted Messages to an existing SMTP-based mail system of the
recipient domain, and a Sending Server that falls back to SMTP for a
domain that does not support HMTP (<xref target="smtp-fallback"/>).</t>
          </dd>
          <dt>SMTP to HMTP:</dt>
          <dd>
            <t>A server accepts a Message over SMTP and forwards it over HMTP.
Examples are an existing MX server that relays Messages to an
HMTP-based mailbox service of the same domain, and an SMTP server that
delivers outbound Messages to domains that publish an HMTP Endpoint,
as described in <xref target="gateways"/>.</t>
          </dd>
          <dt>SMTP to SMTP:</dt>
          <dd>
            <t>The operation of SMTP is not affected by HMTP.</t>
          </dd>
        </dl>
        <t>In every combination, the Message is forwarded unchanged, except for
the trace header fields that each server prepends (<xref target="trace"/>), and the
Envelope information is carried over between the parameters of SMTP
commands and the members of the Envelope as described in
<xref target="when-to-fall-back"/> and <xref target="gateways"/>.  DKIM signatures and end-to-end
protection of the Message therefore remain valid on any path.</t>
        <t>How the protocol for an outgoing hop is chosen depends on how the next
hop is determined:</t>
        <ul spacing="normal">
          <li>
            <t>If the next hop is determined by discovery for the domain of an
Envelope Recipient, HMTP is used if the domain supports it.  SMTP is
used only under the conditions of <xref target="when-to-fall-back"/>, which include
the downgrade policy of the domain.</t>
          </li>
          <li>
            <t>If the next hop is determined by local configuration, for example a
relay of the operator of the server, the internal mail system of the
recipient domain, or a filtering or backup service under an agreement
with the recipient domain, the server uses the protocol configured
for that next hop.  This is not a fallback in the sense of
<xref target="smtp-fallback"/>.  The rules of <xref target="when-to-fall-back"/> apply to the
server that eventually delivers the Message to the recipient domain.</t>
          </li>
        </ul>
        <t>As a result, a domain can, for example, receive mail over HMTP while
its outbound mail continues to use SMTP, or send mail over HMTP while
it continues to receive mail over SMTP, without any dependency between
the two directions.</t>
        <t>Support for SMTP is not required for an HMTP implementation.  A
server that implements only HMTP is fully conformant to this
document; it can exchange mail only with domains that publish an HMTP
Endpoint.</t>
      </section>
    </section>
    <section anchor="discovery">
      <name>Discovery</name>
      <t>A server or Client locates the HMTP Endpoint of a domain in two
steps.  It first queries DNS for the HMTP service record of the
domain (<xref target="dns-record"/>) and then retrieves the Capabilities Document
from the target host (<xref target="capabilities-document"/>).</t>
      <section anchor="dns-record">
        <name>DNS Record</name>
        <t>A domain that supports HMTP publishes one or more SVCB resource
records <xref target="RFC9460"/> at the following owner name:</t>
        <artwork><![CDATA[
_hmtp.<domain>
]]></artwork>
        <t>where <tt>&lt;domain&gt;</tt> is the domain part of an email address, in the form
of A-labels <xref target="RFC5890"/> for internationalized domain names.  The
"_hmtp" label is a globally scoped underscored node name
<xref target="RFC8552"/>.  It does not indicate a transport protocol, which is
determined by the "alpn" SvcParam.</t>
        <t>Addresses whose domain part is an address literal <xref target="RFC5321"/> have no
associated DNS name; HMTP is not used for such addresses.</t>
        <t>The records are interpreted according to <xref target="RFC9460"/> with the
following rules:</t>
        <ul spacing="normal">
          <li>
            <t>AliasMode records are processed as specified in <xref target="RFC9460"/>.  An
AliasMode record whose TargetName is "." indicates that the domain
does not provide HMTP (<xref section="2.5.1" sectionFormat="of" target="RFC9460"/>).</t>
          </li>
          <li>
            <t>In ServiceMode records, the TargetName identifies the host that
provides the HMTP Endpoint.  Because the owner name of the record
is not a host name, the TargetName of a ServiceMode record <bcp14>MUST NOT</bcp14>
be ".".  A ServiceMode record whose TargetName is "." is unusable.</t>
          </li>
          <li>
            <t>The "alpn" SvcParam <bcp14>MUST</bcp14> be present and <bcp14>MUST</bcp14> include "h2".  It <bcp14>MAY</bcp14>
also include "h3".  Servers <bcp14>MUST</bcp14> support HTTP/2 <xref target="RFC9113"/> and <bcp14>MAY</bcp14>
support HTTP/3 <xref target="RFC9114"/>.  A ServiceMode record without an "alpn"
SvcParam, or whose "alpn" SvcParam does not include "h2", is
unusable.</t>
          </li>
          <li>
            <t>The "port" SvcParam indicates the TCP or UDP port of the HMTP
Endpoint.  If it is absent, port 443 is used.</t>
          </li>
          <li>
            <t>Other SvcParams, such as "ipv4hint" and "ipv6hint", are used as
defined in <xref target="RFC9460"/> and in the documents that define them.  A
record that lists an unsupported key in the "mandatory" SvcParam is
unusable, as specified in <xref target="RFC9460"/>.</t>
          </li>
          <li>
            <t>If multiple ServiceMode records are present, the host to connect to
is selected as described in <xref target="host-selection"/>.</t>
          </li>
        </ul>
        <t>A Sending Server uses the domain of each Envelope Recipient to locate
the Receiving Server.  A Client uses the domain of its own address to
locate its Submission Server.  A Client <bcp14>MAY</bcp14> instead be configured
with the URI of the Capabilities Document of its Submission Server.</t>
        <t>When connecting to the target host, the server or Client <bcp14>MUST</bcp14>
validate the TLS certificate of the host against the TargetName, as
described in <xref target="RFC9525"/>.  DNS responses <bcp14>SHOULD</bcp14> be validated using
DNSSEC <xref target="RFC4033"/> when available.  See <xref target="security-dns"/> for the
consequences of an unauthenticated DNS response.</t>
        <t>The result of the DNS query is interpreted as follows:</t>
        <ul spacing="normal">
          <li>
            <t>If the query returns one or more usable ServiceMode records, the
domain supports HMTP.</t>
          </li>
          <li>
            <t>If the query returns a response indicating that the name does not
exist or that no SVCB records exist for it, if the only record is
an AliasMode record whose TargetName is ".", or if all returned
records are unusable, the domain does not support HMTP.  A Sending
Server then proceeds as described in <xref target="smtp-fallback"/>.</t>
          </li>
          <li>
            <t>If the query fails for any other reason, such as a timeout or a
server failure, the result <bcp14>MUST</bcp14> be treated as a temporary failure.
The server <bcp14>MUST NOT</bcp14> conclude that the domain does not support HMTP.</t>
          </li>
        </ul>
        <t>Results of DNS queries <bcp14>MAY</bcp14> be cached for the duration of their TTL.</t>
      </section>
      <section anchor="host-selection">
        <name>Selection of the Target Host</name>
        <t>A domain can publish several ServiceMode records, for example to
provide redundant hosts or a backup host.  The server or Client
selects among them in the same way as an SMTP client selects among MX
records (<xref section="5.1" sectionFormat="of" target="RFC5321"/>):</t>
        <ol spacing="normal" type="1"><li>
            <t>It discards the records that are unusable as described in
<xref target="dns-record"/>.</t>
          </li>
          <li>
            <t>It orders the remaining records by their SvcPriority, from the
lowest value to the highest.  A lower value indicates a more
preferred host.</t>
          </li>
          <li>
            <t>It orders records with the same SvcPriority randomly, so that each
of them is equally likely to be tried first, as recommended in
<xref section="2.4.1" sectionFormat="of" target="RFC9460"/>.  SVCB records have no weight, so the
load is distributed evenly among hosts of equal priority.</t>
          </li>
          <li>
            <t>It tries the hosts in the resulting order.  A host with a higher
SvcPriority value is tried only after all hosts with lower values
have failed.</t>
          </li>
          <li>
            <t>If the attempt fails at every host, the delivery attempt has failed
temporarily.  The server retries later as described in
<xref target="idempotency"/>, starting again with step 1, so that a new random
order is used.  A retry of a request whose outcome is unknown is
an exception to this rule, as described below.</t>
          </li>
        </ol>
        <t>If the TargetName of a host resolves to several IP addresses, the
server or Client tries these addresses before it proceeds to the next
host, for example using the Happy Eyeballs algorithm <xref target="RFC8305"/>.</t>
        <t>The server or Client proceeds to the next host if the attempt at the
current host fails in one of the following ways:</t>
        <ul spacing="normal">
          <li>
            <t>The TargetName cannot be resolved, or no connection can be
established to any of its addresses.</t>
          </li>
          <li>
            <t>The TLS handshake fails, including a failure to validate the
certificate of the host.</t>
          </li>
          <li>
            <t>The Capabilities Document cannot be retrieved because of a
temporary failure, or the host is not usable according to
<xref target="capabilities-document"/>.</t>
          </li>
          <li>
            <t>The connection fails before the request has been sent completely,
or the host indicates that it has not processed the request, for
example in HTTP/2 by resetting the stream with the error code
REFUSED_STREAM or by sending a GOAWAY frame whose last stream
identifier is lower than that of the request
(<xref section="8.7" sectionFormat="of" target="RFC9113"/>).</t>
          </li>
          <li>
            <t>The response has the status code 500, 502, or 503 and does not
contain a problem details object with an "smtpStatus" member.  Such
a response is typically generated by an intermediary, such as a
load balancer, that could not pass the request to an HMTP server.</t>
          </li>
        </ul>
        <t>Otherwise, the attempt ends, and the server or Client does not try
further hosts:</t>
        <ul spacing="normal">
          <li>
            <t>A response with the status code 200 (OK) or 202 (Accepted)
completes the attempt.  Envelope Recipients with the result
"deferred" are retried later as described in <xref target="idempotency"/>.</t>
          </li>
          <li>
            <t>A response that contains a problem details object with an
"smtpStatus" member has been generated by an HMTP server that
received the request, whatever its status code.  Trying another
host would not help, because the condition usually applies to the
domain as a whole, as with "rate-limited" or "key-unavailable", or
could cause the request to be processed twice, as with
"request-in-progress".  The response is handled as described in
<xref target="idempotency"/>, according to the class of the "smtpStatus" member:
a temporary failure is retried later, and a permanent failure is
not retried.  Any other response is handled in the same way,
according to its status code.</t>
          </li>
          <li>
            <t>If no response is received after the request has been sent
completely, for example because the connection is lost or a
timeout expires, or if the response has the status code 504
(Gateway Timeout) and does not contain a problem details object,
the outcome of the request is unknown.  The request is retried
later.</t>
          </li>
        </ul>
        <t>A request whose outcome is unknown, or that was rejected with the
"request-in-progress" problem type, may have been processed, or may
still be processed, by the host.  A retry at another host could then
cause duplicate delivery, because the other host does not necessarily
know the Transfer Identifier.  The sender therefore sends the retry
(<xref target="idempotency"/>) to the same host, rather than to a host chosen in a
new random order.  It proceeds to the other hosts, in the order
described above, only if the retry fails at that host in one of the
first four ways listed above, or if the host is no longer listed in
the SVCB records of the domain.</t>
        <t>Even then, the host may have processed the request before it became
unreachable.  A domain that publishes several hosts <bcp14>SHOULD</bcp14> therefore
ensure that the stored Transfer Identifiers are shared among them.
Where this is not possible, for example for a backup host operated by
a third party, duplicate delivery can still occur (see
<xref target="security-transfer-ids"/>).</t>
        <t>A server <bcp14>MAY</bcp14> reuse an established connection to a host for further
requests for the same domain while the SVCB records that led to the
host remain valid.</t>
        <t>In the following example, the hosts "hmtp1.example.net" and
"hmtp2.example.net" share the lowest priority.  Each of them is tried
first with equal probability, and the other one is tried if the first
fails.  The host "backup.provider.example" is tried only if both
fail:</t>
        <sourcecode type="dns"><![CDATA[
_hmtp.example.net.  3600 IN SVCB 10 hmtp1.example.net. alpn=h2,h3
_hmtp.example.net.  3600 IN SVCB 10 hmtp2.example.net. alpn=h2,h3
_hmtp.example.net.  3600 IN SVCB 20 backup.provider.example. alpn=h2
]]></sourcecode>
      </section>
      <section anchor="capabilities-document">
        <name>Capabilities Document</name>
        <t>The Capabilities Document describes the HMTP Endpoint of a host.  It
is retrieved with an HTTP GET request to the well-known URI
<xref target="RFC8615"/> "/.well-known/hmtp" on the target host and port
identified by the DNS record.  The request carries no
authentication, and servers <bcp14>MUST NOT</bcp14> require authentication or a
signature to retrieve the Capabilities Document.</t>
        <t>The response is a JSON object with the media type "application/json"
and contains the following members:</t>
        <dl>
          <dt>versions:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  A JSON object whose member names identify the versions
of HMTP supported by the server and whose values are Version
Objects.  Version names are strings of decimal digits without
leading zeros; a higher number denotes a later version.  This
document defines version "1".  When the server and the sender of a
request have more than one version in common, the sender <bcp14>SHOULD</bcp14> use
the highest of them.  The object <bcp14>MUST</bcp14> contain at least one member.
</t>
            <t>A Version Object contains the following member:</t>
            <dl>
              <dt>endpoints:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  A JSON object whose member names identify the
interactions supported in this version and whose values are
Endpoint Objects (<xref target="endpoint-objects"/>).  This document defines
the following members:
</t>
                <ul spacing="normal">
                  <li>
                    <t>"transfer": the Transfer Endpoint Object, which describes the
endpoint for transfer (<xref target="transfer"/>) and the related <bcp14>OPTIONAL</bcp14>
endpoint for delivery status reports (<xref target="reports"/>);</t>
                  </li>
                  <li>
                    <t>"submission": the Submission Endpoint Object, which describes
the endpoint for submission (<xref target="submission"/>) and the related
identities endpoint (<xref target="identities"/>).</t>
                  </li>
                </ul>
                <t>At least one of "transfer" and "submission" <bcp14>MUST</bcp14> be present.
Additional endpoints <bcp14>MAY</bcp14> be defined by capabilities
(<xref target="capabilities"/>) and are registered as described in
<xref target="iana-endpoints"/>.</t>
              </dd>
            </dl>
          </dd>
          <dt>limits:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON object describing limits of the server, which
apply to all of its endpoints unless an Endpoint Object specifies
other values (<xref target="endpoint-objects"/>).  All values are non-negative
integers.  This document defines the following members:
</t>
            <ul spacing="normal">
              <li>
                <t>"maxMessageSize": the maximum size of a Message in octets, after
the reconstruction of all segments described in
<xref target="content-object"/>.</t>
              </li>
              <li>
                <t>"maxRequestSize": the maximum size of the content of an HMTP
request in octets, that is, of the JSON document itself.  Content
that is transferred by reference does not count toward this
limit.</t>
              </li>
              <li>
                <t>"maxRecipients": the maximum number of Envelope Recipients in one
request.  The value <bcp14>MUST NOT</bcp14> be less than 100.</t>
              </li>
              <li>
                <t>"maxIdLength": the maximum length of a Transfer Identifier in
characters (see <xref target="envelope"/>).  The value <bcp14>MUST NOT</bcp14> be less than
22 and <bcp14>MUST NOT</bcp14> be greater than 255.  If this member is absent,
the maximum length is 64.</t>
              </li>
            </ul>
            <t>The absence of any other limit means that the server does not
advertise it; the server can still reject a request that exceeds a
limit it applies, as described in <xref target="problem-details"/>.  Where this
document refers to a limit of a server or of the recipient of a
request, it means the value that applies to the endpoint to which
the request is sent.</t>
          </dd>
          <dt>policy:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON object that expresses the downgrade policy of the
domains served by this host.  It is specified in <xref target="policy"/>.</t>
          </dd>
          <dt>capabilities:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON object whose member names identify supported
extensions and whose values contain parameters of each extension.
Extensions are specified as described in <xref target="capabilities"/>.  Their
names are either registered with IANA or URIs that serve only as
unique names (<xref target="capability-names"/>).</t>
          </dd>
        </dl>
        <t>Recipients of the Capabilities Document <bcp14>MUST</bcp14> ignore members they do
not understand.</t>
        <section anchor="endpoint-objects">
          <name>Endpoint Objects</name>
          <t>An Endpoint Object is a JSON object that describes one endpoint and
the parameters that apply to it.  Every Endpoint Object contains the
following members:</t>
          <dl>
            <dt>uri:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The URI of the endpoint.  The URI <bcp14>MUST</bcp14> use the "https"
scheme and <bcp14>MAY</bcp14> be relative, in which case it is resolved against
the URI of the Capabilities Document <xref target="RFC3986"/>.</t>
            </dd>
            <dt>limits:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A JSON object with the same members as the "limits"
member of the Capabilities Document (<xref target="capabilities-document"/>).
Its members apply to requests sent to the endpoints described by
the Endpoint Object, including related endpoints such as "reports"
and "identities".  For each limit, a value given in the Endpoint
Object takes precedence over the value in the "limits" member of
the Capabilities Document; if neither contains the limit, the
default described there applies.  This allows a server, for
example, to apply different limits to submission by its own users
and to transfer from other domains.</t>
            </dd>
          </dl>
          <t>Requests do not carry the version of HMTP that they use.  Instead,
the version of a request is determined by the endpoint to which it is
sent: a request sent to an endpoint described in a Version Object is a
request of that version.  The URI of every endpoint, after it has been
resolved, <bcp14>MUST</bcp14> therefore differ from the URIs of the endpoints of all
other versions in the same Capabilities Document.  This applies to the
"uri" member of an Endpoint Object as well as to the URIs of related
endpoints, such as the "reports" and "identities" members.  For
example, a server can include the version in the path of each URI, as
in "/hmtp/v1/transfer".</t>
          <t>The specification of an endpoint, or a capability (<xref target="capabilities"/>),
can define further members of an Endpoint Object.  Because recipients
ignore members they do not understand, new parameters can be added to
an endpoint without changing the structure of the Capabilities
Document.</t>
          <t>The Transfer Endpoint Object contains the following member in
addition to "uri":</t>
          <dl>
            <dt>reports:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The URI of the endpoint for delivery status reports
(<xref target="reports"/>), subject to the same rules as "uri".  If this member is
absent, the domains served by the host do not accept reports, and
DSN messages are sent to them instead.</t>
            </dd>
          </dl>
          <t>Transfer requests and reports are authenticated by signatures
(<xref target="signing"/>), so no authentication parameters apply to the Transfer
Endpoint Object.</t>
          <t>The Submission Endpoint Object contains the following members in
addition to "uri":</t>
          <dl>
            <dt>identities:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The URI of the identities endpoint (<xref target="identities"/>),
subject to the same rules as "uri".  The identities endpoint accepts
the same authentication as the submission endpoint.</t>
            </dd>
            <dt>authentication:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  A non-empty array of strings listing the authentication
schemes accepted by the submission endpoint and the identities
endpoint, as described in <xref target="client-authentication"/>.</t>
            </dd>
            <dt>oauthResourceMetadata:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The URI of the OAuth 2.0 Protected Resource Metadata
<xref target="RFC9728"/> of the Submission Server, subject to the same rules as
"uri".  If this member is absent, Clients locate the metadata as
specified in <xref target="RFC9728"/>.  The resource identifier of a Submission
Server is the origin of its submission endpoint.</t>
            </dd>
          </dl>
        </section>
        <section anchor="retrieval-and-caching">
          <name>Retrieval and Caching</name>
          <t>Servers <bcp14>SHOULD</bcp14> include caching information in the response, and
recipients <bcp14>MAY</bcp14> cache the document as specified in <xref target="RFC9111"/>.</t>
          <t>The result of retrieving the Capabilities Document is interpreted as
follows:</t>
          <ul spacing="normal">
            <li>
              <t>If the Capabilities Document cannot be retrieved because of a
connection failure, a TLS failure (including a failure to validate
the certificate of the host), or a 5xx status code, the result <bcp14>MUST</bcp14>
be treated as a temporary failure.</t>
            </li>
            <li>
              <t>If the server responds with any other error status code, if the
document is not valid, or if it lists no version that the server or
Client supports, the server or Client <bcp14>MUST NOT</bcp14> use HMTP with this
host and continues with the next ServiceMode record, if any.  If no
usable host remains, the domain is treated as not supporting HMTP.</t>
            </li>
          </ul>
        </section>
        <section anchor="capabilities-document-example">
          <name>Example</name>
          <t>The following example shows the DNS record and the Capabilities
Document of a domain whose mail is handled by a provider:</t>
          <sourcecode type="dns"><![CDATA[
_hmtp.example.com.  3600 IN SVCB 1 hmtp.provider.example. (
                               alpn=h2,h3 )
]]></sourcecode>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=86400

{
  "versions": {
    "1": {
      "endpoints": {
        "transfer": {
          "uri": "/hmtp/v1/transfer",
          "reports": "/hmtp/v1/reports"
        },
        "submission": {
          "uri": "/hmtp/v1/submission",
          "identities": "/hmtp/v1/identities",
          "authentication": ["basic", "bearer"],
          "oauthResourceMetadata":
            "/.well-known/oauth-protected-resource",
          "limits": {
            "maxRecipients": 100
          }
        }
      }
    }
  },
  "limits": {
    "maxMessageSize": 107374182400,
    "maxRequestSize": 52428800,
    "maxRecipients": 1000,
    "maxIdLength": 64
  },
  "policy": {
    "mode": "enforce",
    "maxAge": 604800
  },
  "capabilities": {}
}
]]></sourcecode>
          <t>In this example, a submission request can contain at most 100
Envelope Recipients, while a transfer request can contain up to 1000.
The other limits apply to both endpoints.</t>
        </section>
      </section>
    </section>
    <section anchor="data-model">
      <name>Data Model</name>
      <t>All JSON documents defined by this document <bcp14>MUST</bcp14> conform to the
Internet JSON (I-JSON) profile <xref target="RFC7493"/>.  Member names are
case-sensitive.  Unless stated otherwise, recipients of a JSON
document <bcp14>MUST</bcp14> ignore members they do not understand, and a member
whose value is null is treated as if it were absent.  Timestamps are
strings in the "date-time" format of <xref section="5.6" sectionFormat="of" target="RFC3339"/> and
<bcp14>MUST</bcp14> use the UTC offset "Z".  Sizes are integers counting octets.</t>
      <t>The content of a submission or transfer request is a JSON object,
called the Request Object, with the following members:</t>
      <dl>
        <dt>capabilities:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>.  An array of strings naming the capabilities that the
request uses and that the recipient of the request is required to
understand, as described in <xref target="capabilities"/>.  The array <bcp14>MUST NOT</bcp14>
contain duplicates.  If this member is absent, it is equivalent to
an empty array.</t>
        </dd>
        <dt>envelope:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>.  The Envelope (<xref target="envelope"/>).</t>
        </dd>
        <dt>message:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>.  A Content Object (<xref target="content-object"/>) whose content is
the Message.</t>
        </dd>
      </dl>
      <t>The Request Object does not identify the version of HMTP; the version
is determined by the endpoint to which the request is sent
(<xref target="endpoint-objects"/>).  The response to a successful request is a
Response Object, specified in <xref target="transfer-response"/>.</t>
      <section anchor="envelope">
        <name>Envelope</name>
        <t>The Envelope is a JSON object with the following members:</t>
        <dl>
          <dt>id:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The Transfer Identifier of the request.  It is a string
of at least 22 characters consisting only of the characters of the
base64url alphabet (<xref section="5" sectionFormat="of" target="RFC4648"/>): "A" to "Z", "a" to
"z", "0" to "9", "-", and "_".  Its length <bcp14>MUST NOT</bcp14> exceed the
"maxIdLength" limit of the recipient of the request (see
<xref target="capabilities-document"/>).  The sender <bcp14>MUST</bcp14> generate the Transfer
Identifier with at least 128 bits of randomness, for example from
16 random octets encoded in base64url without padding, which yields
22 characters.  A request whose Transfer Identifier does not meet
the requirements on its length and characters is rejected with the
"invalid-request" problem type.
</t>
            <t>A Transfer Identifier is not globally unique and is never
interpreted on its own.  The recipient of a request stores and
compares it only together with its scope (<xref target="idempotency"/>):</t>
            <ul spacing="normal">
              <li>
                <t>for a transfer request, the Sending Domain, that is, the domain
of the key that signed the request as established by the
verification procedure (<xref target="verification"/>).  The host name and IP
address of the Sending Server are not part of the scope, so that
a retry is recognized even if it is sent from another host of the
same Sending Domain.  Neither is the selector of the key, so that
a retry is recognized even if it is signed with a new key after a
key rollover;</t>
              </li>
              <li>
                <t>for a submission request, the account of the authenticated
Client.</t>
              </li>
            </ul>
            <t>The sender <bcp14>MUST</bcp14> generate Transfer Identifiers that are unique
within their scope.  Identical Transfer Identifiers in different
scopes, for example from two different Sending Domains, identify
unrelated requests.  Several independent senders can share one
scope, for example a domain and an email service provider to which
it has delegated a selector (<xref target="third-party"/>).  The randomness of
Transfer Identifiers ensures that the identifiers of such senders
do not collide without any coordination between them.</t>
          </dd>
          <dt>from:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The Envelope Sender.  The value is either a "Mailbox" as
defined in <xref section="4.1.2" sectionFormat="of" target="RFC5321"/>, without the enclosing
angle brackets, or the empty string, which denotes the null
reverse-path.  If "smtpUtf8" is true, the address <bcp14>MAY</bcp14> use the
syntax extended by <xref target="RFC6531"/>.</t>
          </dd>
          <dt>to:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  A non-empty array of Recipient Objects, one for each
Envelope Recipient.  The array <bcp14>MUST NOT</bcp14> contain two Recipient
Objects with the same address.  Its length <bcp14>MUST NOT</bcp14> exceed the
"maxRecipients" limit of the recipient of the request, if one is
advertised.</t>
          </dd>
          <dt>dsn:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON object that carries the per-message parameters of
the Delivery Status Notification (DSN) extension <xref target="RFC3461"/>.  It
has the following members, both <bcp14>OPTIONAL</bcp14>:
</t>
            <ul spacing="normal">
              <li>
                <t>"ret": the string "full" or "hdrs", with the semantics of the
RET parameter of <xref target="RFC3461"/>;</t>
              </li>
              <li>
                <t>"envid": a string with the semantics of the ENVID parameter of
<xref target="RFC3461"/>.  The value is carried in decoded form, without the
"xtext" encoding used in SMTP, and is subject to the same length
and character restrictions as in <xref target="RFC3461"/>.</t>
              </li>
            </ul>
          </dd>
          <dt>body:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  The type of the body of the Message.  The value is one
of "7bit", "8bitmime", and "binarymime", with the semantics of the
BODY parameter values "7BIT", "8BITMIME" <xref target="RFC6152"/>, and
"BINARYMIME" <xref target="RFC3030"/>, respectively.  The default is "7bit".
The sender <bcp14>MUST</bcp14> set this member to a value that correctly describes
the Message.</t>
          </dd>
          <dt>smtpUtf8:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean that is true if any address in the Envelope or
any header field of the Message contains non-ASCII characters, as
permitted by <xref target="RFC6531"/> and <xref target="RFC6532"/>.  The default is false.
The sender <bcp14>MUST</bcp14> set this member to true in that case.</t>
          </dd>
          <dt>requireTls:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean that, when true, requests that the Message be
transferred only over connections that are protected by TLS with
certificate validation on every hop, with the semantics of the
REQUIRETLS extension <xref target="RFC8689"/>.  The default is false.  HMTP
hops always satisfy this requirement; SMTP hops are governed by
<xref target="RFC8689"/>.</t>
          </dd>
        </dl>
        <t>A Recipient Object is a JSON object with the following members:</t>
        <dl>
          <dt>address:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The Envelope Recipient.  The value is a "Mailbox" as
defined in <xref section="4.1.2" sectionFormat="of" target="RFC5321"/>, without the enclosing
angle brackets, or, if "smtpUtf8" is true, as extended by
<xref target="RFC6531"/>.  A sender <bcp14>MUST NOT</bcp14> send an address that does not have
this syntax.  If the value is a string that does not have this
syntax, the Request Object is nevertheless valid: the recipient of
the request rejects only this Envelope Recipient, with the
"invalid-address" problem type (<xref target="transfer-processing"/>), and
processes the other Envelope Recipients as usual.</t>
          </dd>
          <dt>dsn:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON object that carries the per-recipient parameters
of the DSN extension <xref target="RFC3461"/>.  It has the following members,
both <bcp14>OPTIONAL</bcp14>:
</t>
            <ul spacing="normal">
              <li>
                <t>"notify": an array of strings with the semantics of the NOTIFY
parameter of <xref target="RFC3461"/>.  The array contains either the single
value "never", or one or more of the values "success", "failure",
and "delay";</t>
              </li>
              <li>
                <t>"orcpt": a string with the semantics of the ORCPT parameter of
<xref target="RFC3461"/>, consisting of an address type, a semicolon, and the
original recipient address, for example
"rfc822;bob@example.net".  The value is carried in decoded form,
without the "xtext" encoding used in SMTP.</t>
              </li>
            </ul>
          </dd>
        </dl>
        <t>When the domain part of an address is compared, for example to
determine alignment (<xref target="alignment"/>) or to perform discovery, it is
first converted to A-labels and then compared without regard to case.</t>
        <t>The following example shows an Envelope:</t>
        <sourcecode type="json"><![CDATA[
{
  "id": "3q2-7wEXAMPLEd9Kc1fQ0g",
  "from": "bounces+7f3a@example.com",
  "to": [
    {"address": "bob@example.net"},
    {
      "address": "carol@example.net",
      "dsn": {
        "notify": ["failure", "delay"],
        "orcpt": "rfc822;carol@example.net"
      }
    }
  ],
  "dsn": {"ret": "hdrs", "envid": "QQ314159"},
  "body": "8bitmime"
}
]]></sourcecode>
      </section>
      <section anchor="content-object">
        <name>Content Object</name>
        <t>A Content Object carries a sequence of octets, called its content.
It takes one of three forms, distinguished by the members present.
A Content Object <bcp14>MUST</bcp14> contain exactly one of the members "data",
"uri", and "segments".</t>
        <dl>
          <dt>Inline:</dt>
          <dd>
            <t>The content is carried in the request.  The Content Object has the
following member:
</t>
            <dl>
              <dt>data:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  The content, encoded using base64 as defined in
<xref section="4" sectionFormat="of" target="RFC4648"/>, with padding and without line breaks.</t>
              </dd>
            </dl>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>The content is retrieved from a URI.  A Content Object of this form
is a Content Reference and has the following members:
</t>
            <dl>
              <dt>uri:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  An absolute URI <xref target="RFC3986"/> with the "https" scheme
from which the content is retrieved, as described in
<xref target="reference-retrieval"/>.</t>
              </dd>
              <dt>size:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  The size of the retrieved representation data in
octets, before any transformation specified by "encoding".</t>
              </dd>
              <dt>digest:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  A Digest Object for the retrieved representation data,
before any transformation specified by "encoding".</t>
              </dd>
              <dt>expires:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  A timestamp until which the sender guarantees that the
content can be retrieved from the URI.  The timestamp <bcp14>MUST</bcp14> be at
least 24 hours after the time at which the request is sent and
<bcp14>SHOULD</bcp14> be at least 7 days after it.</t>
              </dd>
              <dt>encoding:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>.  The name of a transformation that is applied to the
retrieved representation data to produce the content, as
described in <xref target="attachments"/>.  If this member is absent, the
content is the retrieved representation data itself.</t>
              </dd>
            </dl>
          </dd>
          <dt>Composite:</dt>
          <dd>
            <t>The content is the concatenation of the content of a sequence of
segments.  The Content Object has the following members:
</t>
            <dl>
              <dt>segments:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  A non-empty array of Content Objects, each of which is
either of the inline or of the reference form.  A segment <bcp14>MUST
NOT</bcp14> itself be of the composite form.</t>
              </dd>
              <dt>size:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>.  The size of the content, that is, the sum of the sizes
of the content of all segments.</t>
              </dd>
            </dl>
          </dd>
        </dl>
        <t>The content of a composite Content Object is reconstructed by
concatenating the content of its segments in the order in which they
appear in the array.  No octets are added between segments.  The
integrity of the reconstructed content follows from the integrity of
each segment: inline segments are covered by the Content-Digest of
the request, and reference segments by their "digest" member.
Recipients <bcp14>MUST</bcp14> support composite Content Objects with at least 64
segments.</t>
        <t>A Digest Object is a JSON object whose member names are hash
algorithm keys from the "Hash Algorithms for HTTP Digest Fields"
registry established by <xref target="RFC9530"/> and whose values are the hashes
computed with these algorithms, encoded using base64 as defined in
<xref section="4" sectionFormat="of" target="RFC4648"/>.  A Digest Object <bcp14>MUST</bcp14> contain at least one
of the members "sha-256" and "sha-512", and <bcp14>MAY</bcp14> contain additional
members.  Recipients <bcp14>MUST</bcp14> support "sha-256" and "sha-512", <bcp14>MUST</bcp14>
ignore algorithms they do not support, and <bcp14>MUST</bcp14> verify the hash of
every supported algorithm that is present.  If a Digest Object
contains no supported algorithm, the request is rejected with the
"invalid-request" problem type.</t>
        <t>The "maxMessageSize" limit (<xref target="capabilities-document"/>) applies to the
size of the reconstructed Message.  Because the size of every segment
is known before any content is retrieved, the recipient of a request
can determine whether the limit is exceeded without retrieving any
content.</t>
        <t>The following example shows a Message carried inline and the same
Message carried as a single Content Reference:</t>
        <sourcecode type="json"><![CDATA[
{
  "data": "RnJvbTogQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPg0K..."
}
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
{
  "uri": "https://files.example.com/m/7f3a91c2e4d8",
  "size": 52428800,
  "digest": {
    "sha-256": "rbJw2yTgX0Gj3nVQb1Zu4eKcN9mF8sPq7LdW6xHtA0E="
  },
  "expires": "2026-01-08T12:00:00Z"
}
]]></sourcecode>
        <section anchor="reference-retrieval">
          <name>Retrieval of Referenced Content</name>
          <t>The recipient of a request retrieves the content of a Content
Reference with an HTTP GET request to its URI.  The following rules
apply:</t>
          <ul spacing="normal">
            <li>
              <t>The recipient <bcp14>MUST</bcp14> validate the TLS certificate of the host as
described in <xref target="RFC9525"/>.</t>
            </li>
            <li>
              <t>The recipient <bcp14>MUST NOT</bcp14> send credentials, such as cookies or an
Authorization header field, in the retrieval request.  It <bcp14>MAY</bcp14> sign
the retrieval request as described in <xref target="retrieval-signing"/>.</t>
            </li>
            <li>
              <t>The recipient <bcp14>MAY</bcp14> follow redirections, but only to URIs with the
"https" scheme, and <bcp14>SHOULD NOT</bcp14> follow more than 5 redirections.</t>
            </li>
            <li>
              <t>The recipient <bcp14>MAY</bcp14> use range requests to resume an interrupted
retrieval.</t>
            </li>
            <li>
              <t>The representation data is the content of the response after any
content coding has been removed.  If its size differs from "size",
or any supported hash in "digest" does not match, the retrieval has
failed permanently with the "content-mismatch" problem type.  The
recipient <bcp14>SHOULD</bcp14> stop retrieving as soon as the received data
exceeds "size".</t>
            </li>
            <li>
              <t>A connection failure, a TLS failure, or a response with status code
408, 429, or 5xx is a temporary failure, and the recipient retries
the retrieval.  A response with any other error status code is a
permanent failure with the "content-unavailable" problem type.</t>
            </li>
          </ul>
          <t>The recipient of a request chooses, for each request, when it
retrieves referenced content:</t>
          <dl>
            <dt>Before responding:</dt>
            <dd>
              <t>The recipient retrieves and verifies all Content References before
it sends the response, which then has the status code 200 (OK).  If
retrieval fails temporarily, it responds
with the "content-unavailable" problem type and a temporary
enhanced status code.  If retrieval fails permanently, it rejects
the request with the corresponding problem type.</t>
            </dd>
            <dt>After responding:</dt>
            <dd>
              <t>The recipient accepts the Message for some or all Envelope
Recipients and responds with the status code 202 (Accepted), which
indicates that retrieval is still pending (see
<xref target="transfer-response"/>).  By doing so, it accepts
responsibility for retrieving the content and <bcp14>MUST</bcp14> complete the
retrieval before the earliest "expires" timestamp of the Content
References, unless it passes the Content References on to a next
hop as described below.  If the retrieval fails permanently, or
cannot be completed before that time, the recipient <bcp14>MUST</bcp14> treat the
Message as undeliverable for all Envelope Recipients for which it
was accepted and generate delivery status notifications as
described in <xref target="dsn"/>.</t>
            </dd>
          </dl>
          <t>This choice allows a recipient to retrieve small content
synchronously while accepting very large Messages without keeping the
request open for the duration of the retrieval.  In either case, a
server <bcp14>MUST NOT</bcp14> deliver a Message to a recipient mailbox, and <bcp14>MUST
NOT</bcp14> make any part of it available to the recipient, before the
Message has been completely reconstructed and verified.  A server
<bcp14>MUST NOT</bcp14> make the time of retrieval depend on actions of the
recipient of the Message, such as opening the Message (see
<xref target="privacy"/>).</t>
          <t>The sender of a request <bcp14>MUST</bcp14> keep the content of every Content
Reference available at its URI until its "expires" timestamp, unless
every request containing the Content Reference has received a
response with the status code 200 (OK), which indicates that the
retrieval is complete or was not needed.  After a response with the
status code 202 (Accepted), the sender keeps the content available
until its "expires" timestamp.</t>
          <t>A server that relays a Message <bcp14>MAY</bcp14> pass Content References on to the
next hop unchanged, without retrieving them, if at least 24 hours
remain before their "expires" timestamp.  Otherwise, it <bcp14>MUST</bcp14> retrieve
the content and either carry it inline or provide it through Content
References of its own.  The following rules apply to a server that
passes Content References on:</t>
          <ul spacing="normal">
            <li>
              <t>Because it has not retrieved the content, it responds to the
request in which it received the Message with the status code 202
(Accepted), not 200 (OK).  It does not need to retrieve or verify
the content itself.</t>
            </li>
            <li>
              <t>Its responsibility for the retrieval passes to the next hop when
the next hop accepts the Message for an Envelope Recipient.  From
then on, the next hop is responsible for the retrieval for that
recipient as described above, whether it retrieves the content
before or after responding or passes the Content References on in
turn.  If the retrieval fails, the server that is responsible for
it at that time generates the delivery status notifications
(<xref target="dsn"/>).</t>
            </li>
            <li>
              <t>Until the next hop accepts the Message, for example while delivery
to it is retried, the server remains responsible for the
retrieval.  If it cannot pass the Content References on while at
least 24 hours remain before their "expires" timestamp, it <bcp14>MUST</bcp14>
retrieve the content itself as described above.</t>
            </li>
          </ul>
          <t>The original sender does not learn whether or when the content has
been retrieved along the path.  Because it has received the status
code 202 (Accepted), it keeps the content available until its
"expires" timestamp, as described above, which also allows servers
further along the path to retrieve it.</t>
          <t>A recipient <bcp14>MAY</bcp14> reject a request that contains a Content Reference
whose "expires" timestamp is less than 24 hours after the time of
receipt, with the "invalid-request" problem type.</t>
        </section>
      </section>
      <section anchor="attachments">
        <name>Attachments</name>
        <t>A composite Content Object allows a sender to transfer parts of a
Message, such as the body of an attachment, by reference, while the
reconstructed Message remains identical, octet for octet, to the
Message as produced by its originator.  DKIM signatures and other
signatures computed over the Message therefore remain valid.</t>
        <t>To transfer an attachment by reference, the sender splits the Message
into three segments: an inline segment containing everything up to
the first octet of the body of the MIME body part, a reference segment
containing the body of the body part, and an inline segment
containing the remainder of the Message.  Following <xref target="RFC2046"/>, the
CRLF that precedes a boundary delimiter belongs to the delimiter and
therefore to the following inline segment.  A Message may contain any
number of such references, subject to the limit on segments described
in <xref target="content-object"/>.</t>
        <t>Attachments are usually encoded with the base64
Content-Transfer-Encoding <xref target="RFC2045"/>, while the content stored at a
URI is usually the original, unencoded file.  The "encoding" member
allows a Content Reference to refer to the unencoded file.  This
document defines the following encoding:</t>
        <dl>
          <dt>base64:</dt>
          <dd>
            <t>The retrieved representation data is encoded using base64 as
defined in <xref section="6.8" sectionFormat="of" target="RFC2045"/>.  The encoded output is
divided into lines of exactly 76 characters, except that the last
line contains the remaining 1 to 76 characters.  Lines are
separated by CRLF.  No CRLF follows the last line.  If the
representation data is empty, the content is empty.</t>
          </dd>
        </dl>
        <t>A sender <bcp14>MUST</bcp14> use the "base64" encoding only if the body of the MIME
body part in the Message is exactly the output of this
transformation.  Senders that wish to use this encoding therefore
produce base64-encoded body parts with lines of 76 characters, which
is the most common practice.  The size of the content produced by
the "base64" encoding from n octets of representation data is
4 * ceil(n / 3) characters plus 2 octets for each line separator.</t>
        <t>Additional encodings can be registered as described in
<xref target="iana-encodings"/>.  A sender <bcp14>MUST NOT</bcp14> use an encoding other than
"base64" unless the recipient of the request advertises support for
it through a capability.</t>
        <t>The following example shows a Message with a 700 MiB attachment.  The
first segment contains the header section and the MIME structure up
to the body of the attachment, which is followed by a CRLF and the
closing boundary delimiter "--b1--" in the last segment:</t>
        <sourcecode type="json"><![CDATA[
{
  "segments": [
    {
      "data": "RnJvbTogQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPg0K..."
    },
    {
      "uri": "https://files.example.com/f/9b1c4e7a",
      "size": 734003200,
      "digest": {
        "sha-256": "Yk3qV0sJpRm9T2cFhWxN6dL1bA8eQu7ZgKi4oPyXwE0="
      },
      "expires": "2026-01-08T12:00:00Z",
      "encoding": "base64"
    },
    {
      "data": "DQotLWIxLS0NCg=="
    }
  ],
  "size": 1004426786
}
]]></sourcecode>
        <t>In this example, the first segment contains 1342 octets, the second
segment produces 1004425434 octets after the "base64" encoding, and
the last segment contains 10 octets.</t>
        <t>The same URI can be used in requests to any number of Receiving
Servers, so that the attachment is uploaded by the originator only
once.  Receiving Servers that retrieve the same content for several
Messages can recognize it by its digest.  Messages that are protected
end to end, such as encrypted OpenPGP or S/MIME messages, can only be
transferred by reference as a whole.</t>
      </section>
      <section anchor="capabilities">
        <name>Capabilities</name>
        <t>Capabilities allow HMTP to be extended without changing this
document.  A capability can define new members of the Request Object,
the Envelope, the Recipient Object, Content Objects, the Response
Object, and the Capabilities Document; new endpoints; new encodings;
and new problem types.  Examples of functionality that could be
defined as capabilities include the transfer of several Messages in
one request, a status endpoint for submitted Messages, and the recall
of Messages that have not yet been delivered.</t>
        <section anchor="capability-names">
          <name>Capability Names</name>
          <t>A capability is identified by its name.  A name takes one of two
forms:</t>
          <dl>
            <dt>Registered name:</dt>
            <dd>
              <t>A string of 1 to 64 characters that consists of lowercase ASCII
letters, digits, and hyphens, starts with a letter, and does not
end with a hyphen, for example "future-release".  A registered name
<bcp14>MUST</bcp14> be registered in the "HMTP Capabilities" registry
(<xref target="iana-capabilities"/>) before it is used, which requires a
publicly available specification (see <xref target="iana"/>).  Implementations
<bcp14>MUST NOT</bcp14> use a name of this form that is not registered.
Registered names are intended for capabilities that are meant to
be implemented interoperably by independent parties.</t>
            </dd>
            <dt>URI:</dt>
            <dd>
              <t>An absolute URI <xref target="RFC3986"/>, for example
"https://vendor.example.com/hmtp/future-release".  Such a URI is only a
unique name for the capability.  It is compared with other names
character by character, with case sensitivity, and is never
dereferenced: implementations <bcp14>MUST NOT</bcp14> retrieve it as part of
protocol processing, and it does not need to resolve to anything.
Uniqueness follows from the control of the party that defines the
capability over the authority component of the URI, typically a
domain name it owns.  URIs require no registration with IANA and
are intended for private, vendor-specific, and experimental
capabilities.  The URI <bcp14>MAY</bcp14> point to human-readable documentation,
but this has no significance for the protocol.</t>
            </dd>
          </dl>
          <t>A capability that starts as a URI and is later standardized receives
a registered name.  The two names identify distinct capabilities; a
server <bcp14>MAY</bcp14> advertise both during a transition period, and a request
lists the one whose definition it follows.</t>
        </section>
        <section anchor="capability-use">
          <name>Advertisement and Use</name>
          <t>A server advertises the capabilities it supports in the "capabilities"
member of its Capabilities Document.  The value of each member is a
JSON object containing the parameters of the capability, as defined by
its specification; a capability without parameters has an empty
object as its value.</t>
          <t>The specification of a capability states whether the capability is
"must-understand".  A must-understand capability changes the meaning
of a request in a way that a recipient that does not support it
cannot safely ignore.  The following rules apply:</t>
          <ul spacing="normal">
            <li>
              <t>A sender <bcp14>MUST NOT</bcp14> use a capability that is not advertised by the
recipient of the request, except that members defined by a
capability that is not must-understand <bcp14>MAY</bcp14> be included regardless,
because recipients that do not support them ignore them.</t>
            </li>
            <li>
              <t>A sender <bcp14>MUST</bcp14> list every must-understand capability that a request
uses in the "capabilities" member of the Request Object.</t>
            </li>
            <li>
              <t>A recipient <bcp14>MUST</bcp14> reject a request that lists a capability it does
not support with the "unsupported-capability" problem type.</t>
            </li>
            <li>
              <t>A recipient <bcp14>MAY</bcp14> include members defined by a capability in its
response if the capability is listed in the request or is not
must-understand.  Recipients of responses <bcp14>MUST</bcp14> ignore members they
do not understand.</t>
            </li>
          </ul>
          <t>To prevent collisions between members defined by independent parties,
the following rules apply to the members that a capability adds to
JSON objects defined by this document:</t>
          <ul spacing="normal">
            <li>
              <t>A capability with a registered name defines member names directly.
The designated experts ensure that these names do not collide with
names defined by this document or by other registered capabilities.</t>
            </li>
            <li>
              <t>A capability identified by a URI adds exactly one member to each
object it extends.  The name of this member is the URI of the
capability, and its value is a JSON object that contains all
members defined by the capability for that object.</t>
            </li>
            <li>
              <t>A capability with a registered name that defines a new endpoint
registers the endpoint name (<xref target="iana-endpoints"/>) and is advertised
with an Endpoint Object in the "endpoints" member of a Version
Object.  A capability identified by a URI advertises the URIs of
its endpoints in its own parameters instead.</t>
            </li>
          </ul>
        </section>
        <section anchor="capability-spec">
          <name>Specifying a Capability</name>
          <t>The specification of a capability defines at least the following:</t>
          <ul spacing="normal">
            <li>
              <t>its name and whether it is must-understand;</t>
            </li>
            <li>
              <t>its parameters in the Capabilities Document, including their types
and default values;</t>
            </li>
            <li>
              <t>the members it adds to the Request Object, the Envelope, the
Recipient Object, Content Objects, the Response Object, and
Endpoint Objects, and their meaning;</t>
            </li>
            <li>
              <t>any new endpoints, encodings, and problem types;</t>
            </li>
            <li>
              <t>the behavior of senders and recipients, including the behavior of
a server that relays a Message that uses the capability to a next
hop that does not support it, either over HMTP or over SMTP; and</t>
            </li>
            <li>
              <t>its security and privacy considerations.</t>
            </li>
          </ul>
        </section>
        <section anchor="capability-example">
          <name>Example</name>
          <t>This section shows a complete example of a hypothetical
must-understand capability that allows the sender to request that a
Message be held by the Receiving Server and released for delivery no
earlier than a given time, similar to the SMTP FUTURERELEASE extension
<xref target="RFC4865"/>.  The capability is defined by a vendor and is therefore
identified by a URI.  Its specification could read as follows:</t>
          <dl>
            <dt>Name:</dt>
            <dd>
              <t>"https://vendor.example/hmtp/future-release".</t>
            </dd>
            <dt>Must-understand:</dt>
            <dd>
              <t>Yes.  A recipient that ignored the capability would deliver the
Message immediately.</t>
            </dd>
            <dt>Parameters:</dt>
            <dd>
              <t>"maxInterval": <bcp14>REQUIRED</bcp14>.  The maximum number of seconds between the
receipt of a request and the release time that the server accepts.</t>
            </dd>
            <dt>Envelope members:</dt>
            <dd>
              <t>"releaseAt": <bcp14>REQUIRED</bcp14>.  A timestamp before which the recipient <bcp14>MUST
NOT</bcp14> deliver the Message to a recipient mailbox.  If it is more than
"maxInterval" seconds after the time of receipt, the recipient
rejects the request with the "invalid-request" problem type.</t>
            </dd>
            <dt>Response members:</dt>
            <dd>
              <t>None.</t>
            </dd>
            <dt>Relaying:</dt>
            <dd>
              <t>A server that relays the Message before the release time <bcp14>MUST NOT</bcp14>
pass it to a next hop that does not advertise the capability; it
holds the Message itself until the release time instead.</t>
            </dd>
          </dl>
          <t>A server that supports the capability advertises it in its
Capabilities Document:</t>
          <sourcecode type="json"><![CDATA[
{
  "versions": {
    "1": {
      "endpoints": {
        "transfer": {
          "uri": "/hmtp/v1/transfer"
        }
      }
    }
  },
  "capabilities": {
    "https://vendor.example/hmtp/future-release": {
      "maxInterval": 604800
    }
  }
}
]]></sourcecode>
          <t>A sender that uses the capability lists it in the request and adds
the member defined by the capability to the Envelope, under the name
of the capability:</t>
          <sourcecode type="json"><![CDATA[
{
  "capabilities": [
    "https://vendor.example/hmtp/future-release"
  ],
  "envelope": {
    "id": "Rt5yU8iO1pA4sD7fG0hJ2k",
    "from": "alice@example.com",
    "to": [{"address": "bob@example.net"}],
    "https://vendor.example/hmtp/future-release": {
      "releaseAt": "2026-01-02T09:00:00Z"
    }
  },
  "message": {
    "data": "RnJvbTogQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPg0K..."
  }
}
]]></sourcecode>
          <t>The URI "https://vendor.example/hmtp/future-release" in this example
is never retrieved; it only names the capability.</t>
          <t>A server that does not support the capability rejects the request:</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json

{
  "type": "urn:ietf:params:hmtp:error:unsupported-capability",
  "title": "Unsupported capability",
  "status": 400,
  "detail": "https://vendor.example/hmtp/future-release",
  "smtpStatus": "5.5.4",
  "smtpReply": 555
}
]]></sourcecode>
          <t>If the same capability were standardized and registered under the
name "future-release", the server would advertise
<tt>"future-release": {"maxInterval": 604800}</tt>, the request would list
"future-release" in its "capabilities" member, and the Envelope would
contain the member <tt>"releaseAt": "2026-01-02T09:00:00Z"</tt> directly.</t>
        </section>
      </section>
    </section>
    <section anchor="transfer">
      <name>Message Transfer</name>
      <t>A Sending Server transfers a Message to a Receiving Server by sending
a transfer request to the transfer endpoint of the Receiving Server.
All Envelope Recipients in one request <bcp14>MUST</bcp14> have domains for which
discovery (<xref target="discovery"/>) yielded the same set of usable ServiceMode
records, that is, records with the same SvcPriority, TargetName, and
SvcParams, regardless of the order in which they were returned.  A
Sending Server groups the Envelope Recipients accordingly, sends a
separate request for each group, and selects the host for each
request as described in <xref target="host-selection"/>.  A set of records does
not identify a single host in advance, because hosts of the same
priority are tried in random order, but every host in the set serves
all domains of the group.</t>
      <section anchor="transfer-request">
        <name>Request</name>
        <t>A transfer request is an HTTP POST request <xref target="RFC9110"/> to the
transfer endpoint, with the following properties:</t>
        <ul spacing="normal">
          <li>
            <t>The content of the request is a Request Object (<xref target="data-model"/>),
and the Content-Type header field is "application/json".</t>
          </li>
          <li>
            <t>The request <bcp14>MUST</bcp14> contain a Content-Digest header field <xref target="RFC9530"/>
computed over the content of the request, using the "sha-256" or
"sha-512" algorithm.</t>
          </li>
          <li>
            <t>The request <bcp14>MUST</bcp14> be signed on behalf of the Sending Domain as
described in <xref target="signing"/>, using the Signature-Input and Signature
header fields <xref target="RFC9421"/>.</t>
          </li>
          <li>
            <t>If the Envelope Sender is not empty, its domain <bcp14>MUST</bcp14> be aligned
with the Sending Domain as described in <xref target="alignment"/>.</t>
          </li>
          <li>
            <t>The request does not use HTTP authentication.  Receiving Servers
ignore any Authorization header field in a transfer request.</t>
          </li>
          <li>
            <t>The content of the request <bcp14>MAY</bcp14> use a content coding only if the
Receiving Server has indicated support for it in an
Accept-Encoding header field, as described in
<xref section="12.5.3" sectionFormat="of" target="RFC9110"/>.</t>
          </li>
        </ul>
        <t>A Sending Server <bcp14>SHOULD</bcp14> reuse connections for several requests and
<bcp14>MAY</bcp14> send several requests concurrently on one connection, within the
limits that the Receiving Server sets, such as the
SETTINGS_MAX_CONCURRENT_STREAMS setting of HTTP/2 <xref target="RFC9113"/>.  This
document does not define the transfer of several Messages in one
request.</t>
        <t>Sending Servers <bcp14>SHOULD</bcp14> wait at least 10 minutes for the response
after the request has been sent completely, consistent with the
timeouts recommended in <xref section="4.5.3.2" sectionFormat="of" target="RFC5321"/>.</t>
        <t>The following example shows a transfer request:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /hmtp/v1/transfer HTTP/1.1
Host: mx.example.net
Content-Type: application/json
Content-Digest: sha-256=:Cw2CRUGnwBRSPpU7qzJnP6Fk2zBdJ8u8mXh7sQe1zYI=:
Signature-Input: hmtp=("@method" "@target-uri" "content-type" \
  "content-digest");created=1767268800;expires=1767269100;\
  keyid="hmtp2026";domain="example.com";alg="ed25519";tag="hmtp"
Signature: hmtp=:3iXk1Lw3P1pZq9xH0M2eR8vUe6bJ4yD7nT5aC0fK2gS9\
  hV1mQ4wL8oE6rB3tY7uI0pA5sD2fG9hJ1kL3zX8cVQ==:

{
  "envelope": {
    "id": "3q2-7wEXAMPLEd9Kc1fQ0g",
    "from": "bounces+7f3a@example.com",
    "to": [
      {"address": "bob@example.net"},
      {"address": "carol@example.net"}
    ]
  },
  "message": {
    "data": "RnJvbTogQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPg0K..."
  }
}
]]></sourcecode>
      </section>
      <section anchor="transfer-processing">
        <name>Processing by the Receiving Server</name>
        <t>A Receiving Server processes a transfer request as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>It verifies that the request uses the POST method and that the
media type and size of the content are acceptable.  It rejects a
request whose content exceeds its "maxRequestSize" limit with the
"request-too-large" problem type.</t>
          </li>
          <li>
            <t>It verifies the signature and the Content-Digest of the request
as described in <xref target="verification"/>, including the alignment of the
Envelope Sender (<xref target="alignment"/>).</t>
          </li>
          <li>
            <t>It parses the Request Object and validates it against
<xref target="data-model"/>.  It rejects an invalid Request Object with the
"invalid-request" problem type.  A syntactically invalid address of
an Envelope Recipient does not make the Request Object invalid; it
is handled in step 7.</t>
          </li>
          <li>
            <t>It checks the Transfer Identifier as described in
<xref target="idempotency"/>.  If the request is a retry of a request that has
already been processed, it returns the stored response and does
not process the request again.</t>
          </li>
          <li>
            <t>It checks that it supports every capability listed in the
"capabilities" member (<xref target="capabilities"/>).</t>
          </li>
          <li>
            <t>It verifies that the size of the Message does not exceed its
"maxMessageSize" limit and that the number of Envelope Recipients
does not exceed its "maxRecipients" limit.</t>
          </li>
          <li>
            <t>It determines, for each Envelope Recipient, whether it accepts the
Message for that recipient.  It rejects an Envelope Recipient whose
address is syntactically invalid (<xref target="envelope"/>) with the
"invalid-address" problem type.  For an Envelope Recipient whose
domain it does not serve, and for which it has no agreement to
relay, it rejects the recipient with the "domain-not-served"
problem type.  Other decisions are a matter of local policy.</t>
          </li>
          <li>
            <t>It retrieves referenced content as described in
<xref target="reference-retrieval"/>, either before responding or after
responding, or, if it relays the Message, passes the Content
References on to the next hop.</t>
          </li>
          <li>
            <t>It prepends trace header fields as described in <xref target="trace"/>, stores
the Message for each accepted Envelope Recipient, and sends the
response.</t>
          </li>
        </ol>
        <t>A Receiving Server <bcp14>MAY</bcp14> perform these steps in a different order, as
long as the result is the same.  In particular, it <bcp14>MAY</bcp14> start
verifying the signature before the content of the request has been
received completely.</t>
      </section>
      <section anchor="transfer-response">
        <name>Response</name>
        <t>If the Receiving Server has processed the request, it responds with a
Response Object and one of the following status codes, even if it has
rejected the Message for some or all Envelope Recipients:</t>
        <dl>
          <dt>200 (OK):</dt>
          <dd>
            <t>The request has been processed completely.  Either the request
contains no Content References, or all referenced content has been
retrieved and verified, or the Message has not been accepted for any
Envelope Recipient.</t>
          </dd>
          <dt>202 (Accepted):</dt>
          <dd>
            <t>The Message has been accepted for at least one Envelope Recipient,
but the retrieval of referenced content is still pending.  The
Receiving Server has accepted responsibility for completing the
retrieval later, or for passing the Content References on to a next
hop that takes over this responsibility, as described in
<xref target="reference-retrieval"/>.  A
Receiving Server <bcp14>MUST NOT</bcp14> use this status code for a request that
contains no Content References.</t>
          </dd>
        </dl>
        <t>In both cases, the results for the individual Envelope Recipients are
final: a recipient with the result "accepted" remains accepted, and
any later failure, including a failure of the pending retrieval, is
reported through a delivery status notification (<xref target="dsn"/>).  The status
code only tells the sender whether it still has to keep the
referenced content available.</t>
        <t>If the request as a whole fails, the Receiving Server responds with a
4xx or 5xx status code and a problem details object as described in
<xref target="problem-details"/>; in that case, the Message has not been accepted
for any Envelope Recipient.</t>
        <t>The Response Object is a JSON object with the media type
"application/json" and the following members:</t>
        <dl>
          <dt>queueId:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A string assigned by the Receiving Server that
identifies the Message in its systems, such as a queue identifier.
It is intended for logging and diagnostics.</t>
          </dd>
          <dt>recipients:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  An array of Recipient Result Objects, exactly one for
each Envelope Recipient, in the same order as in the "to" member of
the Envelope.</t>
          </dd>
        </dl>
        <t>A Recipient Result Object is a JSON object with the following members:</t>
        <dl>
          <dt>address:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The address of the Envelope Recipient, as given in the
request.</t>
          </dd>
          <dt>result:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  One of the following strings:
</t>
            <ul spacing="normal">
              <li>
                <t>"accepted": the Receiving Server has accepted responsibility for
delivering or relaying the Message to this recipient, with the
semantics of <xref section="6.1" sectionFormat="of" target="RFC5321"/>.  It <bcp14>MUST NOT</bcp14> lose the
Message, and if it later fails to deliver it, it generates a
delivery status notification as described in <xref target="dsn"/>.</t>
              </li>
              <li>
                <t>"deferred": the Message was not accepted for this recipient
because of a temporary condition.  The sender <bcp14>MAY</bcp14> retry
delivery to this recipient later.</t>
              </li>
              <li>
                <t>"rejected": the Message was not accepted for this recipient
because of a permanent condition.  The sender <bcp14>MUST NOT</bcp14> retry
delivery to this recipient.</t>
              </li>
            </ul>
          </dd>
          <dt>problem:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14> if "result" is "deferred" or "rejected", and absent
otherwise.  A problem details object, as described in
<xref target="problem-details"/>, that describes the reason.  Its "smtpStatus"
member <bcp14>MUST</bcp14> have the class 4 if "result" is "deferred" and the
class 5 if "result" is "rejected".</t>
          </dd>
        </dl>
        <t>The following example shows a response in which the Message was
accepted for one recipient and rejected for another:</t>
        <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "queueId": "4Y7mKq2ZtR",
  "recipients": [
    {
      "address": "bob@example.net",
      "result": "accepted"
    },
    {
      "address": "carol@example.net",
      "result": "rejected",
      "problem": {
        "type": "urn:ietf:params:hmtp:error:unknown-recipient",
        "title": "Unknown recipient",
        "detail": "The mailbox carol@example.net does not exist.",
        "smtpStatus": "5.1.1",
        "smtpReply": 550
      }
    }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="idempotency">
        <name>Retries and Idempotency</name>
        <t>The Transfer Identifier allows a Receiving Server to recognize a
request that is retried because the sender did not receive the
response, for example because the connection was lost after the
Receiving Server had accepted the Message.</t>
        <t>The scope of a Transfer Identifier is the Sending Domain for transfer
requests, and the authenticated account of the Client for submission
requests (see <xref target="envelope"/>).  The key under which a Receiving Server
stores and looks up a Transfer Identifier is therefore the pair
(Sending Domain, Transfer Identifier) for transfer requests and the
pair (account, Transfer Identifier) for submission requests.  The
Sending Domain is the one established by verifying the signature of
the request (<xref target="verification"/>), never a value taken from the content
of the request.  A sender <bcp14>MUST NOT</bcp14> use the same Transfer Identifier
within one scope for requests with different content.</t>
        <t>When a Receiving Server sends a 200 (OK) or 202 (Accepted) response
to a transfer or submission request, or a 204 (No Content) response
to a delivery status report (<xref target="reports-processing"/>), it <bcp14>MUST</bcp14> store
the key, a hash of the content of the request, and the response, and
<bcp14>MUST</bcp14> retain them for at least 24 hours.  The hash is computed over
the content after any content coding has been removed, so that a
retry is recognized even if it uses a different content coding.  When
the Receiving Server receives a request whose key matches a stored
entry:</t>
        <ul spacing="normal">
          <li>
            <t>If the hash of the content of the request matches, the Receiving
Server <bcp14>MUST NOT</bcp14> process the request again and <bcp14>MUST</bcp14> return the stored
response.  If the stored response has the status code 202
(Accepted) and the retrieval of referenced content has been
completed in the meantime, it <bcp14>MAY</bcp14> return the status code 200 (OK)
with the same Response Object instead.  Senders <bcp14>MUST NOT</bcp14> retry
requests solely to learn whether a retrieval has been completed.</t>
          </li>
          <li>
            <t>Otherwise, it <bcp14>MUST</bcp14> reject the request with the "id-conflict"
problem type.  If the stored response contains a Response Object,
the problem details object contains, as extension members, its
"recipients" member and, if present, its "queueId" member.</t>
          </li>
        </ul>
        <t>If a request with the same scope and Transfer Identifier is still
being processed, the Receiving Server <bcp14>MUST NOT</bcp14> process the second
request concurrently.  It either waits until the processing of the
first request has been completed and then proceeds as described
above, or rejects the second request with the "request-in-progress"
problem type, which is a temporary failure.  A response with this
problem type <bcp14>SHOULD</bcp14> include a Retry-After header field.</t>
        <t>A request that fails as a whole does not need to be stored, because
the Message has not been accepted for any recipient.</t>
        <t>A sender retries a request as follows:</t>
        <ul spacing="normal">
          <li>
            <t>If the sender has not received a response, or has received a
response indicating a temporary failure of the whole request, it
<bcp14>MAY</bcp14> send the identical request again, with the same Transfer
Identifier and the same content.  It signs each attempt anew.  It
<bcp14>SHOULD</bcp14> send the retry within 24 hours of the first attempt, so
that the Receiving Server can recognize it.  If the outcome of the
earlier attempt is unknown, or if it was rejected with the
"request-in-progress" problem type, the retry is sent to the same
host as described in <xref target="host-selection"/>.</t>
          </li>
          <li>
            <t>For Envelope Recipients with the result "deferred", the sender
sends a new request containing only those recipients, with a new
Transfer Identifier.</t>
          </li>
          <li>
            <t>The sender <bcp14>MUST NOT</bcp14> retry a request, or deliver to an Envelope
Recipient, after a permanent failure.</t>
          </li>
        </ul>
        <t>The content of a retry is compared with the content of the earlier
request octet for octet.  The sender <bcp14>MUST</bcp14> therefore retain the octets
of the content of the request and <bcp14>MUST</bcp14> resend them unchanged.  A
Request Object that is serialized again, for example from fields that
the sender has stored in a database, is different content, even if it
represents the same JSON values, because the order of members,
whitespace, and escaping can differ.  Only the header fields of the
request, including its signature, and its content coding can differ
between attempts.</t>
        <t>If a retry is nevertheless rejected with the "id-conflict" problem
type, the earlier request has been processed, and the problem details
object contains its results.  A sender that receives this problem type
in response to a retry of its own earlier request <bcp14>MUST</bcp14> treat these
results as the results of the earlier request, and not as a failure
of the whole request.  In particular, it <bcp14>MUST NOT</bcp14> generate a delivery
status notification reporting a failure for an Envelope Recipient that
has the result "accepted".  If the request was not a retry, the
"id-conflict" problem type is a permanent failure.</t>
        <t>A failure of the whole request is temporary if the "smtpStatus" member
of the problem details object has the class 4.  If the response does
not contain a problem details object with an "smtpStatus" member, the
status codes 408, 429, and 5xx, as well as connection failures, are
temporary, and all other status codes are permanent.</t>
        <t>The sender <bcp14>MUST</bcp14> honor a Retry-After header field <xref target="RFC9110"/> in the
response.  Otherwise, the intervals between retries and the time
after which the sender gives up <bcp14>SHOULD</bcp14> follow the guidance of
<xref section="4.5.4.1" sectionFormat="of" target="RFC5321"/>.  When the sender gives up, it
generates a delivery status notification as described in <xref target="dsn"/>.
Before each retry, the sender repeats discovery if its cached results
have expired.</t>
      </section>
      <section anchor="trace">
        <name>Trace Information</name>
        <t>A server that accepts responsibility for a Message, whether through
transfer or submission, <bcp14>MUST</bcp14> prepend a Received header field to the
Message.  The field follows the syntax of <xref section="4.4" sectionFormat="of" target="RFC5321"/>
and has the following content:</t>
        <ul spacing="normal">
          <li>
            <t>The "from" clause contains, for a transfer request, the Sending
Domain, followed by the IP address of the sender of the request in
the "TCP-info" part, for example
<tt>from example.com (hmtp-out.example.com [192.0.2.25])</tt>.  For a
submission request, it contains the IP address of the Client as an
address literal, followed by the same address literal in the
"TCP-info" part, for example <tt>from [198.51.100.7] ([198.51.100.7])</tt>.
For privacy reasons, a Submission Server <bcp14>MAY</bcp14> use the address literal
<tt>[127.0.0.1]</tt> in both places instead of the IP address of the
Client.</t>
          </li>
          <li>
            <t>The "by" clause contains the host name of the server.</t>
          </li>
          <li>
            <t>The "with" clause contains "HMTP" for a transfer request and
"HMTPA" for a submission request (see <xref target="iana-transmission-types"/>).</t>
          </li>
          <li>
            <t>The "id" clause, if present, contains the "queueId" of the
response.</t>
          </li>
          <li>
            <t>The "for" clause <bcp14>SHOULD</bcp14> be included only if the request has a
single Envelope Recipient (see <xref target="privacy"/>).</t>
          </li>
        </ul>
        <t>A server <bcp14>MAY</bcp14> also prepend other trace header fields, such as an
Authentication-Results header field <xref target="RFC8601"/> that records the
result of the verification described in <xref target="verification"/>.</t>
        <t>Prepending header fields is the only modification that servers make
to a Message during transfer.  When the Message is represented as a
Content Object, a server prepends header fields by adding an inline
segment that contains them before the existing content; existing
Content References can thus be passed on unchanged.</t>
        <t>A Receiving Server <bcp14>SHOULD</bcp14> reject a Message that contains more
Received header fields than a locally configured limit with the
"loop-detected" problem type, as described in
<xref section="6.3" sectionFormat="of" target="RFC5321"/>.</t>
        <t>The following example shows a Received header field added by a
Receiving Server:</t>
        <artwork><![CDATA[
Received: from example.com (hmtp-out.example.com [192.0.2.25])
        by mx.example.net with HMTP id 4Y7mKq2ZtR;
        Thu, 01 Jan 2026 12:00:01 +0000
]]></artwork>
      </section>
    </section>
    <section anchor="submission">
      <name>Message Submission</name>
      <t>A Client submits a Message by sending a submission request to the
submission endpoint of its Submission Server.  A submission request
is an HTTP POST request with the same content as a transfer request
(see <xref target="transfer-request"/>), with the following differences:</t>
      <ul spacing="normal">
        <li>
          <t>The Client authenticates using HTTP authentication as described in
<xref target="client-authentication"/>.  The request does not need to be signed,
and the Content-Digest header field is <bcp14>OPTIONAL</bcp14>.</t>
        </li>
        <li>
          <t>The Envelope Recipients can have any domain.</t>
        </li>
      </ul>
      <t>The Submission Server processes the request as described in
<xref target="transfer-processing"/>, except that it authenticates the Client
instead of verifying a signature, accepts Envelope Recipients in any
domain, verifies the sender addresses as described in
<xref target="sender-authorization"/>, and validates the Message as described in
<xref target="message-validation"/>.  It responds with a Response
Object as described in <xref target="transfer-response"/>.  The result "accepted"
indicates that the Submission Server has accepted responsibility for
delivering the Message to the recipient; the outcome of the final
delivery is reported through delivery status notifications
(<xref target="dsn"/>).</t>
      <t>The Transfer Identifier of a submission request is scoped to the
authenticated account, as described in <xref target="idempotency"/>, so that a
Client can safely retry a submission after a lost response.</t>
      <section anchor="client-authentication">
        <name>Client Authentication</name>
        <t>The "authentication" member of the Submission Endpoint Object
(<xref target="endpoint-objects"/>) lists the HTTP authentication schemes
<xref target="RFC9110"/> accepted by the Submission Server for the submission and
identities endpoints, using the scheme names from the "HTTP
Authentication Scheme Registry".  Scheme names are compared without
regard to case.  This document uses the following schemes:</t>
        <dl>
          <dt>basic:</dt>
          <dd>
            <t>The "Basic" scheme <xref target="RFC7617"/>.  The user-id is the name of the
account at the Submission Server.  Servers that support this scheme
<bcp14>SHOULD</bcp14> include the "charset" parameter with the value "UTF-8" in
their challenges.  This scheme allows existing SMTP AUTH
credentials, including application-specific passwords, to be used
with HMTP.</t>
          </dd>
          <dt>bearer:</dt>
          <dd>
            <t>The "Bearer" scheme <xref target="RFC6750"/>.  Access tokens are obtained using
OAuth 2.0 <xref target="RFC6749"/>.  The Client discovers the authorization
servers and the supported scopes from the OAuth 2.0 Protected
Resource Metadata <xref target="RFC9728"/> of the Submission Server.</t>
          </dd>
        </dl>
        <t>A Submission Server <bcp14>MUST</bcp14> support at least one of these schemes and
<bcp14>SHOULD</bcp14> support "bearer".  Clients <bcp14>SHOULD</bcp14> support both.</t>
        <t>If a submission request or a request to the identities endpoint does
not contain valid credentials, the server responds with the status
code 401 (Unauthorized), a WWW-Authenticate header field containing a
challenge for each accepted scheme, and a problem details object with
the "authentication-required" problem type if no credentials were
provided, or the "authentication-failed" problem type if the provided
credentials are not valid.  A challenge for the "Bearer" scheme
<bcp14>SHOULD</bcp14> include the "resource_metadata" parameter defined in
<xref target="RFC9728"/>.  If a bearer token is valid but lacks a required scope,
the server responds as specified in <xref target="RFC6750"/>.</t>
        <t>Servers <bcp14>SHOULD</bcp14> limit the rate of failed authentication attempts.
Credentials for submission <bcp14>MUST NOT</bcp14> be sent to a transfer endpoint.</t>
        <t>The following example shows a rejected submission request:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="hmtp", charset="UTF-8"
WWW-Authenticate: Bearer realm="hmtp", resource_metadata=\
  "https://hmtp.provider.example/.well-known/oauth-protected-resource"
Content-Type: application/problem+json

{
  "type": "urn:ietf:params:hmtp:error:authentication-required",
  "title": "Authentication required",
  "status": 401,
  "smtpStatus": "5.7.0",
  "smtpReply": 530
}
]]></sourcecode>
      </section>
      <section anchor="sender-authorization">
        <name>Authorization of Sender Addresses</name>
        <t>A Submission Server determines the set of identities that the
authenticated Client is authorized to use, as returned by the
identities endpoint (<xref target="identities"/>).  It <bcp14>MUST</bcp14> verify that each of
the following addresses is covered by one of these identities:</t>
        <ul spacing="normal">
          <li>
            <t>the Envelope Sender, unless it is empty;</t>
          </li>
          <li>
            <t>each address in the From header field of the Message;</t>
          </li>
          <li>
            <t>the address in the Sender header field of the Message, if present.</t>
          </li>
        </ul>
        <t>An empty Envelope Sender is permitted for Messages that require it,
such as message disposition notifications <xref target="RFC8098"/>.</t>
        <t>If any of these addresses is not authorized, the Submission Server
rejects the request with the "sender-not-authorized" problem type.</t>
        <t>When the Submission Server acts as a Sending Server for the Message,
it signs the transfer requests with a key of a Sending Domain that is
aligned with the Envelope Sender (<xref target="alignment"/>).  A Submission Server
therefore only includes in the identities of a Client addresses for
which it can produce such signatures.</t>
      </section>
      <section anchor="message-validation">
        <name>Message Validation and Modification</name>
        <t>A Submission Server <bcp14>MUST</bcp14> verify that the Message conforms to
<xref target="RFC5322"/>, and in particular that it contains exactly one Date
header field and exactly one From header field.  It <bcp14>MUST</bcp14> reject a
Message that does not conform with the "invalid-request" problem
type, except as follows.</t>
        <t>A Submission Server <bcp14>MAY</bcp14> add a Date header field or a Message-ID header
field if either is missing, as permitted by <xref section="8" sectionFormat="of" target="RFC6409"/>.
Besides adding these fields, prepending trace header fields
(<xref target="trace"/>), and prepending DKIM-Signature header fields <xref target="RFC6376"/>,
a Submission Server <bcp14>MUST NOT</bcp14> modify the Message.  The Client is
responsible for any other content of the Message, including the
removal of Bcc header fields (<xref section="3.6.3" sectionFormat="of" target="RFC5322"/>).</t>
      </section>
      <section anchor="identities">
        <name>Identities</name>
        <t>The identities endpoint returns the identities that the authenticated
Client is authorized to use as originator addresses.  Its URI is given
by the "identities" member of the Submission Endpoint Object
(<xref target="endpoint-objects"/>).  A Client sends an HTTP GET request to the
endpoint, authenticated as described in
<xref target="client-authentication"/>.  The server responds with the status code
200 (OK) and a JSON object with the media type "application/json" and
the following member:</t>
        <dl>
          <dt>identities:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  An array of Identity Objects.</t>
          </dd>
        </dl>
        <t>An Identity Object is a JSON object with the following members:</t>
        <dl>
          <dt>email:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  An address that the Client may use.  If the local part of
the address is the single character "*", as in "*@example.org",
the Client may use any address in that domain, following the
convention of <xref section="6" sectionFormat="of" target="RFC8621"/>.</t>
          </dd>
          <dt>name:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A display name associated with the address, which the
Client can use in the From header field.</t>
          </dd>
        </dl>
        <t>The server <bcp14>SHOULD</bcp14> include an ETag header field in the response and
support conditional requests <xref target="RFC9110"/>.  The response is specific to
the authenticated account and <bcp14>MUST</bcp14> be marked accordingly for caches,
for example with "Cache-Control: private".</t>
        <sourcecode type="http-message"><![CDATA[
GET /hmtp/v1/identities HTTP/1.1
Host: hmtp.provider.example
Authorization: Bearer mF_9.B5f-4.1JqM

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: private
ETag: "a7c3"

{
  "identities": [
    {"email": "alice@example.com", "name": "Alice Example"},
    {"email": "*@sales.example.com"}
  ]
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="signing">
      <name>Authentication and Signing</name>
      <t>Every transfer request is signed by the Sending Server using HTTP
Message Signatures <xref target="RFC9421"/>.  The public keys are published in DNS
using the key record format and location defined by DKIM <xref target="RFC6376"/>,
so that domains can use their existing DNS infrastructure and
delegation practices.  Successful verification establishes the
Sending Domain, which the Receiving Server can use for reputation and
policy decisions.</t>
      <section anchor="signing-keys">
        <name>Signing Keys</name>
        <t>A signing key is identified by a selector and a domain, as in DKIM
(<xref section="3.1" sectionFormat="of" target="RFC6376"/>).  In a signature, the selector is carried
in the "keyid" parameter and the domain in the "domain" parameter
(<xref target="signature-construction"/>).  The public key is published as a DKIM
key record (<xref section="3.6.1" sectionFormat="of" target="RFC6376"/>) in a TXT record at the
following name:</t>
        <artwork><![CDATA[
<selector>._domainkey.<domain>
]]></artwork>
        <t>The tags of the key record are interpreted as follows:</t>
        <ul spacing="normal">
          <li>
            <t>"k" (key type): the value "ed25519" <xref target="RFC8463"/> corresponds to the
signature algorithm "ed25519", and the value "rsa" corresponds to
the signature algorithm "rsa-v1_5-sha256", both as defined in
<xref section="3.3" sectionFormat="of" target="RFC9421"/>.  Records with other key types <bcp14>MUST NOT</bcp14>
be used for HMTP.</t>
          </li>
          <li>
            <t>"p" (public key data): an empty value means that the key has been
revoked.  RSA keys <bcp14>MUST</bcp14> have a modulus of at least 2048 bits.</t>
          </li>
          <li>
            <t>"s" (service type): the record can be used for HMTP only if this
tag is absent, or if its value includes "*" or "hmtp".  The service
type "hmtp" is registered in <xref target="iana-dkim"/>.</t>
          </li>
          <li>
            <t>"h" (acceptable hash algorithms): if present for a record of key
type "rsa", the value <bcp14>MUST</bcp14> include "sha256".</t>
          </li>
          <li>
            <t>"t" (flags): if the flag "y" is present, the domain is testing the
key.  In accordance with the meaning of this flag in <xref target="RFC6376"/>,
a verifier <bcp14>MUST NOT</bcp14> treat a request signed with such a key
differently from an unsigned request, and therefore rejects it.</t>
          </li>
        </ul>
        <t>A domain <bcp14>SHOULD</bcp14> use a dedicated selector for HMTP with the service
type "hmtp" only.  Such a key record is ignored by DKIM verifiers,
which keeps keys for HMTP request signing separate from keys for DKIM
message signing (see <xref target="security-keys"/>).  A domain <bcp14>MAY</bcp14> instead use an
existing DKIM key whose record permits all service types; this
simplifies deployment but forgoes this separation.</t>
        <t>Signers and verifiers <bcp14>MUST</bcp14> implement both "ed25519" and
"rsa-v1_5-sha256".  Signers <bcp14>SHOULD</bcp14> use "ed25519".</t>
        <t>To replace a key, a domain publishes a new key record under a new
selector, starts signing with the new key, and keeps the old key
record published for at least the maximum lifetime of a signature
plus the TTL of the old record before revoking or removing it.</t>
      </section>
      <section anchor="signature-construction">
        <name>Signature Construction</name>
        <t>The Sending Server creates a signature as specified in
<xref section="3.1" sectionFormat="of" target="RFC9421"/>, with the following requirements:</t>
        <ul spacing="normal">
          <li>
            <t>The covered components <bcp14>MUST</bcp14> include "@method", "@target-uri",
"content-type", and "content-digest".  The Content-Digest header
field <bcp14>MUST</bcp14> be present in the request, as required in
<xref target="transfer-request"/>.</t>
          </li>
          <li>
            <t>The signature parameters (<xref section="2.3" sectionFormat="of" target="RFC9421"/>) <bcp14>MUST</bcp14> include
"created", "expires", "keyid", "domain", "alg", and "tag":  </t>
            <ul spacing="normal">
              <li>
                <t>"created" is the time at which the signature was created.</t>
              </li>
              <li>
                <t>"expires" <bcp14>MUST NOT</bcp14> be more than 300 seconds after "created".</t>
              </li>
              <li>
                <t>"keyid" is the selector of the key, with the syntax defined in
<xref target="RFC6376"/>, for example "hmtp2026".</t>
              </li>
              <li>
                <t>"domain" is the Sending Domain, that is, the domain under which
the key record is published, in A-label form, without a trailing
dot, for example "example.com".  This parameter is defined in
<xref target="iana-signature-params"/>.  If the Envelope Sender is not empty,
the Sending Domain <bcp14>MUST</bcp14> be aligned with it as described in
<xref target="alignment"/>.</t>
              </li>
              <li>
                <t>"alg" is the signature algorithm that corresponds to the key type
of the key record.</t>
              </li>
              <li>
                <t>"tag" is the string "hmtp".</t>
              </li>
            </ul>
            <t>
The key record is located at the name formed from these two
parameters as <tt>&lt;keyid&gt;._domainkey.&lt;domain&gt;</tt>.  Because both
parameters are covered by the signature, they cannot be changed
without invalidating it.</t>
          </li>
          <li>
            <t>The signature label is not significant; "hmtp" is <bcp14>RECOMMENDED</bcp14>.</t>
          </li>
        </ul>
        <t>A request <bcp14>MAY</bcp14> carry more than one signature with the tag "hmtp", for
example during a key rollover or a change of algorithm.  Other
signatures that the request carries are ignored for the purposes of
HMTP.</t>
        <t>The following example shows the signature-related header fields of a
transfer request:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Content-Digest: sha-256=:Cw2CRUGnwBRSPpU7qzJnP6Fk2zBdJ8u8mXh7sQe1zYI=:
Signature-Input: hmtp=("@method" "@target-uri" "content-type" \
  "content-digest");created=1767268800;expires=1767269100;\
  keyid="hmtp2026";domain="example.com";alg="ed25519";tag="hmtp"
Signature: hmtp=:3iXk1Lw3P1pZq9xH0M2eR8vUe6bJ4yD7nT5aC0fK2gS9\
  hV1mQ4wL8oE6rB3tY7uI0pA5sD2fG9hJ1kL3zX8cVQ==:
]]></sourcecode>
        <t>The corresponding key record, located at
<tt>hmtp2026._domainkey.example.com</tt>, is:</t>
        <sourcecode type="dns"><![CDATA[
hmtp2026._domainkey.example.com. 3600 IN TXT (
    "v=DKIM1; k=ed25519; s=hmtp; "
    "p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo=" )
]]></sourcecode>
        <section anchor="retrieval-signing">
          <name>Signing of Retrieval Requests</name>
          <t>A Receiving Server <bcp14>MAY</bcp14> sign the requests with which it retrieves
referenced content (<xref target="reference-retrieval"/>), using a key of its own
domain published as described in <xref target="signing-keys"/>.  Such a signature
covers at least "@method" and "@target-uri", contains the signature
parameters required in <xref target="signature-construction"/>, and uses the tag
"hmtp-retrieval".  A server that hosts referenced content <bcp14>MAY</bcp14> use such
signatures to restrict access to the content, for example to the
domains of the Envelope Recipients.  A Receiving Server that does not
sign its retrieval requests can only retrieve content that does not
require such signatures.</t>
        </section>
      </section>
      <section anchor="verification">
        <name>Verification Procedure</name>
        <t>The Receiving Server verifies a transfer request as follows.  Unless
stated otherwise, a failure of any step causes the request to be
rejected with the "signature-invalid" problem type.</t>
        <ol spacing="normal" type="1"><li>
            <t>It selects the signatures in the request whose "tag" parameter is
"hmtp".  If there is none, verification fails.  If there are
several, it processes each of them until one is verified
successfully.</t>
          </li>
          <li>
            <t>It verifies that the covered components and signature parameters
meet the requirements of <xref target="signature-construction"/> and that it
supports the algorithm given in "alg".</t>
          </li>
          <li>
            <t>It verifies that "created" is not later than the current time and
that "expires" is not earlier than the current time, both
evaluated at the time the header section of the request was
received, allowing for a clock skew of no more than 60 seconds,
and that "expires" is not more than 300 seconds after "created".</t>
          </li>
          <li>
            <t>It verifies that "keyid" is a selector with the syntax defined in
<xref target="RFC6376"/> and that "domain" is a domain name in A-label form.
The value of "domain" is the Sending Domain.</t>
          </li>
          <li>
            <t>It queries DNS for TXT records at the name
<tt>&lt;keyid&gt;._domainkey.&lt;domain&gt;</tt>.  If the query fails temporarily, it
rejects the request with the "key-unavailable" problem type, which
is a temporary failure.  If the name does not exist, or if the
response does not contain exactly one valid key record,
verification fails.  DNS responses <bcp14>SHOULD</bcp14> be validated using DNSSEC
<xref target="RFC4033"/> when available.</t>
          </li>
          <li>
            <t>It verifies that the key record meets the requirements of
<xref target="signing-keys"/> and that its key type corresponds to "alg".</t>
          </li>
          <li>
            <t>It verifies the signature as specified in
<xref section="3.2" sectionFormat="of" target="RFC9421"/>.</t>
          </li>
          <li>
            <t>It verifies that the Content-Digest header field matches the
content of the request as specified in <xref target="RFC9530"/>.  If it does
not, it rejects the request with the "digest-mismatch" problem
type.</t>
          </li>
          <li>
            <t>It verifies the alignment of the Envelope Sender with the Sending
Domain as described in <xref target="alignment"/>.</t>
          </li>
        </ol>
        <t>If verification fails, the response <bcp14>MAY</bcp14> include an Accept-Signature
header field as described in <xref target="RFC9421"/>.</t>
        <t>A Receiving Server that terminates TLS in a reverse proxy <bcp14>MUST</bcp14> ensure
that the covered components reach the verifier unchanged, or perform
verification in the proxy.</t>
      </section>
      <section anchor="alignment">
        <name>Sender Alignment</name>
        <t>The domain of a non-empty Envelope Sender is aligned with the Sending
Domain if it is equal to the Sending Domain or is a subdomain of it.
For example, the Envelope Sender "bounces@mail.example.com" is
aligned with the Sending Domain "example.com", but not with the
Sending Domain "example.org".</t>
        <t>A Receiving Server <bcp14>MUST</bcp14> reject a transfer request in which the
Envelope Sender is not empty and is not aligned with the Sending
Domain, with the "sender-not-aligned" problem type, unless the
Receiving Server has a local agreement that authorizes the Sending
Domain to relay Messages for other domains.  Such agreements are used,
for example, with inbound filtering services and backup servers that
relay Messages to the Receiving Server on behalf of the recipient
domain (see <xref target="gateways"/>).</t>
        <t>If the Envelope Sender is empty, any Sending Domain is acceptable,
and the Receiving Server applies its local policy based on the
Sending Domain.</t>
        <t>Alignment authenticates the Envelope Sender's domain, not the author
of the Message.  The domains in the From header field continue to be
authenticated by DKIM and DMARC at the message level.</t>
        <t>A server that forwards Messages to another domain, such as a mailing
list or a forwarding service, uses an Envelope Sender in a domain for
which it can produce aligned signatures.  As in SMTP, such a server
typically rewrites the Envelope Sender so that delivery status
notifications are returned to it.</t>
      </section>
      <section anchor="third-party">
        <name>Third-Party Senders</name>
        <t>A domain can authorize a third party, such as an email service
provider, to send Messages with Envelope Senders in its domain.
Because HMTP keys are published in the same way as DKIM keys, the
same delegation methods apply:</t>
        <dl>
          <dt>Delegation of a selector:</dt>
          <dd>
            <t>The domain publishes a CNAME record at a selector name that points
to a key record maintained by the provider, for example:
</t>
            <sourcecode type="dns"><![CDATA[
esp1._domainkey.example.com. 3600 IN CNAME (
    example-com.keys.esp.example. )
]]></sourcecode>
            <t>The provider signs with "keyid" set to "esp1" and "domain" set to
"example.com", which is the Sending Domain.  The domain can revoke
the authorization at any time by removing the CNAME record.</t>
          </dd>
          <dt>Publication of a provider key:</dt>
          <dd>
            <t>The domain publishes, under a selector of its own, a public key
whose private key is held by the provider.</t>
          </dd>
          <dt>Provider domain:</dt>
          <dd>
            <t>The provider uses Envelope Senders in its own domain and signs as
that domain.  The reputation of the Sending Domain then accrues to
the provider rather than to its customer.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="delivery-status-and-errors">
      <name>Delivery Status and Errors</name>
      <t>HMTP reports failures in two ways: synchronously, through problem
details objects in responses, and asynchronously, through delivery
status notifications.</t>
      <section anchor="problem-details">
        <name>Problem Details</name>
        <t>When a request fails as a whole, the server responds with a 4xx or
5xx status code and a problem details object <xref target="RFC9457"/> with the
media type "application/problem+json".  When the Message is not
accepted for an individual Envelope Recipient, the reason is given as
a problem details object in the "problem" member of the Recipient
Result Object (<xref target="transfer-response"/>); in that case, the "status"
member <bcp14>MAY</bcp14> be omitted and is ignored if present.</t>
        <t>Problem types defined for HMTP have URIs of the form
<tt>urn:ietf:params:hmtp:error:&lt;name&gt;</tt> and are registered as described
in <xref target="iana-problem-types"/>.  Servers <bcp14>MAY</bcp14> use other problem type URIs
as permitted by <xref target="RFC9457"/>.</t>
        <t>This document defines the following extension members of problem
details objects:</t>
        <dl>
          <dt>smtpStatus:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14> in problem details objects sent by HMTP servers.  An
enhanced mail system status code <xref target="RFC3463"/> in the form
"class.subject.detail".  The class <bcp14>MUST</bcp14> be 4 (persistent transient
failure) or 5 (permanent failure).  In a response, the class
determines whether the failure is temporary or permanent, also for
problem types that are unknown to the recipient of the problem
details object.  In a delivery status report, the "action" member
determines whether delivery has failed, and the class 4 can also
describe a failure after which the reporting server has given up
(<xref target="report-object"/>).</t>
          </dd>
          <dt>smtpReply:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  An SMTP reply code <xref target="RFC5321"/> that corresponds to the
failure.  It is used when the failure is reported over SMTP, for
example by a gateway (<xref target="gateways"/>) or in a delivery status
notification (<xref target="dsn"/>).  If it is absent, the reply code from
<xref target="tab-mapping"/> is used for registered problem types, and 451 or 550
otherwise, depending on the class of "smtpStatus".</t>
          </dd>
        </dl>
        <t>The "detail" member <bcp14>SHOULD</bcp14> be suitable for inclusion in a delivery
status notification sent to the Envelope Sender.  The language of
human-readable members can be indicated with the Content-Language
header field.</t>
        <t>Responses with the status codes 429 (Too Many Requests) <xref target="RFC6585"/>
and 503 (Service Unavailable) <bcp14>SHOULD</bcp14> include a Retry-After header
field.</t>
        <t>The following example shows a request that was rejected as a whole:</t>
        <sourcecode type="http-message"><![CDATA[
HTTP/1.1 403 Forbidden
Content-Type: application/problem+json
Content-Language: en

{
  "type": "urn:ietf:params:hmtp:error:sender-not-aligned",
  "title": "Envelope Sender not aligned with Sending Domain",
  "status": 403,
  "detail": "example.org is not aligned with example.com.",
  "smtpStatus": "5.7.1",
  "smtpReply": 550
}
]]></sourcecode>
      </section>
      <section anchor="smtp-mapping">
        <name>Mapping to SMTP Status Codes</name>
        <t><xref target="tab-mapping"/> lists the problem types defined by this document,
whether they apply to a whole request ("Request"), to an individual
Envelope Recipient ("Recipient"), or to both, and the HTTP status
code, enhanced status code, and SMTP reply code to be used with them.
Where two codes are given, the first is used for a temporary and the
second for a permanent failure.</t>
        <table anchor="tab-mapping">
          <name>HMTP Problem Types</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Scope</th>
              <th align="left">HTTP</th>
              <th align="left">Enhanced Status</th>
              <th align="left">Reply</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">invalid-request</td>
              <td align="left">Request</td>
              <td align="left">400</td>
              <td align="left">5.5.2</td>
              <td align="left">501</td>
            </tr>
            <tr>
              <td align="left">unsupported-capability</td>
              <td align="left">Request</td>
              <td align="left">400</td>
              <td align="left">5.5.4</td>
              <td align="left">555</td>
            </tr>
            <tr>
              <td align="left">id-conflict</td>
              <td align="left">Request</td>
              <td align="left">409</td>
              <td align="left">5.5.4</td>
              <td align="left">501</td>
            </tr>
            <tr>
              <td align="left">request-in-progress</td>
              <td align="left">Request</td>
              <td align="left">409</td>
              <td align="left">4.3.0</td>
              <td align="left">451</td>
            </tr>
            <tr>
              <td align="left">signature-invalid</td>
              <td align="left">Request</td>
              <td align="left">403</td>
              <td align="left">5.7.0</td>
              <td align="left">550</td>
            </tr>
            <tr>
              <td align="left">key-unavailable</td>
              <td align="left">Request</td>
              <td align="left">503</td>
              <td align="left">4.4.3</td>
              <td align="left">451</td>
            </tr>
            <tr>
              <td align="left">digest-mismatch</td>
              <td align="left">Request</td>
              <td align="left">400</td>
              <td align="left">5.7.7</td>
              <td align="left">554</td>
            </tr>
            <tr>
              <td align="left">sender-not-aligned</td>
              <td align="left">Request</td>
              <td align="left">403</td>
              <td align="left">5.7.1</td>
              <td align="left">550</td>
            </tr>
            <tr>
              <td align="left">authentication-required</td>
              <td align="left">Request</td>
              <td align="left">401</td>
              <td align="left">5.7.0</td>
              <td align="left">530</td>
            </tr>
            <tr>
              <td align="left">authentication-failed</td>
              <td align="left">Request</td>
              <td align="left">401</td>
              <td align="left">5.7.8</td>
              <td align="left">535</td>
            </tr>
            <tr>
              <td align="left">sender-not-authorized</td>
              <td align="left">Request</td>
              <td align="left">403</td>
              <td align="left">5.7.1</td>
              <td align="left">550</td>
            </tr>
            <tr>
              <td align="left">request-too-large</td>
              <td align="left">Request</td>
              <td align="left">413</td>
              <td align="left">5.3.4</td>
              <td align="left">552</td>
            </tr>
            <tr>
              <td align="left">message-too-large</td>
              <td align="left">Both</td>
              <td align="left">413</td>
              <td align="left">5.3.4</td>
              <td align="left">552</td>
            </tr>
            <tr>
              <td align="left">too-many-recipients</td>
              <td align="left">Request</td>
              <td align="left">422</td>
              <td align="left">4.5.3</td>
              <td align="left">452</td>
            </tr>
            <tr>
              <td align="left">rate-limited</td>
              <td align="left">Request</td>
              <td align="left">429</td>
              <td align="left">4.7.0</td>
              <td align="left">451</td>
            </tr>
            <tr>
              <td align="left">server-unavailable</td>
              <td align="left">Request</td>
              <td align="left">503</td>
              <td align="left">4.3.2</td>
              <td align="left">421</td>
            </tr>
            <tr>
              <td align="left">content-unavailable</td>
              <td align="left">Request</td>
              <td align="left">502 / 422</td>
              <td align="left">4.4.1 / 5.6.0</td>
              <td align="left">451 / 554</td>
            </tr>
            <tr>
              <td align="left">content-mismatch</td>
              <td align="left">Request</td>
              <td align="left">422</td>
              <td align="left">5.7.7</td>
              <td align="left">554</td>
            </tr>
            <tr>
              <td align="left">loop-detected</td>
              <td align="left">Request</td>
              <td align="left">422</td>
              <td align="left">5.4.6</td>
              <td align="left">554</td>
            </tr>
            <tr>
              <td align="left">policy-rejected</td>
              <td align="left">Both</td>
              <td align="left">403</td>
              <td align="left">4.7.1 / 5.7.1</td>
              <td align="left">451 / 550</td>
            </tr>
            <tr>
              <td align="left">unknown-recipient</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">5.1.1</td>
              <td align="left">550</td>
            </tr>
            <tr>
              <td align="left">invalid-address</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">5.1.3</td>
              <td align="left">553</td>
            </tr>
            <tr>
              <td align="left">domain-not-served</td>
              <td align="left">Both</td>
              <td align="left">422</td>
              <td align="left">5.1.2</td>
              <td align="left">550</td>
            </tr>
            <tr>
              <td align="left">mailbox-disabled</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">5.2.1</td>
              <td align="left">550</td>
            </tr>
            <tr>
              <td align="left">mailbox-full</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">4.2.2 / 5.2.2</td>
              <td align="left">452 / 552</td>
            </tr>
            <tr>
              <td align="left">routing-failed</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">4.4.4 / 5.4.4</td>
              <td align="left">451 / 550</td>
            </tr>
            <tr>
              <td align="left">delivery-expired</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">4.4.7</td>
              <td align="left">451</td>
            </tr>
            <tr>
              <td align="left">conversion-required</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">5.6.3</td>
              <td align="left">554</td>
            </tr>
            <tr>
              <td align="left">tls-required</td>
              <td align="left">Recipient</td>
              <td align="left">-</td>
              <td align="left">5.7.30</td>
              <td align="left">550</td>
            </tr>
          </tbody>
        </table>
        <t>The meaning of each problem type is as follows:</t>
        <dl>
          <dt>invalid-request:</dt>
          <dd>
            <t>The request content is not a valid Request Object, the Message does
not conform to <xref target="RFC5322"/>, or another requirement of this document
is not met.</t>
          </dd>
          <dt>unsupported-capability:</dt>
          <dd>
            <t>The request lists a capability that the server does not support.</t>
          </dd>
          <dt>id-conflict:</dt>
          <dd>
            <t>The Transfer Identifier has already been used for a request with
different content (<xref target="idempotency"/>).  The problem details object
contains the results of the earlier request.</t>
          </dd>
          <dt>request-in-progress:</dt>
          <dd>
            <t>A request with the same Transfer Identifier in the same scope is
still being processed (<xref target="idempotency"/>).  The sender retries the
request later at the same host (<xref target="host-selection"/>).</t>
          </dd>
          <dt>signature-invalid:</dt>
          <dd>
            <t>The request has no valid HMTP signature (<xref target="verification"/>).</t>
          </dd>
          <dt>key-unavailable:</dt>
          <dd>
            <t>The key record could not be retrieved because of a temporary DNS
failure.</t>
          </dd>
          <dt>digest-mismatch:</dt>
          <dd>
            <t>The Content-Digest header field does not match the content of the
request.</t>
          </dd>
          <dt>sender-not-aligned:</dt>
          <dd>
            <t>The Envelope Sender is not aligned with the Sending Domain
(<xref target="alignment"/>).</t>
          </dd>
          <dt>authentication-required:</dt>
          <dd>
            <t>A submission request or identities request carries no credentials.</t>
          </dd>
          <dt>authentication-failed:</dt>
          <dd>
            <t>The credentials of a submission request or identities request are
not valid.  This problem type corresponds to the SMTP enhanced
status code 5.7.8 defined in <xref target="RFC4954"/>.</t>
          </dd>
          <dt>sender-not-authorized:</dt>
          <dd>
            <t>The Client is not authorized to use an originator address of the
Message (<xref target="sender-authorization"/>).</t>
          </dd>
          <dt>request-too-large:</dt>
          <dd>
            <t>The content of the request exceeds the "maxRequestSize" limit.  The
sender can transfer part of the Message by reference instead.</t>
          </dd>
          <dt>message-too-large:</dt>
          <dd>
            <t>The size of the Message exceeds a limit of the server or of a
recipient mailbox.</t>
          </dd>
          <dt>too-many-recipients:</dt>
          <dd>
            <t>The number of Envelope Recipients exceeds the "maxRecipients"
limit.  The sender <bcp14>MUST NOT</bcp14> repeat the request unchanged; it splits
the Envelope Recipients into several requests with new Transfer
Identifiers.</t>
          </dd>
          <dt>rate-limited:</dt>
          <dd>
            <t>The sender has exceeded a rate limit of the server.</t>
          </dd>
          <dt>server-unavailable:</dt>
          <dd>
            <t>The server is temporarily unable to process requests.</t>
          </dd>
          <dt>content-unavailable:</dt>
          <dd>
            <t>Referenced content could not be retrieved
(<xref target="reference-retrieval"/>).</t>
          </dd>
          <dt>content-mismatch:</dt>
          <dd>
            <t>The size or digest of referenced content does not match its Content
Reference.  This problem type corresponds to the enhanced status
code for message integrity failures defined in <xref target="RFC3463"/>.</t>
          </dd>
          <dt>loop-detected:</dt>
          <dd>
            <t>The Message has passed through too many servers (<xref target="trace"/>).</t>
          </dd>
          <dt>policy-rejected:</dt>
          <dd>
            <t>The Message was rejected by the local policy of the server, for
example on the basis of the reputation of the Sending Domain or the
content of the Message.</t>
          </dd>
          <dt>unknown-recipient:</dt>
          <dd>
            <t>The recipient mailbox does not exist.</t>
          </dd>
          <dt>invalid-address:</dt>
          <dd>
            <t>The address of the Envelope Recipient is syntactically invalid
(<xref target="envelope"/>).  Only this Envelope Recipient is rejected; the
other Envelope Recipients of the request are not affected.</t>
          </dd>
          <dt>domain-not-served:</dt>
          <dd>
            <t>The server does not accept Messages for the domain of the Envelope
Recipient and has no agreement to relay them, or, for a delivery
status report, does not serve the domain of the "envelopeSender"
member (<xref target="reports-processing"/>).</t>
          </dd>
          <dt>mailbox-disabled:</dt>
          <dd>
            <t>The recipient mailbox exists but does not accept Messages.</t>
          </dd>
          <dt>mailbox-full:</dt>
          <dd>
            <t>The recipient mailbox has exceeded its storage limit.</t>
          </dd>
          <dt>routing-failed:</dt>
          <dd>
            <t>The server was unable to route the Message toward the recipient,
for example because the recipient domain supports neither HMTP nor,
for a server that supports fallback, SMTP.</t>
          </dd>
          <dt>delivery-expired:</dt>
          <dd>
            <t>The server has given up retrying the delivery to the recipient
(<xref target="idempotency"/>), and no more specific problem type is available.
It is used in delivery status reports and DSN messages with the
action "failed" (<xref target="dsn"/>) and corresponds to the enhanced status
code for an expired delivery time defined in <xref target="RFC3463"/>.</t>
          </dd>
          <dt>conversion-required:</dt>
          <dd>
            <t>Delivery requires a conversion of the Message that the server does
not perform, for example because an SMTP server used for fallback
does not support an extension that the Message requires, or because
the request uses a must-understand capability that cannot be
forwarded over SMTP (<xref target="when-to-fall-back"/>).</t>
          </dd>
          <dt>tls-required:</dt>
          <dd>
            <t>The Envelope requests REQUIRETLS, and the requirement cannot be
satisfied on the path to the recipient.  The enhanced status code
is defined in <xref target="RFC8689"/>.</t>
          </dd>
        </dl>
        <section anchor="smtp-reverse-mapping">
          <name>Mapping from SMTP Replies</name>
          <t><xref target="tab-mapping"/> maps problem types to SMTP replies.  A server that
forwards a Message over SMTP, for example after a fallback
(<xref target="smtp-fallback"/>) or to an SMTP server of the recipient domain
(<xref target="coexistence"/>), receives SMTP replies instead of problem details
objects.  When it reports a failure that it received in an SMTP reply
in a problem details object, for example in a delivery status report
(<xref target="reports"/>) or in its own response to an HMTP request, it
constructs the problem details object as follows:</t>
          <ul spacing="normal">
            <li>
              <t>The "smtpStatus" member contains the enhanced status code of the
reply.  If the reply does not contain an enhanced status code, for
example because the SMTP server does not support the
ENHANCEDSTATUSCODES extension <xref target="RFC2034"/>, it contains "4.0.0" or
"5.0.0", according to the first digit of the reply code.</t>
            </li>
            <li>
              <t>The "smtpReply" member contains the reply code.</t>
            </li>
            <li>
              <t>The "detail" member contains the text of the reply, without the
reply code and the enhanced status code.</t>
            </li>
            <li>
              <t>If <xref target="tab-mapping"/> lists the enhanced status code for a problem
type with the scope "Recipient" or "Both", the "type" member
identifies that problem type, for example
"urn:ietf:params:hmtp:error:unknown-recipient" for the code 5.1.1.
Otherwise, the "type" member contains "about:blank"
(<xref section="4.2.1" sectionFormat="of" target="RFC9457"/>), and the failure is described only
by the other members.</t>
            </li>
          </ul>
          <t>A reply that applies to all Envelope Recipients, such as a rejection
of the MAIL FROM or DATA command, is reported in this way for each of
them.</t>
        </section>
      </section>
      <section anchor="dsn">
        <name>Delivery Status Notifications</name>
        <t>When a Message cannot be delivered after it has been accepted, or when
a delivery status notification (DSN) is requested on success or
delay, a DSN is generated as specified in <xref target="RFC3461"/> and <xref target="RFC3464"/>.
The DSN parameters of the Envelope (<xref target="envelope"/>) have the same
semantics as the corresponding SMTP parameters.  In particular:</t>
        <ul spacing="normal">
          <li>
            <t>A Sending Server generates a DSN for an Envelope Recipient that was
rejected by the Receiving Server or for which it has given up
retrying (<xref target="idempotency"/>).  The Receiving Server does not generate
a DSN for a recipient that it rejected in its response.</t>
          </li>
          <li>
            <t>A Receiving Server generates a DSN for an Envelope Recipient for
which it accepted the Message but later failed to deliver it,
including when the retrieval of referenced content fails after the
response (<xref target="reference-retrieval"/>).</t>
          </li>
          <li>
            <t>A DSN is sent to the Envelope Sender of the original Message, with
an empty Envelope Sender.  No DSN is generated for a Message whose
Envelope Sender is empty.</t>
          </li>
          <li>
            <t>A server that relays a Message passes the DSN parameters on to the
next hop, whether that hop uses HMTP or SMTP.</t>
          </li>
          <li>
            <t>If the domain of the Envelope Sender supports delivery status
reports, the information is sent as a report instead of a DSN
message, as described in <xref target="reports"/>.  All HMTP servers <bcp14>MUST</bcp14>
continue to accept DSN messages, which are ordinary Messages.</t>
          </li>
        </ul>
        <t>The fields of the DSN are filled in as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The "Reporting-MTA" field contains the host name of the reporting
server with the type "dns".</t>
          </li>
          <li>
            <t>The "Remote-MTA" field, if present, contains the TargetName of the
HMTP Endpoint or, after a fallback to SMTP (<xref target="smtp-fallback"/>), the
host name of the SMTP server, with the type "dns".</t>
          </li>
          <li>
            <t>The "Status" field contains the enhanced status code from the
"smtpStatus" member of the problem details object.  A server that
gives up after retries uses the "failed" action together with the
enhanced status code of the last temporary failure, which has the
class 4, or, if no more specific code is available, the code 4.4.7
of the "delivery-expired" problem type.  As described in
<xref target="RFC3463"/>, the class 4 then denotes a persistent transient
failure that has caused the abandonment of delivery attempts.</t>
          </li>
          <li>
            <t>The "Diagnostic-Code" field uses the diagnostic type "smtp" and
contains the SMTP reply code, the enhanced status code, and the
"detail" member of the problem details object, if any.</t>
          </li>
          <li>
            <t>The "Original-Recipient" and "Original-Envelope-Id" fields are
derived from the "orcpt" and "envid" members of the Envelope.</t>
          </li>
        </ul>
        <t>If the Envelope requests the return of the full Message ("ret" is
"full") and the Message is very large, the DSN <bcp14>MAY</bcp14> contain only the
header section of the Message.</t>
        <t>DSNs are ordinary Messages and are transferred using HMTP or SMTP like
any other Message.</t>
        <section anchor="dsn-example">
          <name>Example</name>
          <t>The following DSN is generated by the Sending Server in the example of
<xref target="fallback-example"/> for the rejected Envelope Recipient
"dave@example.org".  It uses the "multipart/report" media type
<xref target="RFC6522"/> with a "message/delivery-status" part <xref target="RFC3464"/>.
Because the "ret" member of the Envelope is "hdrs", the DSN contains
only the header section of the original Message:</t>
          <artwork><![CDATA[
Date: Thu, 01 Jan 2026 12:00:03 +0000
From: Mail Delivery System <mailer-daemon@hmtp.provider.example>
To: alice@example.com
Subject: Delivery Status Notification (Failure)
Message-ID: <dsn.Xk4mP9qR2sT7@hmtp.provider.example>
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
        boundary="dsn-b1"

--dsn-b1
Content-Type: text/plain; charset=us-ascii

Your message could not be delivered to the following recipient:

  dave@example.org
  550 5.1.1 Recipient address rejected

--dsn-b1
Content-Type: message/delivery-status

Reporting-MTA: dns; hmtp.provider.example
Original-Envelope-Id: QQ314159
Arrival-Date: Thu, 01 Jan 2026 11:59:58 +0000

Original-Recipient: rfc822;dave@example.org
Final-Recipient: rfc822;dave@example.org
Action: failed
Status: 5.1.1
Remote-MTA: dns; mx.example.org
Diagnostic-Code: smtp; 550 5.1.1 <dave@example.org>: Recipient
 address rejected

--dsn-b1
Content-Type: text/rfc822-headers

Received: from [198.51.100.7] ([198.51.100.7])
        by hmtp.provider.example with HMTPA id S-20260101-0043;
        Thu, 01 Jan 2026 11:59:58 +0000
Date: Thu, 01 Jan 2026 11:59:57 +0000
From: Alice <alice@example.com>
To: Dave <dave@example.org>, Erin <erin@example.org>
Subject: Quarterly report
Message-ID: <20260101115957.4f2a@example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

--dsn-b1--
]]></artwork>
          <t>The fields of the "message/delivery-status" part are derived as
described above: "Original-Envelope-Id" from the "envid" member,
"Original-Recipient" from the "orcpt" member, "Status" and
"Diagnostic-Code" from the SMTP reply, and "Remote-MTA" from the host
name of the SMTP server.  If the failure had been reported by an HMTP
Receiving Server, "Status" would have been taken from the "smtpStatus"
member of the problem details object, "Diagnostic-Code" would have
been composed from its "smtpReply", "smtpStatus", and "detail"
members, and "Remote-MTA" would have contained the TargetName of the
HMTP Endpoint.</t>
          <t>The DSN is delivered to the Envelope Sender of the original Message
like any other Message, with an empty Envelope Sender, so that no DSN
is generated if the DSN itself cannot be delivered.  When it is
transferred using HMTP, the Request Object contains the following
Envelope; because the Envelope Sender is empty, any Sending Domain is
acceptable (<xref target="alignment"/>):</t>
          <sourcecode type="json"><![CDATA[
{
  "id": "nH8sK2dL5fQ9wE3rT6yU1i",
  "from": "",
  "to": [{"address": "alice@example.com"}]
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="reports">
        <name>Delivery Status Reports</name>
        <t>DSN messages are designed to be read by people and are difficult to
process automatically, because the information has to be extracted
from a multipart Message.  When both the reporting server and the
domain of the Envelope Sender support HMTP, the same information can
instead be sent as a delivery status report: a JSON document that is
transferred directly to the "reports" endpoint of that domain.</t>
        <t>Delivery status reports are <bcp14>OPTIONAL</bcp14>.  A server that does not support
them sends DSN messages as described in <xref target="dsn"/>, and every HMTP server
<bcp14>MUST</bcp14> continue to accept DSN messages.  A report carries the same
information as a DSN message and is subject to the same rules on when
it is generated: a report is sent only where <xref target="RFC3461"/> and <xref target="dsn"/>
call for a DSN.</t>
        <section anchor="reports-sending">
          <name>Sending Reports</name>
          <t>When a server is about to generate a DSN for a Message whose Envelope
Sender is not empty, it performs discovery (<xref target="discovery"/>) for the
domain of the Envelope Sender.  If the domain supports HMTP and the
Transfer Endpoint Object in a version that the server supports
contains a "reports" member (<xref target="endpoint-objects"/>), the server <bcp14>SHOULD</bcp14>
send a report to the URI given in that member instead of generating a
DSN message.  Otherwise, it generates a DSN message.</t>
          <t>A report is sent with an HTTP POST request to the "reports" endpoint.
The request has the same properties as a transfer request
(<xref target="transfer-request"/>), except that its content is a Report Object
(<xref target="report-object"/>):</t>
          <ul spacing="normal">
            <li>
              <t>The Content-Type header field is "application/json", and the
request contains a Content-Digest header field.</t>
            </li>
            <li>
              <t>The request is signed as described in <xref target="signing"/> on behalf of the
domain of the reporting server.  Because a report has no Envelope
Sender, the alignment rules of <xref target="alignment"/> do not apply, as for a
Message with an empty Envelope Sender.</t>
            </li>
            <li>
              <t>The "id" member of the Report Object is a Transfer Identifier, and
retries follow the rules of <xref target="idempotency"/>.  The server that
receives the report stores the Transfer Identifier when it responds
with the status code 204 (No Content), as it does for a transfer
request when it responds with 200 (OK) or 202 (Accepted).</t>
            </li>
          </ul>
          <t>A report covers one Message and <bcp14>MAY</bcp14> cover several of its Envelope
Recipients, in the same way as a single DSN message.  A server <bcp14>MUST
NOT</bcp14> combine information about different Messages in one report.</t>
          <t>If the request fails temporarily, the server retries it as described
in <xref target="idempotency"/>.  If the request fails permanently, or if the server
gives up retrying, it <bcp14>MUST</bcp14> generate a DSN message instead, so that the
information is not lost.  A retry that is rejected with the
"id-conflict" problem type is not a permanent failure in this sense:
it indicates that the earlier report has been accepted
(<xref target="idempotency"/>).  No report and no DSN message is generated
about the failure to deliver a report or a DSN message.</t>
        </section>
        <section anchor="report-object">
          <name>Report Object</name>
          <t>A Report Object is a JSON object with the following members:</t>
          <dl>
            <dt>id:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The Transfer Identifier of the report, with the syntax
and semantics described in <xref target="envelope"/> and <xref target="idempotency"/>.</t>
            </dd>
            <dt>envelopeSender:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The Envelope Sender of the original Message, to which the
report is addressed.</t>
            </dd>
            <dt>reportingServer:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The host name of the server that generates the report.</t>
            </dd>
            <dt>transferId:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The Transfer Identifier of the transfer request in which
the reporting server received the Message, if it received the
Message in a transfer request.  This member is present if and only
if "transferDomain" is present.</t>
            </dd>
            <dt>transferDomain:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The Sending Domain of that transfer request, in A-label
form, which is the scope of "transferId" (<xref target="idempotency"/>).  This
member is present if and only if "transferId" is present.
</t>
              <t>Together, "transferId" and "transferDomain" allow the sender of that
request to correlate the report with the request.  The report is
sent to the domain of the Envelope Sender, which is not necessarily
the Sending Domain of that request, for example if the Message
reached the reporting server through a relay.</t>
            </dd>
            <dt>envid:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The value of the "envid" member of the Envelope of the
original Message, if present.</t>
            </dd>
            <dt>messageId:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The value of the Message-ID header field of the original
Message, if present.</t>
            </dd>
            <dt>arrivalDate:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A timestamp at which the reporting server received the
Message.</t>
            </dd>
            <dt>recipients:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  A non-empty array of Recipient Report Objects, one for
each Envelope Recipient that the report covers.</t>
            </dd>
            <dt>returnedContent:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A Content Object (<xref target="content-object"/>) that contains the
original Message or its header section, as requested by the "ret"
member of the Envelope, under the same conditions as for a DSN
message.</t>
            </dd>
          </dl>
          <t>A Recipient Report Object is a JSON object with the following members:</t>
          <dl>
            <dt>finalRecipient:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The address of the Envelope Recipient to which the report
refers.</t>
            </dd>
            <dt>originalRecipient:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The value of the "orcpt" member of the Recipient Object,
if present.</t>
            </dd>
            <dt>action:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The action taken for the recipient: one of "failed",
"delayed", "delivered", "relayed", and "expanded", with the
semantics of the Action field of <xref target="RFC3464"/>.</t>
            </dd>
            <dt>problem:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14> for the actions "failed" and "delayed", and absent
otherwise.  A problem details object (<xref target="problem-details"/>) that
describes the reason for the action.  Its "smtpStatus" member is the
enhanced status code <xref target="RFC3463"/> of the recipient.  For the action
"delayed", it <bcp14>MUST</bcp14> have the class 4.  For the action "failed", it
has the class 5 if the failure is permanent, or the class 4 if the
reporting server has given up after a persistent temporary failure,
as described in <xref target="dsn"/>.  The action, not the class, determines
whether the reporting server makes further delivery attempts.  If
the failure was reported by an SMTP server, the problem details
object is constructed as described in <xref target="smtp-reverse-mapping"/>.
For the actions "delivered", "relayed", and "expanded", the enhanced
status code is "2.0.0".</t>
            </dd>
            <dt>remoteServer:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  The host name of the server that reported the failure,
such as the TargetName of an HMTP Endpoint or the host name of an
SMTP server.</t>
            </dd>
            <dt>lastAttempt:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A timestamp of the last delivery attempt.</t>
            </dd>
            <dt>willRetryUntil:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  For the action "delayed", a timestamp after which the
reporting server will stop retrying.</t>
            </dd>
          </dl>
        </section>
        <section anchor="reports-processing">
          <name>Processing Reports</name>
          <t>The server that receives a report verifies the request as described in
<xref target="verification"/>, except for the alignment check.  It rejects a report
whose "envelopeSender" is in a domain that it does not serve with the
"domain-not-served" problem type.  It checks the Transfer Identifier
of the report as described in <xref target="idempotency"/>: if the report is a
retry of a report that has already been processed, it returns the
stored response and does not process the report again, so that the
Envelope Sender receives the information only once.  Otherwise, it
responds with the status code 204 (No Content) and stores the
Transfer Identifier.  By doing so, it accepts responsibility for the
report in the same way as for a Message.</t>
          <t>The server <bcp14>SHOULD</bcp14> correlate the report with a Message that it sent,
using the "transferId", "envid", and "messageId" members.  It uses
the "transferId" member only if the "transferDomain" member is a
Sending Domain on whose behalf it signs transfer requests; otherwise,
the Transfer Identifier belongs to the scope of another domain, such
as that of a relay, and is ignored.  It <bcp14>MAY</bcp14>
discard a report that it cannot correlate with any Message, but it
still responds with the status code 204 (No Content), so that the
reporting server does not retry the report.  Senders that rely on
reports <bcp14>SHOULD</bcp14> use values of "envid" that cannot be guessed (see
<xref target="security-reports"/>).</t>
          <t>The server then makes the information available to the Envelope
Sender.  If the Envelope Sender is a mailbox that is read with a mail
client, the server <bcp14>SHOULD</bcp14> convert the report into a DSN message
<xref target="RFC3464"/> as described in <xref target="reports-mapping"/> and deliver it to the
mailbox, so that existing clients can display it.  Automated
recipients, such as mailing list managers and bounce processing
systems, can process the report directly.</t>
        </section>
        <section anchor="reports-mapping">
          <name>Mapping to DSN Fields</name>
          <t><xref target="tab-reports"/> lists the members of a report and the corresponding
fields of a DSN message <xref target="RFC3464"/>.  Timestamps are converted to the
date-time format of <xref target="RFC5322"/>.  Host names use the type "dns".
Addresses use the type "rfc822" or, for internationalized addresses,
the type defined in <xref target="RFC6533"/>.  The "returnedContent" member becomes
the third part of the DSN message, of type "message/rfc822" for the
full Message or "text/rfc822-headers" for the header section.</t>
          <table anchor="tab-reports">
            <name>Mapping of Reports to DSN Fields</name>
            <thead>
              <tr>
                <th align="left">Report member</th>
                <th align="left">DSN field</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">reportingServer</td>
                <td align="left">Reporting-MTA</td>
              </tr>
              <tr>
                <td align="left">envid</td>
                <td align="left">Original-Envelope-Id</td>
              </tr>
              <tr>
                <td align="left">arrivalDate</td>
                <td align="left">Arrival-Date</td>
              </tr>
              <tr>
                <td align="left">originalRecipient</td>
                <td align="left">Original-Recipient</td>
              </tr>
              <tr>
                <td align="left">finalRecipient</td>
                <td align="left">Final-Recipient</td>
              </tr>
              <tr>
                <td align="left">action</td>
                <td align="left">Action</td>
              </tr>
              <tr>
                <td align="left">problem, "smtpStatus" member</td>
                <td align="left">Status</td>
              </tr>
              <tr>
                <td align="left">problem</td>
                <td align="left">Diagnostic-Code, of type "smtp"</td>
              </tr>
              <tr>
                <td align="left">remoteServer</td>
                <td align="left">Remote-MTA</td>
              </tr>
              <tr>
                <td align="left">lastAttempt</td>
                <td align="left">Last-Attempt-Date</td>
              </tr>
              <tr>
                <td align="left">willRetryUntil</td>
                <td align="left">Will-Retry-Until</td>
              </tr>
            </tbody>
          </table>
          <t>The "Status" field contains the "smtpStatus" member of the problem
details object, or "2.0.0" if the report contains no problem details
object for the recipient.  The "Diagnostic-Code" field is composed from
the "smtpReply", "smtpStatus", and "detail" members of the problem
details object, as described in <xref target="dsn"/>, and is omitted if there is no
problem details object.</t>
        </section>
        <section anchor="reports-example">
          <name>Example</name>
          <t>In the example of <xref target="transfer-response"/>, the Receiving Server
"mx.example.net" accepted the Message for "bob@example.net".  When it
later fails to deliver the Message because the mailbox is over quota,
it performs discovery for "example.com", the domain of the Envelope
Sender, finds a "reports" endpoint, and sends the following report
instead of a DSN message:</t>
          <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /hmtp/v1/reports HTTP/1.1
Host: hmtp.provider.example
Content-Type: application/json
Content-Digest: sha-256=:...:
Signature-Input: hmtp=("@method" "@target-uri" "content-type" \
  "content-digest");created=1767269400;expires=1767269700;\
  keyid="hmtp2026";domain="example.net";alg="ed25519";tag="hmtp"
Signature: hmtp=:...:

{
  "id": "Rp7xK1mN4qT8vZ2cW5bH9d",
  "envelopeSender": "bounces+7f3a@example.com",
  "reportingServer": "mx.example.net",
  "transferId": "3q2-7wEXAMPLEd9Kc1fQ0g",
  "transferDomain": "example.com",
  "messageId": "<20260101115500.9c1d@example.com>",
  "arrivalDate": "2026-01-01T12:00:01Z",
  "recipients": [
    {
      "finalRecipient": "bob@example.net",
      "action": "failed",
      "problem": {
        "type": "urn:ietf:params:hmtp:error:mailbox-full",
        "title": "Mailbox full",
        "detail": "The mailbox bob@example.net is over quota.",
        "smtpStatus": "5.2.2",
        "smtpReply": 552
      },
      "lastAttempt": "2026-01-01T12:10:00Z"
    }
  ]
}

HTTP/1.1 204 No Content
]]></sourcecode>
          <t>The request is signed by "example.net", the domain of the reporting
server.  The server of "example.com" correlates the report with its
earlier transfer request through the "transferId" member, because the
"transferDomain" member is its own Sending Domain.  Had the Message
reached "mx.example.net" through a relay, "transferDomain" would
contain the Sending Domain of the relay, and the server of
"example.com" would correlate the report through the "envid" or
"messageId" member instead.</t>
        </section>
      </section>
    </section>
    <section anchor="smtp-fallback">
      <name>SMTP Fallback and Interoperability</name>
      <t>HMTP is a self-contained protocol.  Support for SMTP is <bcp14>OPTIONAL</bcp14> and
serves the interoperability with domains and systems that do not support
HMTP (<xref target="coexistence"/>).  A Sending Server that does not support SMTP
rejects Envelope Recipients whose domains do not support HMTP with the
"routing-failed" problem type and a permanent enhanced status code.</t>
      <section anchor="when-to-fall-back">
        <name>When to Fall Back</name>
        <t>The rules in this section apply when the next hop for an Envelope
Recipient is determined by discovery.  Forwarding a Message to a next
hop that is determined by local configuration is not a fallback and is
described in <xref target="coexistence"/>.</t>
        <t>A Sending Server that supports SMTP <bcp14>MAY</bcp14> deliver a Message to an
Envelope Recipient using SMTP only if all of the following conditions
hold:</t>
        <ol spacing="normal" type="1"><li>
            <t>Discovery (<xref target="discovery"/>) has determined that the domain of the
Envelope Recipient does not support HMTP.</t>
          </li>
          <li>
            <t>The Sending Server has no unexpired downgrade policy with the mode
"enforce" for that domain (<xref target="policy"/>).</t>
          </li>
          <li>
            <t>Every must-understand capability that the request uses
(<xref target="capabilities"/>) can be forwarded over SMTP: its specification
defines how the capability is handled when the Message is forwarded
over SMTP, for example by mapping it to an SMTP extension or by
completing its function before the Message is forwarded.</t>
          </li>
        </ol>
        <t>If the first two conditions hold but the third does not, the Message
can be delivered neither over HMTP nor over SMTP.  The delivery to the
affected Envelope Recipients fails with the "conversion-required"
problem type, and the Sending Server generates a delivery status
notification (<xref target="dsn"/>).  The third condition also applies when the next
hop is determined by local configuration (<xref target="coexistence"/>).</t>
        <t>A Sending Server <bcp14>MUST NOT</bcp14> fall back to SMTP after a temporary failure
of discovery or of an HMTP request, such as a DNS timeout, a
connection or TLS failure, or a response with a 5xx or 429 status
code.  It retries the delivery using HMTP as described in
<xref target="idempotency"/>.  A Sending Server <bcp14>MUST NOT</bcp14> fall back to SMTP after
an HMTP request has been rejected permanently.</t>
        <t>When it falls back, the Sending Server delivers the Message as
specified in <xref target="RFC5321"/>, with the following requirements:</t>
        <ul spacing="normal">
          <li>
            <t>It locates the SMTP server using MX records as specified in
<xref section="5.1" sectionFormat="of" target="RFC5321"/>.  If the domain publishes a null MX
record <xref target="RFC7505"/>, the Message cannot be delivered.</t>
          </li>
          <li>
            <t>It retrieves all referenced content and reconstructs the Message
before the transfer, because SMTP cannot carry Content References.</t>
          </li>
          <li>
            <t>It transmits the Envelope using the parameters of the corresponding
SMTP extensions: the BODY parameter for "body" <xref target="RFC6152"/>
              <xref target="RFC3030"/>, the SMTPUTF8 parameter for "smtpUtf8" <xref target="RFC6531"/>, the
RET, ENVID, NOTIFY, and ORCPT parameters for the DSN parameters
<xref target="RFC3461"/>, and the REQUIRETLS parameter for "requireTls"
<xref target="RFC8689"/>.  Values are encoded as "xtext" where <xref target="RFC3461"/>
requires it.</t>
          </li>
          <li>
            <t>It <bcp14>MUST NOT</bcp14> convert the Message.  If the SMTP server does not
support an extension that the Message requires, such as 8BITMIME,
BINARYMIME, or SMTPUTF8, the delivery to the affected Envelope
Recipients fails with the "conversion-required" problem type.  If
"requireTls" is true and the requirements of <xref target="RFC8689"/> cannot be
met, the delivery fails with the "tls-required" problem type.</t>
          </li>
          <li>
            <t>Members of capabilities that are not must-understand are not
transferred over SMTP.  If a must-understand capability is mapped to
an SMTP extension that the SMTP server does not support, the delivery
fails with the "conversion-required" problem type, as for other
extensions that the Message requires.</t>
          </li>
          <li>
            <t>If the SMTP server does not support the DSN extension, the Sending
Server behaves as specified in <xref target="RFC3461"/> for relaying to a server
that does not support it.</t>
          </li>
          <li>
            <t>Where a failure reported by the SMTP server needs to be expressed as
a problem details object, for example in a delivery status report,
the Sending Server constructs it as described in
<xref target="smtp-reverse-mapping"/>.</t>
          </li>
          <li>
            <t>It <bcp14>SHOULD</bcp14> use STARTTLS <xref target="RFC3207"/> and <bcp14>SHOULD</bcp14> apply MTA-STS
<xref target="RFC8461"/> or DANE <xref target="RFC7672"/> when the domain publishes them.</t>
          </li>
        </ul>
        <section anchor="fallback-example">
          <name>Example</name>
          <t>The Submission Server "hmtp.provider.example" of the domain
"example.com", which also acts as its Sending Server, has accepted a
Message from a Client with the following Envelope:</t>
          <sourcecode type="json"><![CDATA[
{
  "id": "Xk4mP9qR2sT7vW1yZ3bC5d",
  "from": "alice@example.com",
  "to": [
    {
      "address": "dave@example.org",
      "dsn": {
        "notify": ["failure", "delay"],
        "orcpt": "rfc822;dave@example.org"
      }
    },
    {"address": "erin@example.org"}
  ],
  "dsn": {"ret": "hdrs", "envid": "QQ314159"},
  "body": "8bitmime"
}
]]></sourcecode>
          <t>Discovery for "example.org" shows that the domain does not support
HMTP, because the name "_hmtp.example.org" does not exist.  The
Sending Server has no recorded downgrade policy for "example.org", so
it falls back to SMTP and looks up the MX records of the domain:</t>
          <sourcecode type="dns"><![CDATA[
; _hmtp.example.org. IN SVCB  ->  NXDOMAIN
example.org.  3600 IN MX 10 mx.example.org.
]]></sourcecode>
          <t>The Sending Server then delivers the Message to "mx.example.org".  In
the following transcript, "C:" denotes lines sent by the Sending
Server and "S:" lines sent by the SMTP server:</t>
          <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

S: 220 mx.example.org ESMTP
C: EHLO hmtp.provider.example
S: 250-mx.example.org
S: 250-8BITMIME
S: 250-DSN
S: 250-ENHANCEDSTATUSCODES
S: 250 STARTTLS
C: STARTTLS
S: 220 2.0.0 Ready to start TLS
   (TLS handshake; the certificate of mx.example.org is validated)
C: EHLO hmtp.provider.example
S: 250-mx.example.org
S: 250-8BITMIME
S: 250-DSN
S: 250 ENHANCEDSTATUSCODES
C: MAIL FROM:<alice@example.com> BODY=8BITMIME RET=HDRS \
   ENVID=QQ314159
S: 250 2.1.0 Sender OK
C: RCPT TO:<dave@example.org> NOTIFY=FAILURE,DELAY \
   ORCPT=rfc822;dave@example.org
S: 550 5.1.1 <dave@example.org>: Recipient address rejected
C: RCPT TO:<erin@example.org>
S: 250 2.1.5 Recipient OK
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Received: from [198.51.100.7] ([198.51.100.7])
C:         by hmtp.provider.example with HMTPA id S-20260101-0043;
C:         Thu, 01 Jan 2026 11:59:58 +0000
C: Date: Thu, 01 Jan 2026 11:59:57 +0000
C: From: Alice <alice@example.com>
C: To: Dave <dave@example.org>, Erin <erin@example.org>
C: Subject: Quarterly report
C: Message-ID: <20260101115957.4f2a@example.com>
C: MIME-Version: 1.0
C: Content-Type: text/plain; charset=utf-8
C: Content-Transfer-Encoding: 8bit
C:
C: (body of the Message)
C: .
S: 250 2.0.0 Ok: queued as 7HG2Lk
C: QUIT
S: 221 2.0.0 Bye
]]></artwork>
          <t>The members of the Envelope are mapped to SMTP as follows:</t>
          <ul spacing="normal">
            <li>
              <t>"from" and the "address" members of the Recipient Objects become
the arguments of the MAIL FROM and RCPT TO commands.</t>
            </li>
            <li>
              <t>"body" with the value "8bitmime" becomes the parameter
"BODY=8BITMIME".  The SMTP server advertises 8BITMIME, so the
Message can be transferred without conversion.  If it did not, the
Sending Server would fail the delivery to both recipients with the
"conversion-required" problem type instead of converting the
Message.</t>
            </li>
            <li>
              <t>"ret" and "envid" become the parameters "RET=HDRS" and
"ENVID=QQ314159", and the "dsn" member of the first Recipient
Object becomes the parameters "NOTIFY=FAILURE,DELAY" and
"ORCPT=rfc822;dave@example.org".  The values contain no characters
that require "xtext" encoding.  The SMTP server advertises the DSN
extension <xref target="RFC3461"/>, so the parameters can be transmitted.</t>
            </li>
            <li>
              <t>The Message is transmitted octet for octet as it was accepted from
the Client, including the Received header field that the Submission
Server prepended (<xref target="trace"/>).  The SMTP server advertises
ENHANCEDSTATUSCODES <xref target="RFC2034"/>, so its replies contain enhanced
status codes.</t>
            </li>
          </ul>
          <t>The SMTP server accepts the Message for "erin@example.org".  It
rejects "dave@example.org" with a permanent failure.  Because the
Recipient Object of "dave@example.org" requests notification on
failure, the Sending Server generates the DSN shown in
<xref target="dsn-example"/>.  Had the SMTP server failed with a temporary error,
the Sending Server would have retried later, repeating discovery
before each retry, and would have used HMTP if "example.org" had
started to publish an HMTP Endpoint in the meantime.</t>
        </section>
      </section>
      <section anchor="policy">
        <name>Downgrade Policy</name>
        <t>Without DNSSEC, an attacker who can modify DNS responses can remove
the SVCB records of a domain and thereby cause Sending Servers to fall
back to SMTP.  A downgrade policy allows a domain to instruct Sending
Servers that have once reached it over HMTP not to fall back to SMTP,
in a way similar to HTTP Strict Transport Security <xref target="RFC6797"/> and
MTA-STS <xref target="RFC8461"/>.</t>
        <t>The policy is expressed in the "policy" member of the Capabilities
Document (<xref target="capabilities-document"/>), which is a JSON object with the
following members:</t>
        <dl>
          <dt>mode:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The string "enforce" or "none".</t>
          </dd>
          <dt>maxAge:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The number of seconds for which a Sending Server applies
the policy, as a non-negative integer.  The value <bcp14>MUST NOT</bcp14> exceed
31557600 (one year).  Sending Servers <bcp14>MUST</bcp14> treat larger values as
31557600.</t>
          </dd>
        </dl>
        <t>Whenever a Sending Server has located a host through discovery for a
domain and has successfully retrieved the Capabilities Document of
the host, it updates its policy state for that domain as follows:</t>
        <ul spacing="normal">
          <li>
            <t>If the document contains a policy with the mode "enforce", the
Sending Server records that the policy applies to the domain until
"maxAge" seconds after the time of retrieval.</t>
          </li>
          <li>
            <t>If the document contains a policy with the mode "none", or no
policy, the Sending Server removes any recorded policy for the
domain.</t>
          </li>
        </ul>
        <t>While an unexpired policy with the mode "enforce" is recorded for a
domain, the Sending Server <bcp14>MUST</bcp14> treat a discovery result indicating
that the domain does not support HMTP as a temporary failure and <bcp14>MUST
NOT</bcp14> fall back to SMTP.  It retries delivery as described in
<xref target="idempotency"/> and, when it gives up, generates a DSN.</t>
        <t>Because the Capabilities Document belongs to a host, its policy
applies to all domains that use the host.  A domain that intends to
stop using HMTP first publishes, through its host, a policy with the
mode "none" or a "maxAge" of 0, and keeps its SVCB records published
for at least the previously advertised "maxAge" before removing them.</t>
        <t>A Sending Server that does not support SMTP fallback does not need to
record policies.</t>
      </section>
      <section anchor="gateways">
        <name>SMTP to HMTP Gateways</name>
        <t>An SMTP server can relay Messages that it receives over SMTP to an
HMTP Endpoint.  Such a gateway acts as a Sending Server and
constructs the Envelope from the SMTP transaction:</t>
        <ul spacing="normal">
          <li>
            <t>"from" and the "address" members of the Recipient Objects are
taken from the MAIL FROM and RCPT TO commands;</t>
          </li>
          <li>
            <t>"body", "smtpUtf8", and "requireTls" are taken from the BODY,
SMTPUTF8, and REQUIRETLS parameters;</t>
          </li>
          <li>
            <t>the DSN parameters are taken from the RET, ENVID, NOTIFY, and ORCPT
parameters, after decoding "xtext".</t>
          </li>
        </ul>
        <t>The Message is the message received over SMTP, including the Received
header field that the gateway prepends as an SMTP server.  A gateway
<bcp14>SHOULD</bcp14> record the results of the authentication checks it performed
on the SMTP transaction, such as SPF, DKIM, and DMARC, in an
Authentication-Results header field <xref target="RFC8601"/>.</t>
        <t>A gateway signs its requests with a key of its own domain.  For
outbound Messages of the domain that operates the gateway, the
Envelope Sender is aligned as usual.  A gateway that relays Messages
from other domains, such as an inbound filtering service or a backup
server, cannot produce aligned signatures for them.  It is used under
a local agreement with the Receiving Server, as described in
<xref target="alignment"/>.</t>
        <t>A gateway <bcp14>MAY</bcp14> relay the Message over HMTP before it replies to the
SMTP DATA or BDAT command.  In that case, it translates the result of
the HMTP request into the SMTP reply, using the "smtpReply" and
"smtpStatus" members of the problem details object, and the mapping
in <xref target="tab-mapping"/>.  Otherwise, it accepts the Message, relays it
later, and reports failures through DSNs.</t>
      </section>
    </section>
    <section anchor="deployment-and-transition-considerations">
      <name>Deployment and Transition Considerations</name>
      <t>HMTP is designed to be deployed alongside SMTP, without a flag day.
The following considerations apply:</t>
      <dl>
        <dt>Receiving mail:</dt>
        <dd>
          <t>A domain enables inbound HMTP by publishing an SVCB record and
serving a Capabilities Document, while keeping its MX records.
Because the TLS certificate is validated against the TargetName, a
provider that hosts many domains needs a certificate only for its
own host name, not for each customer domain.</t>
        </dd>
        <dt>Sending mail:</dt>
        <dd>
          <t>A domain enables outbound HMTP by publishing a key record for HMTP,
preferably under a dedicated selector with the service type "hmtp",
and by enabling discovery in its Sending Servers.  Sending Servers
that support SMTP fall back to it for domains that do not yet
support HMTP.</t>
        </dd>
        <dt>Downgrade policy:</dt>
        <dd>
          <t>A domain <bcp14>SHOULD</bcp14> start with a short "maxAge", or without a policy,
and increase it once it is confident that its HMTP Endpoint is
reliable, because a policy with the mode "enforce" prevents
delivery over SMTP for its duration.</t>
        </dd>
        <dt>Infrastructure:</dt>
        <dd>
          <t>HMTP uses standard HTTP infrastructure, including load balancers,
reverse proxies, and HTTP libraries.  Operators need to ensure that
intermediaries preserve the components covered by signatures
(<xref target="verification"/>) and accept request sizes up to the advertised
"maxRequestSize".  Large content is best transferred by reference,
so that it can be served from storage optimized for that purpose.</t>
        </dd>
        <dt>Clients:</dt>
        <dd>
          <t>Clients locate their Submission Server through discovery or
configuration.  Existing SMTP AUTH credentials can be used with the
"basic" scheme, and Clients can migrate to OAuth 2.0 bearer tokens
over time.</t>
        </dd>
        <dt>Operating both protocols:</dt>
        <dd>
          <t>A server that supports both protocols can use a single queue,
because the Message is the same in both protocols and only the
Envelope representation differs.</t>
        </dd>
      </dl>
    </section>
    <section anchor="abuse">
      <name>Abuse and Reputation Considerations</name>
      <t>This document does not define spam filtering or reputation
algorithms, which remain a matter of the local policy of each
Receiving Server.  This section describes the information that HMTP
makes available to such policies and the ways in which features of
HMTP can be abused.</t>
      <section anchor="abuse-information">
        <name>Information Available to Receivers</name>
        <t>When it evaluates a transfer request, a Receiving Server can use the
following information in addition to the content of the Message:</t>
        <ul spacing="normal">
          <li>
            <t>the Sending Domain, authenticated by the signature of the request
(<xref target="verification"/>), and its alignment with the Envelope Sender
(<xref target="alignment"/>);</t>
          </li>
          <li>
            <t>the selector of the signing key, which a domain can use to separate
different streams of mail, such as transactional and bulk mail, or
the mail of different customers of a provider;</t>
          </li>
          <li>
            <t>the IP address from which the request was received, which
identifies an intermediary rather than the Sending Server
when the request passes through a proxy;</t>
          </li>
          <li>
            <t>the results of the DKIM and DMARC evaluation of the Message;</t>
          </li>
          <li>
            <t>the Envelope, including the Envelope Sender and the number of
Envelope Recipients.</t>
          </li>
        </ul>
        <t>SPF <xref target="RFC7208"/> authorizes hosts to use a domain in SMTP sessions and
is not used for HMTP requests, whose sender is authenticated by the
signature.  Because a Sending Server can operate behind proxies and
content delivery networks, Receiving Servers <bcp14>SHOULD NOT</bcp14> evaluate SPF
against the IP address of an HMTP request.  SPF continues to apply to SMTP hops.</t>
      </section>
      <section anchor="abuse-reputation">
        <name>Reputation of Sending Domains</name>
        <t>A valid signature establishes which domain is responsible for a
request.  It does not indicate that the request is legitimate.
Domains can be registered at low cost, so an attacker can sign
requests with newly registered domains.  Receiving Servers <bcp14>SHOULD</bcp14>
therefore treat Sending Domains without history with caution, for
example by applying lower rate limits, or by deferring part of their
mail with the "rate-limited" or "policy-rejected" problem types and a
temporary enhanced status code.</t>
        <t>A Sending Domain is responsible for all Envelope Senders that are
aligned with it (<xref target="alignment"/>), including those in its subdomains, and
the reputation earned with such mail applies to the Sending Domain.
When a provider signs with its own domain on behalf of its customers
(<xref target="third-party"/>), the reputation accrues to the provider, which is
then responsible for abuse by its customers.  When a customer
delegates a selector to a provider, the reputation accrues to the
domain of the customer.  The restrictions on signatures of registry
suffixes described in <xref target="security"/> also apply to reputation.</t>
      </section>
      <section anchor="abuse-rejection">
        <name>Rejection and Backscatter</name>
        <t>Because the Receiving Server reports the result for each Envelope
Recipient in its response (<xref target="transfer-response"/>), it can reject an
unwanted Message during the request.  A Receiving Server <bcp14>SHOULD</bcp14>
reject a Message that it does not intend to deliver in its response,
rather than accepting it and generating a delivery status
notification later.  Later notifications create additional traffic
and, for Messages that reached the Receiving Server through a relay,
can be sent to an Envelope Sender that did not send the Message.</t>
        <t>The "detail" member of a problem details object for a policy
rejection <bcp14>SHOULD</bcp14> allow a legitimate sender to understand the reason
for the rejection, but does not need to reveal the internal rules of
the filtering system.</t>
      </section>
      <section anchor="abuse-references">
        <name>Abuse of Content References</name>
        <t>An attacker can include Content References to URIs of a third party in
many requests and thereby cause Receiving Servers to send retrieval
requests to that party.  The checks of size and digest prevent such
content from being delivered, but not the retrieval requests
themselves.  Receiving Servers <bcp14>SHOULD</bcp14> limit the number and rate of
retrievals per Sending Domain and per target host.  Because each
request is signed, such abuse can be attributed to the Sending Domain.</t>
        <t>Content References can also be used to deliver malicious content.
Because a Message is reconstructed completely before it is delivered
(<xref target="reference-retrieval"/>), Receiving Servers can apply their content
checks to referenced content in the same way as to inline content.</t>
      </section>
      <section anchor="abuse-submission">
        <name>Abuse of Submission</name>
        <t>Compromised Client credentials are a common source of abusive mail.
Submission Servers <bcp14>SHOULD</bcp14> apply rate limits per account, <bcp14>SHOULD</bcp14>
monitor accounts for unusual sending patterns, and <bcp14>SHOULD</bcp14> support
bearer tokens with a limited lifetime (<xref target="client-authentication"/>).
Because a Submission Server signs the Messages that it relays with
keys of its Sending Domain, abuse by its users affects the reputation
of that domain.</t>
      </section>
      <section anchor="abuse-reports">
        <name>Abuse Reports</name>
        <t>Complaints about abusive Messages, such as reports in the Abuse
Reporting Format <xref target="RFC5965"/>, are sent as ordinary Messages and are not
affected by this document.  Delivery status reports (<xref target="reports"/>) are
not intended for complaints.  A structured endpoint for abuse reports
could be defined as a capability (<xref target="capabilities"/>).</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>No implementations are known at the time of writing.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="transport-security">
        <name>Transport Security</name>
        <t>All HMTP requests, including the retrieval of the Capabilities
Document and of referenced content, use TLS with certificate
validation.  No plaintext mode exists.  TLS protects the
confidentiality and integrity of each hop, but not of the Message
end to end: every server that handles a Message has access to its
content, as in SMTP.  End-to-end protection requires OpenPGP or
S/MIME.</t>
      </section>
      <section anchor="security-dns">
        <name>DNS and Downgrade Attacks</name>
        <t>The TLS certificate of the HMTP Endpoint is validated against the
TargetName obtained from DNS.  If DNS responses are not authenticated,
an attacker who can modify them can redirect HMTP requests to a host
under its control, for which it can obtain a valid certificate, or can
remove the SVCB records so that a Sending Server falls back to SMTP.
This is the same exposure that MX records have without DNSSEC.
Domains <bcp14>SHOULD</bcp14> sign their zones with DNSSEC, and Sending Servers
<bcp14>SHOULD</bcp14> validate DNS responses.</t>
        <t>The downgrade policy (<xref target="policy"/>) protects against the removal of
SVCB records after a Sending Server has reached a domain once, but
not on first contact and not against redirection to another host.
The rule that temporary failures never cause a fallback to SMTP
(<xref target="when-to-fall-back"/>) prevents an attacker from forcing a downgrade
by blocking HTTPS connections.</t>
      </section>
      <section anchor="security-replay">
        <name>Signatures and Replay</name>
        <t>Signatures cover the method, the target URI, the media type, and the
digest of the content, and are therefore bound to the Envelope, the
Message, and the Receiving Server.  A captured request cannot be
replayed to another Receiving Server, because the target URI differs.
A replay to the same Receiving Server is limited by the validity
period of the signature, which is at most 300 seconds, and within that
period by the Transfer Identifier, which causes the Receiving Server
to return the stored response instead of delivering the Message again.
Verifiers need reasonably accurate clocks.</t>
      </section>
      <section anchor="security-keys">
        <name>Key Management</name>
        <t>The security of HMTP depends on the protection of the private keys of
the Sending Domain.  A compromised key allows an attacker to send
requests on behalf of the domain until the key record is revoked.
Domains <bcp14>SHOULD</bcp14> rotate keys regularly as described in
<xref target="signing-keys"/>.</t>
        <t>When a key is shared between DKIM message signing and HMTP request
signing, a compromise affects both uses.  The data that HMTP signs,
the signature base defined by <xref target="RFC9421"/>, has a different structure
from the data signed by DKIM, which makes it difficult to use a
signature from one protocol in the other.  Nevertheless, keys
dedicated to HMTP with the service type "hmtp" are <bcp14>RECOMMENDED</bcp14>.  RSA
keys shorter than 2048 bits, which <xref target="RFC8301"/> still permits for
DKIM, are not permitted for HMTP.</t>
      </section>
      <section anchor="sender-alignment">
        <name>Sender Alignment</name>
        <t>Alignment permits a domain to sign for its subdomains.  A Receiving
Server <bcp14>SHOULD NOT</bcp14> accept signatures of domains that are registry
suffixes, such as top-level domains, as authenticating the Envelope
Sender, because such domains do not operate mail services for the
domains registered under them.</t>
        <t>An HMTP signature authenticates the Sending Domain and its alignment
with the Envelope Sender.  It does not authenticate the author of the
Message.  Receiving Servers <bcp14>MUST NOT</bcp14> present the Sending Domain to
users as the author of the Message.</t>
      </section>
      <section anchor="content-references">
        <name>Content References</name>
        <t>Retrieving referenced content causes the Receiving Server to send
requests to URIs chosen by the sender.  A Receiving Server <bcp14>MUST NOT</bcp14>
retrieve content from IP addresses that are not globally routable,
such as loopback, private, and link-local addresses, unless it is
explicitly configured to do so, in order to prevent attacks on
internal services.  It <bcp14>SHOULD</bcp14> apply limits to the number of
redirections, the duration of retrievals, and the number of
concurrent retrievals per Sending Domain.</t>
        <t>The integrity of referenced content is protected by its digest, which
is covered by the signature of the request.  The size of referenced
content is declared in advance, so a Receiving Server can reject
oversized Messages before retrieving them and can stop a retrieval
that exceeds the declared size.</t>
        <t>URIs of referenced content act as bearer capabilities: anyone who
learns them can retrieve the content until it is removed.  Senders
<bcp14>SHOULD</bcp14> use URIs that contain sufficient randomness to be unguessable,
<bcp14>SHOULD</bcp14> remove content after its "expires" timestamp, and <bcp14>MAY</bcp14> require
signed retrieval requests (<xref target="retrieval-signing"/>).  Receiving Servers
<bcp14>MUST NOT</bcp14> disclose these URIs to recipients of the Message.</t>
      </section>
      <section anchor="denial-of-service">
        <name>Denial of Service</name>
        <t>HMTP servers are exposed to resource exhaustion through large
requests, many concurrent requests, slow transmission of requests,
and Messages with many segments or recipients.  Servers <bcp14>SHOULD</bcp14>
advertise and enforce limits (<xref target="capabilities-document"/>), <bcp14>SHOULD</bcp14>
apply rate limits per Sending Domain and per IP address, and <bcp14>MAY</bcp14>
verify the signature before receiving the content of the request.</t>
      </section>
      <section anchor="security-client-authentication">
        <name>Client Authentication</name>
        <t>Credentials used with the "basic" scheme are passwords and are subject
to guessing and phishing.  Servers <bcp14>SHOULD</bcp14> support bearer tokens,
<bcp14>SHOULD</bcp14> support application-specific passwords for the "basic" scheme,
and <bcp14>SHOULD</bcp14> limit the rate of failed attempts.  Bearer tokens <bcp14>SHOULD</bcp14> be
restricted to the Submission Server as their audience, and Clients
<bcp14>MUST NOT</bcp14> send them to other servers.</t>
        <t>A Submission Server <bcp14>MUST</bcp14> authenticate every submission request and
<bcp14>MUST</bcp14> verify the sender addresses (<xref target="sender-authorization"/>).  A
transfer endpoint <bcp14>MUST NOT</bcp14> accept Messages for domains it does not
serve, except under a local relay agreement.  Otherwise, the server
would act as an open relay.</t>
      </section>
      <section anchor="security-reports">
        <name>Delivery Status Reports</name>
        <t>A report is authenticated by the domain of the reporting server, but
that domain is not necessarily related to the Envelope Sender or to
the Envelope Recipients, because a Message can pass through servers of
several domains.  An attacker can therefore send forged reports about
Messages that it did not handle, for example to cause a sender to
remove a valid address from a mailing list.  Receivers of reports
<bcp14>SHOULD</bcp14> accept only reports that they can correlate with a Message they
sent (<xref target="reports-processing"/>).  Senders that act on reports
automatically <bcp14>SHOULD</bcp14> use unguessable values of "envid", so that only
servers that have handled the Message can produce a matching report.
The same considerations apply to DSN messages, which are not
authenticated at all; reports are an improvement in that they identify
the reporting domain.</t>
      </section>
      <section anchor="security-transfer-ids">
        <name>Transfer Identifiers</name>
        <t>Transfer Identifiers are scoped to the Sending Domain or to the
authenticated account, so a third party cannot cause a legitimate
request to be suppressed as a duplicate without being able to sign
requests for the same scope.  For the same reason, the results of an
earlier request that accompany the "id-conflict" problem type
(<xref target="idempotency"/>) are disclosed only to a sender in the same scope.
Within a scope that is shared by several senders, such as a domain and
its email service providers, the randomness of Transfer Identifiers
also prevents one sender from predicting the identifiers of another.
The limit on the length of Transfer Identifiers bounds the storage
that a Receiving Server needs for them.</t>
        <t>Transfer Identifiers prevent duplicate delivery only among hosts that
share the stored Transfer Identifiers (<xref target="host-selection"/>).  If a host
accepts a Message and becomes unreachable before the Sending Server
receives the response, the Sending Server retries the request at
another host of the domain.  A host that does not share the stored
Transfer Identifiers, such as a backup host operated by a third party,
accepts the retry as a new request and relays the Message to the
domain with its own signature, that is, with a Transfer Identifier in
the scope of its own Sending Domain.  The Message is then delivered
twice.  This risk is comparable to the duplication that a lost reply
to the DATA command causes in SMTP.  Domains that use such backup
hosts accept this risk.  Final delivery agents can reduce its impact,
for example by detecting duplicate Message-ID header fields.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>HMTP exposes the same information to the servers that handle a
Message as SMTP does: the Envelope, the Message, and the IP addresses
of the communicating servers.  TLS protects this information from
observers on the network.  The name of the HMTP Endpoint is visible in
the TLS handshake unless Encrypted Client Hello is used, and DNS
queries for SVCB records reveal the domains with which a server
exchanges mail unless encrypted DNS transports are used.</t>
      <t>An HMTP request contains all Envelope Recipients whose domains are
served by the same set of hosts (<xref target="transfer"/>).  As in SMTP, the
Receiving Server learns all
of them, including recipients that are not visible in the header
fields of the Message, such as blind carbon copy recipients.
Receiving Servers <bcp14>MUST NOT</bcp14> disclose the list of Envelope Recipients to
recipients of the Message, and include the "for" clause in Received
header fields only for single recipients (<xref target="trace"/>).</t>
      <t>The retrieval of referenced content reveals to the server that hosts
the content which Receiving Servers retrieve it and when.  Because
retrieval is performed by the Receiving Server and is not triggered
by actions of the recipient (<xref target="reference-retrieval"/>), it does not
reveal whether or when the recipient reads the Message.  Senders can
still learn which Receiving Servers serve the recipients, which they
can also learn from DNS.</t>
      <t>The identities endpoint reveals the addresses of an account only to
the authenticated Client.  The Capabilities Document is public and
reveals the endpoints and limits of the host, and implicitly the
provider that serves a domain, which can also be learned from DNS.</t>
      <t>Receiving Servers store Transfer Identifiers together with a hash of
the request content and the response.  This information <bcp14>SHOULD NOT</bcp14> be
retained longer than needed for the purposes described in
<xref target="idempotency"/>.</t>
      <t>Submission Servers <bcp14>MAY</bcp14> replace the IP address of the Client in the
Received header field with a placeholder (<xref target="trace"/>) to protect the
privacy of the user.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="underscored-and-globally-scoped-dns-node-name">
        <name>Underscored and Globally Scoped DNS Node Name</name>
        <t>IANA is requested to add the following entry to the "Underscored and
Globally Scoped DNS Node Names" registry <xref target="RFC8552"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">RR Type</th>
              <th align="left">_NODE NAME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">SVCB</td>
              <td align="left">_hmtp</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="well-known-uri">
        <name>Well-Known URI</name>
        <t>IANA is requested to add the following entry to the "Well-Known URIs"
registry <xref target="RFC8615"/>:</t>
        <dl>
          <dt>URI Suffix:</dt>
          <dd>
            <t>hmtp</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="capabilities-document"/> of RFC XXXX</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>permanent</t>
          </dd>
          <dt>Related Information:</dt>
          <dd>
            <t>None</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-dkim">
        <name>DKIM Service Type</name>
        <t>IANA is requested to add the following entry to the "DKIM Service
Types" registry <xref target="RFC6376"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Reference</th>
              <th align="left">Status</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">hmtp</td>
              <td align="left">RFC XXXX</td>
              <td align="left">active</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-signature-params">
        <name>HTTP Signature Metadata Parameter</name>
        <t>IANA is requested to add the following entry to the "HTTP Signature
Metadata Parameters" registry <xref target="RFC9421"/>:</t>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>domain</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>The domain name under which the key identified by the "keyid"
parameter is published, as a DKIM key record, at the name
<tt>&lt;keyid&gt;._domainkey.&lt;domain&gt;</tt>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t><xref target="signature-construction"/> of RFC XXXX</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-transmission-types">
        <name>Mail Transmission Types</name>
        <t>IANA is requested to add the following entries to the "Mail
Transmission Types" registry in the "Mail Parameters" registry group:</t>
        <table>
          <thead>
            <tr>
              <th align="left">WITH protocol type</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HMTP</td>
              <td align="left">HTTP Mail Transfer Protocol, transfer</td>
              <td align="left">RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">HMTPA</td>
              <td align="left">HTTP Mail Transfer Protocol, submission with client authentication</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-urn">
        <name>URN Sub-namespace</name>
        <t>IANA is requested to register the following entry in the "IETF URN
Sub-namespace for Registered Protocol Parameter Identifiers" registry
<xref target="RFC3553"/>:</t>
        <dl>
          <dt>Registry name:</dt>
          <dd>
            <t>hmtp</t>
          </dd>
          <dt>Specification:</dt>
          <dd>
            <t>RFC XXXX</t>
          </dd>
          <dt>Repository:</dt>
          <dd>
            <t>The "HTTP Mail Transfer Protocol (HMTP)" registry group defined in
this document.  URNs of the form
<tt>urn:ietf:params:hmtp:error:&lt;name&gt;</tt> identify problem types
registered in the "HMTP Problem Types" registry.</t>
          </dd>
          <dt>Index value:</dt>
          <dd>
            <t>The name of a problem type, as registered in the "HMTP Problem
Types" registry.</t>
          </dd>
        </dl>
      </section>
      <section anchor="hmtp-registry-group">
        <name>HMTP Registry Group</name>
        <t>IANA is requested to create a new registry group titled "HTTP Mail
Transfer Protocol (HMTP)" containing the registries defined in the
following subsections.  For all of them, the registration policy is
Specification Required <xref target="RFC8126"/>.  The designated experts verify
that the specification is publicly available, that the registered
name does not conflict with an existing entry, and that the
specification is consistent with the extension rules of
<xref target="capabilities"/>.</t>
        <section anchor="iana-capabilities">
          <name>HMTP Capabilities</name>
          <t>The registry contains capabilities with registered names.
Capabilities identified by URIs are not registered (see
<xref target="capability-names"/>).  The registry records the following fields for
each capability:</t>
          <ul spacing="normal">
            <li>
              <t>Name: the registered name of the capability, with the syntax
defined in <xref target="capability-names"/>.</t>
            </li>
            <li>
              <t>Description: a brief description.</t>
            </li>
            <li>
              <t>Must-Understand: "yes" or "no", as defined in <xref target="capabilities"/>.</t>
            </li>
            <li>
              <t>Reference: the specification of the capability.</t>
            </li>
            <li>
              <t>Change Controller: the party responsible for the capability.</t>
            </li>
          </ul>
          <t>The registry is initially empty.</t>
        </section>
        <section anchor="iana-endpoints">
          <name>HMTP Endpoints</name>
          <t>The registry records the following fields for each endpoint name
used in the "endpoints" member of a Version Object:</t>
          <ul spacing="normal">
            <li>
              <t>Name: the member name.</t>
            </li>
            <li>
              <t>Description: a brief description.</t>
            </li>
            <li>
              <t>Reference: the specification of the endpoint and of the members of
its Endpoint Object.</t>
            </li>
          </ul>
          <t>The initial contents are:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">transfer</td>
                <td align="left">Transfer of Messages between servers, and delivery status reports</td>
                <td align="left">
                  <xref target="transfer"/>, <xref target="reports"/>, and <xref target="endpoint-objects"/> of RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">submission</td>
                <td align="left">Submission of Messages by Clients, and identities of an authenticated Client</td>
                <td align="left">
                  <xref target="submission"/> and <xref target="endpoint-objects"/> of RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="iana-encodings">
          <name>HMTP Content Encodings</name>
          <t>The registry records the following fields for each encoding used in
the "encoding" member of a Content Reference:</t>
          <ul spacing="normal">
            <li>
              <t>Name: the name of the encoding.</t>
            </li>
            <li>
              <t>Description: a brief description of the transformation.</t>
            </li>
            <li>
              <t>Reference: the specification of the encoding.</t>
            </li>
          </ul>
          <t>The initial contents are:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">base64</td>
                <td align="left">Base64 with lines of 76 characters separated by CRLF</td>
                <td align="left">
                  <xref target="attachments"/> of RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="iana-problem-types">
          <name>HMTP Problem Types</name>
          <t>The registry records the following fields for each problem type:</t>
          <ul spacing="normal">
            <li>
              <t>Name: the name of the problem type, used in the URN
<tt>urn:ietf:params:hmtp:error:&lt;name&gt;</tt>.</t>
            </li>
            <li>
              <t>Scope: "Request", "Recipient", or "Both".</t>
            </li>
            <li>
              <t>HTTP Status: the HTTP status code used for request-level failures.</t>
            </li>
            <li>
              <t>Enhanced Status: the enhanced status code or codes.</t>
            </li>
            <li>
              <t>SMTP Reply: the SMTP reply code or codes.</t>
            </li>
            <li>
              <t>Reference: the specification of the problem type.</t>
            </li>
          </ul>
          <t>The initial contents are the problem types listed in <xref target="tab-mapping"/>,
each with the reference <xref target="smtp-mapping"/> of RFC XXXX.</t>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2045">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This initial document specifies the various headers used to describe the structure of MIME messages. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2045"/>
          <seriesInfo name="DOI" value="10.17487/RFC2045"/>
        </reference>
        <reference anchor="RFC3030">
          <front>
            <title>SMTP Service Extensions for Transmission of Large and Binary MIME Messages</title>
            <author fullname="G. Vaudreuil" initials="G." surname="Vaudreuil"/>
            <date month="December" year="2000"/>
            <abstract>
              <t>This memo defines two extensions to the SMTP (Simple Mail Transfer Protocol) service. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3030"/>
          <seriesInfo name="DOI" value="10.17487/RFC3030"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC3461">
          <front>
            <title>Simple Mail Transfer Protocol (SMTP) Service Extension for Delivery Status Notifications (DSNs)</title>
            <author fullname="K. Moore" initials="K." surname="Moore"/>
            <date month="January" year="2003"/>
            <abstract>
              <t>This memo defines an extension to the Simple Mail Transfer Protocol (SMTP) service, which allows an SMTP client to specify (a) that Delivery Status Notifications (DSNs) should be generated under certain conditions, (b) whether such notifications should return the contents of the message, and (c) additional information, to be returned with a DSN, that allows the sender to identify both the recipient(s) for which the DSN was issued, and the transaction in which the original message was sent. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3461"/>
          <seriesInfo name="DOI" value="10.17487/RFC3461"/>
        </reference>
        <reference anchor="RFC3463">
          <front>
            <title>Enhanced Mail System Status Codes</title>
            <author fullname="G. Vaudreuil" initials="G." surname="Vaudreuil"/>
            <date month="January" year="2003"/>
            <abstract>
              <t>This document defines a set of extended status codes for use within the mail system for delivery status reports, tracking, and improved diagnostics. In combination with other information provided in the Delivery Status Notification (DSN) delivery report, these codes facilitate media and language independent rendering of message delivery status. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3463"/>
          <seriesInfo name="DOI" value="10.17487/RFC3463"/>
        </reference>
        <reference anchor="RFC3464">
          <front>
            <title>An Extensible Message Format for Delivery Status Notifications</title>
            <author fullname="K. Moore" initials="K." surname="Moore"/>
            <author fullname="G. Vaudreuil" initials="G." surname="Vaudreuil"/>
            <date month="January" year="2003"/>
            <abstract>
              <t>This memo defines a Multipurpose Internet Mail Extensions (MIME) content-type that may be used by a message transfer agent (MTA) or electronic mail gateway to report the result of an attempt to deliver a message to one or more recipients. This content-type is intended as a machine-processable replacement for the various types of delivery status notifications currently used in Internet electronic mail. Because many messages are sent between the Internet and other messaging systems (such as X.400 or the so-called "Local Area Network (LAN)-based" systems), the Delivery Status Notification (DSN) protocol is designed to be useful in a multi-protocol messaging environment. To this end, the protocol described in this memo provides for the carriage of "foreign" addresses and error codes, in addition to those normally used in Internet mail. Additional attributes may also be defined to support "tunneling" of foreign notifications through Internet mail. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3464"/>
          <seriesInfo name="DOI" value="10.17487/RFC3464"/>
        </reference>
        <reference anchor="RFC3553">
          <front>
            <title>An IETF URN Sub-namespace for Registered Protocol Parameters</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <date month="June" year="2003"/>
            <abstract>
              <t>This document describes a new sub-delegation for the 'ietf' URN namespace for registered protocol items. The 'ietf' URN namespace is defined in RFC 2648 as a root for persistent URIs that refer to IETF- defined resources. 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="73"/>
          <seriesInfo name="RFC" value="3553"/>
          <seriesInfo name="DOI" value="10.17487/RFC3553"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC4033">
          <front>
            <title>DNS Security Introduction and Requirements</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC5321">
          <front>
            <title>Simple Mail Transfer Protocol</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="October" year="2008"/>
            <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="RFC5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5322"/>
          <seriesInfo name="DOI" value="10.17487/RFC5322"/>
        </reference>
        <reference anchor="RFC5598">
          <front>
            <title>Internet Mail Architecture</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="July" year="2009"/>
            <abstract>
              <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service. These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness. To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them. But the many differences in perspective currently make it difficult to know exactly what another participant means. To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5598"/>
          <seriesInfo name="DOI" value="10.17487/RFC5598"/>
        </reference>
        <reference anchor="RFC5890">
          <front>
            <title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document is one of a collection that, together, describe the protocol and usage context for a revision of Internationalized Domain Names for Applications (IDNA), superseding the earlier version. It describes the document collection and provides definitions and other material that are common to the set. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5890"/>
          <seriesInfo name="DOI" value="10.17487/RFC5890"/>
        </reference>
        <reference anchor="RFC6152">
          <front>
            <title>SMTP Service Extension for 8-bit MIME Transport</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="M. Rose" initials="M." surname="Rose"/>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>This memo defines an extension to the SMTP service whereby an SMTP content body consisting of text containing octets outside of the US-ASCII octet range (hex 00-7F) may be relayed using SMTP. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="71"/>
          <seriesInfo name="RFC" value="6152"/>
          <seriesInfo name="DOI" value="10.17487/RFC6152"/>
        </reference>
        <reference anchor="RFC6376">
          <front>
            <title>DomainKeys Identified Mail (DKIM) Signatures</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <date month="September" year="2011"/>
            <abstract>
              <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
              <t>This memo obsoletes RFC 4871 and RFC 5672. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="76"/>
          <seriesInfo name="RFC" value="6376"/>
          <seriesInfo name="DOI" value="10.17487/RFC6376"/>
        </reference>
        <reference anchor="RFC6409">
          <front>
            <title>Message Submission for Mail</title>
            <author fullname="R. Gellens" initials="R." surname="Gellens"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>This memo splits message submission from message relay, allowing each service to operate according to its own rules (for security, policy, etc.), and specifies what actions are to be taken by a submission server.</t>
              <t>Message relay is unaffected, and continues to use SMTP over port 25.</t>
              <t>When conforming to this document, message submission uses the protocol specified here, normally over port 587.</t>
              <t>This separation of function offers a number of benefits, including the ability to apply specific security or policy requirements. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="72"/>
          <seriesInfo name="RFC" value="6409"/>
          <seriesInfo name="DOI" value="10.17487/RFC6409"/>
        </reference>
        <reference anchor="RFC6531">
          <front>
            <title>SMTP Extension for Internationalized Email</title>
            <author fullname="J. Yao" initials="J." surname="Yao"/>
            <author fullname="W. Mao" initials="W." surname="Mao"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document specifies an SMTP extension for transport and delivery of email messages with internationalized email addresses or header information. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6531"/>
          <seriesInfo name="DOI" value="10.17487/RFC6531"/>
        </reference>
        <reference anchor="RFC6532">
          <front>
            <title>Internationalized Email Headers</title>
            <author fullname="A. Yang" initials="A." surname="Yang"/>
            <author fullname="S. Steele" initials="S." surname="Steele"/>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>Internet mail was originally limited to 7-bit ASCII. MIME added support for the use of 8-bit character sets in body parts, and also defined an encoded-word construct so other character sets could be used in certain header field values. However, full internationalization of electronic mail requires additional enhancements to allow the use of Unicode, including characters outside the ASCII repertoire, in mail addresses as well as direct use of Unicode in header fields like "From:", "To:", and "Subject:", without requiring the use of complex encoded-word constructs. This document specifies an enhancement to the Internet Message Format and to MIME that allows use of Unicode in mail addresses and most header field content.</t>
              <t>This specification updates Section 6.4 of RFC 2045 to eliminate the restriction prohibiting the use of non-identity content-transfer- encodings on subtypes of "message/". [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6532"/>
          <seriesInfo name="DOI" value="10.17487/RFC6532"/>
        </reference>
        <reference anchor="RFC6585">
          <front>
            <title>Additional HTTP Status Codes</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>This document specifies additional HyperText Transfer Protocol (HTTP) status codes for a variety of common situations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6585"/>
          <seriesInfo name="DOI" value="10.17487/RFC6585"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC6750">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="RFC7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC7617">
          <front>
            <title>The 'Basic' HTTP Authentication Scheme</title>
            <author fullname="J. Reschke" initials="J." surname="Reschke"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This document defines the "Basic" Hypertext Transfer Protocol (HTTP) authentication scheme, which transmits credentials as user-id/ password pairs, encoded using Base64.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7617"/>
          <seriesInfo name="DOI" value="10.17487/RFC7617"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8463">
          <front>
            <title>A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM)</title>
            <author fullname="J. Levine" initials="J." surname="Levine"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>This document adds a new signing algorithm, Ed25519-SHA256, to "DomainKeys Identified Mail (DKIM) Signatures" (RFC 6376). DKIM verifiers are required to implement this algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8463"/>
          <seriesInfo name="DOI" value="10.17487/RFC8463"/>
        </reference>
        <reference anchor="RFC8552">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC8689">
          <front>
            <title>SMTP Require TLS Option</title>
            <author fullname="J. Fenton" initials="J." surname="Fenton"/>
            <date month="November" year="2019"/>
            <abstract>
              <t>The SMTP STARTTLS option, used in negotiating transport-level encryption of SMTP connections, is not as useful from a security standpoint as it might be because of its opportunistic nature; message delivery is, by default, prioritized over security. This document describes an SMTP service extension, REQUIRETLS, and a message header field, TLS-Required. If the REQUIRETLS option or TLS-Required message header field is used when sending a message, it asserts a request on the part of the message sender to override the default negotiation of TLS, either by requiring that TLS be negotiated when the message is relayed or by requesting that recipient-side policy mechanisms such as MTA-STS and DNS-Based Authentication of Named Entities (DANE) be ignored when relaying a message for which security is unimportant.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8689"/>
          <seriesInfo name="DOI" value="10.17487/RFC8689"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9111">
          <front>
            <title>HTTP Caching</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
              <t>This document obsoletes RFC 7234.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="98"/>
          <seriesInfo name="RFC" value="9111"/>
          <seriesInfo name="DOI" value="10.17487/RFC9111"/>
        </reference>
        <reference anchor="RFC9113">
          <front>
            <title>HTTP/2</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
              <t>This document obsoletes RFCs 7540 and 8740.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9113"/>
          <seriesInfo name="DOI" value="10.17487/RFC9113"/>
        </reference>
        <reference anchor="RFC9421">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="RFC9457">
          <front>
            <title>Problem Details for HTTP APIs</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <author fullname="S. Dalal" initials="S." surname="Dalal"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document defines a "problem detail" to carry machine-readable details of errors in HTTP response content to avoid the need to define new error response formats for HTTP APIs.</t>
              <t>This document obsoletes RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9457"/>
          <seriesInfo name="DOI" value="10.17487/RFC9457"/>
        </reference>
        <reference anchor="RFC9460">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
        <reference anchor="RFC9525">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
        <reference anchor="RFC9530">
          <front>
            <title>Digest Fields</title>
            <author fullname="R. Polli" initials="R." surname="Polli"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document defines HTTP fields that support integrity digests. The Content-Digest field can be used for the integrity of HTTP message content. The Repr-Digest field can be used for the integrity of HTTP representations. Want-Content-Digest and Want-Repr-Digest can be used to indicate a sender's interest and preferences for receiving the respective Integrity fields.</t>
              <t>This document obsoletes RFC 3230 and the Digest and Want-Digest HTTP fields.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9530"/>
          <seriesInfo name="DOI" value="10.17487/RFC9530"/>
        </reference>
        <reference anchor="RFC9728">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2034">
          <front>
            <title>SMTP Service Extension for Returning Enhanced Error Codes</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <date month="October" year="1996"/>
            <abstract>
              <t>This memo defines an extension to the SMTP service [RFC-821, RFC-1869] whereby an SMTP server augments its responses with the enhanced mail system status codes defined in RFC 1893. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2034"/>
          <seriesInfo name="DOI" value="10.17487/RFC2034"/>
        </reference>
        <reference anchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC3207">
          <front>
            <title>SMTP Service Extension for Secure SMTP over Transport Layer Security</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="February" year="2002"/>
            <abstract>
              <t>This document describes an extension to the SMTP (Simple Mail Transfer Protocol) service that allows an SMTP server and client to use TLS (Transport Layer Security) to provide private, authenticated communication over the Internet. This gives SMTP agents the ability to protect some or all of their communications from eavesdroppers and attackers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3207"/>
          <seriesInfo name="DOI" value="10.17487/RFC3207"/>
        </reference>
        <reference anchor="RFC4865">
          <front>
            <title>SMTP Submission Service Extension for Future Message Release</title>
            <author fullname="G. White" initials="G." surname="White"/>
            <author fullname="G. Vaudreuil" initials="G." surname="Vaudreuil"/>
            <date month="May" year="2007"/>
            <abstract>
              <t>This memo defines an extension to the SMTP submission protocol for a client to indicate a future time for the message to be released for delivery. This extension permits a client to use server-based storage for a message that should be held in queue until an appointed time in the future. This is useful for clients which do not have local storage or are otherwise unable to release a message for delivery at an appointed time. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4865"/>
          <seriesInfo name="DOI" value="10.17487/RFC4865"/>
        </reference>
        <reference anchor="RFC4954">
          <front>
            <title>SMTP Service Extension for Authentication</title>
            <author fullname="R. Siemborski" initials="R." role="editor" surname="Siemborski"/>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <date month="July" year="2007"/>
            <abstract>
              <t>This document defines a Simple Mail Transport Protocol (SMTP) extension whereby an SMTP client may indicate an authentication mechanism to the server, perform an authentication protocol exchange, and optionally negotiate a security layer for subsequent protocol interactions during this session. This extension includes a profile of the Simple Authentication and Security Layer (SASL) for SMTP.</t>
              <t>This document obsoletes RFC 2554. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4954"/>
          <seriesInfo name="DOI" value="10.17487/RFC4954"/>
        </reference>
        <reference anchor="RFC5965">
          <front>
            <title>An Extensible Format for Email Feedback Reports</title>
            <author fullname="Y. Shafranovich" initials="Y." surname="Shafranovich"/>
            <author fullname="J. Levine" initials="J." surname="Levine"/>
            <author fullname="M. Kucherawy" initials="M." surname="Kucherawy"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document defines an extensible format and MIME type that may be used by mail operators to report feedback about received email to other parties. This format is intended as a machine-readable replacement for various existing report formats currently used in Internet email. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5965"/>
          <seriesInfo name="DOI" value="10.17487/RFC5965"/>
        </reference>
        <reference anchor="RFC7208">
          <front>
            <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
            <author fullname="S. Kitterman" initials="S." surname="Kitterman"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t>
              <t>This document obsoletes RFC 4408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7208"/>
          <seriesInfo name="DOI" value="10.17487/RFC7208"/>
        </reference>
        <reference anchor="RFC7489">
          <front>
            <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
              <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers. These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
              <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email. DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7489"/>
          <seriesInfo name="DOI" value="10.17487/RFC7489"/>
        </reference>
        <reference anchor="RFC6522">
          <front>
            <title>The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages</title>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>The multipart/report Multipurpose Internet Mail Extensions (MIME) media type is a general "family" or "container" type for electronic mail reports of any kind. Although this memo defines only the use of the multipart/report media type with respect to delivery status reports, mail processing programs will benefit if a single media type is used for all kinds of reports.</t>
              <t>This memo obsoletes "The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages", RFC 3462, and marks RFC 3462 and its predecessor as "Historic". [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="73"/>
          <seriesInfo name="RFC" value="6522"/>
          <seriesInfo name="DOI" value="10.17487/RFC6522"/>
        </reference>
        <reference anchor="RFC6533">
          <front>
            <title>Internationalized Delivery Status and Disposition Notifications</title>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>Delivery status notifications (DSNs) are critical to the correct operation of an email system. However, the existing Draft Standards (RFC 3461, RFC 3464, RFC 6522) are presently limited to ASCII text in the machine-readable portions of the protocol. This specification adds a new address type for international email addresses so an original recipient address with non-ASCII characters can be correctly preserved even after downgrading. This also provides updated content return media types for delivery status notifications and message disposition notifications to support use of the new address type.</t>
              <t>This document extends RFC 3461, RFC 3464, RFC 3798, and RFC 6522. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6533"/>
          <seriesInfo name="DOI" value="10.17487/RFC6533"/>
        </reference>
        <reference anchor="RFC6797">
          <front>
            <title>HTTP Strict Transport Security (HSTS)</title>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <author fullname="C. Jackson" initials="C." surname="Jackson"/>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="November" year="2012"/>
            <abstract>
              <t>This specification defines a mechanism enabling web sites to declare themselves accessible only via secure connections and/or for users to be able to direct their user agent(s) to interact with given sites only over secure connections. This overall policy is referred to as HTTP Strict Transport Security (HSTS). The policy is declared by web sites via the Strict-Transport-Security HTTP response header field and/or by other means, such as user agent configuration, for example. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6797"/>
          <seriesInfo name="DOI" value="10.17487/RFC6797"/>
        </reference>
        <reference anchor="RFC7505">
          <front>
            <title>A "Null MX" No Service Resource Record for Domains That Accept No Mail</title>
            <author fullname="J. Levine" initials="J." surname="Levine"/>
            <author fullname="M. Delany" initials="M." surname="Delany"/>
            <date month="June" year="2015"/>
            <abstract>
              <t>Internet mail determines the address of a receiving server through the DNS, first by looking for an MX record and then by looking for an A/AAAA record as a fallback. Unfortunately, this means that the A/AAAA record is taken to be mail server address even when that address does not accept mail. The No Service MX RR, informally called "null MX", formalizes the existing mechanism by which a domain announces that it accepts no mail, without having to provide a mail server; this permits significant operational efficiencies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7505"/>
          <seriesInfo name="DOI" value="10.17487/RFC7505"/>
        </reference>
        <reference anchor="RFC7672">
          <front>
            <title>SMTP Security via Opportunistic DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS)</title>
            <author fullname="V. Dukhovni" initials="V." surname="Dukhovni"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This memo describes a downgrade-resistant protocol for SMTP transport security between Message Transfer Agents (MTAs), based on the DNS-Based Authentication of Named Entities (DANE) TLSA DNS record. Adoption of this protocol enables an incremental transition of the Internet email backbone to one using encrypted and authenticated Transport Layer Security (TLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7672"/>
          <seriesInfo name="DOI" value="10.17487/RFC7672"/>
        </reference>
        <reference anchor="RFC8098">
          <front>
            <title>Message Disposition Notification</title>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>This memo defines a MIME content type that may be used by a Mail User Agent (MUA) or electronic mail gateway to report the disposition of a message after it has been successfully delivered to a recipient. This content type is intended to be machine processable. Additional message header fields are also defined to permit Message Disposition Notifications (MDNs) to be requested by the sender of a message. The purpose is to extend Internet Mail to support functionality often found in other messaging systems, such as X.400 and the proprietary "LAN-based" systems, and are often referred to as "read receipts," "acknowledgements," or "receipt notifications." The intention is to do this while respecting privacy concerns, which have often been expressed when such functions have been discussed in the past.</t>
              <t>Because many messages are sent between the Internet and other messaging systems (such as X.400 or the proprietary "LAN-based" systems), the MDN protocol is designed to be useful in a multiprotocol messaging environment. To this end, the protocol described in this memo provides for the carriage of "foreign" addresses, in addition to those normally used in Internet Mail. Additional attributes may also be defined to support "tunneling" of foreign notifications through Internet Mail.</t>
              <t>This document is an Internet Standard. It obsoletes RFC 3798 and updates RFC 2046 (message/partial media type handling) and RFC 3461 (Original-Recipient header field generation requirement).</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="85"/>
          <seriesInfo name="RFC" value="8098"/>
          <seriesInfo name="DOI" value="10.17487/RFC8098"/>
        </reference>
        <reference anchor="RFC8301">
          <front>
            <title>Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM)</title>
            <author fullname="S. Kitterman" initials="S." surname="Kitterman"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The cryptographic algorithm and key size requirements included when DomainKeys Identified Mail (DKIM) was designed a decade ago are functionally obsolete and in need of immediate revision. This document updates DKIM requirements to those minimally suitable for operation with currently specified algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8301"/>
          <seriesInfo name="DOI" value="10.17487/RFC8301"/>
        </reference>
        <reference anchor="RFC8305">
          <front>
            <title>Happy Eyeballs Version 2: Better Connectivity Using Concurrency</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>Many communication protocols operating over the modern Internet use hostnames. These often resolve to multiple IP addresses, each of which may have different performance and connectivity characteristics. Since specific addresses or address families (IPv4 or IPv6) may be blocked, broken, or sub-optimal on a network, clients that attempt multiple connections in parallel have a chance of establishing a connection more quickly. This document specifies requirements for algorithms that reduce this user-visible delay and provides an example algorithm, referred to as "Happy Eyeballs". This document obsoletes the original algorithm description in RFC 6555.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8305"/>
          <seriesInfo name="DOI" value="10.17487/RFC8305"/>
        </reference>
        <reference anchor="RFC8461">
          <front>
            <title>SMTP MTA Strict Transport Security (MTA-STS)</title>
            <author fullname="D. Margolis" initials="D." surname="Margolis"/>
            <author fullname="M. Risher" initials="M." surname="Risher"/>
            <author fullname="B. Ramakrishnan" initials="B." surname="Ramakrishnan"/>
            <author fullname="A. Brotman" initials="A." surname="Brotman"/>
            <author fullname="J. Jones" initials="J." surname="Jones"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>SMTP MTA Strict Transport Security (MTA-STS) is a mechanism enabling mail service providers (SPs) to declare their ability to receive Transport Layer Security (TLS) secure SMTP connections and to specify whether sending SMTP servers should refuse to deliver to MX hosts that do not offer TLS with a trusted server certificate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8461"/>
          <seriesInfo name="DOI" value="10.17487/RFC8461"/>
        </reference>
        <reference anchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC8601">
          <front>
            <title>Message Header Field for Indicating Message Authentication Status</title>
            <author fullname="M. Kucherawy" initials="M." surname="Kucherawy"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document specifies a message header field called "Authentication-Results" for use with electronic mail messages to indicate the results of message authentication efforts. Any receiver-side software, such as mail filters or Mail User Agents (MUAs), can use this header field to relay that information in a convenient and meaningful way to users or to make sorting and filtering decisions.</t>
              <t>This document obsoletes RFC 7601.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8601"/>
          <seriesInfo name="DOI" value="10.17487/RFC8601"/>
        </reference>
        <reference anchor="RFC8620">
          <front>
            <title>The JSON Meta Application Protocol (JMAP)</title>
            <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document specifies a protocol for clients to efficiently query, fetch, and modify JSON-based data objects, with support for push notification of changes and fast resynchronisation and for out-of- band binary data upload/download.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8620"/>
          <seriesInfo name="DOI" value="10.17487/RFC8620"/>
        </reference>
        <reference anchor="RFC8621">
          <front>
            <title>The JSON Meta Application Protocol (JMAP) for Mail</title>
            <author fullname="N. Jenkins" initials="N." surname="Jenkins"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>This document specifies a data model for synchronising email data with a server using the JSON Meta Application Protocol (JMAP). Clients can use this to efficiently search, access, organise, and send messages, and to get push notifications for fast resynchronisation when new messages are delivered or a change is made in another client.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8621"/>
          <seriesInfo name="DOI" value="10.17487/RFC8621"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC9051">
          <front>
            <title>Internet Message Access Protocol (IMAP) - Version 4rev2</title>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <author fullname="B. Leiba" initials="B." role="editor" surname="Leiba"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>The Internet Message Access Protocol Version 4rev2 (IMAP4rev2) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev2 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev2 also provides the capability for an offline client to resynchronize with the server.</t>
              <t>IMAP4rev2 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; removing messages permanently; setting and clearing flags; parsing per RFCs 5322, 2045, and 2231; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev2 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers.</t>
              <t>IMAP4rev2 does not specify a means of posting mail; this function is handled by a mail submission protocol such as the one specified in RFC 6409.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9051"/>
          <seriesInfo name="DOI" value="10.17487/RFC9051"/>
        </reference>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="RFC9580">
          <front>
            <title>OpenPGP</title>
            <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
            <author fullname="D. Huigens" initials="D." surname="Huigens"/>
            <author fullname="J. Winter" initials="J." surname="Winter"/>
            <author fullname="Y. Niibe" initials="Y." surname="Niibe"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document specifies the message formats used in OpenPGP. OpenPGP provides encryption with public key or symmetric cryptographic algorithms, digital signatures, compression, and key management.</t>
              <t>This document is maintained in order to publish all necessary information needed to develop interoperable applications based on the OpenPGP format. It is not a step-by-step cookbook for writing an application. It describes only the format and methods needed to read, check, generate, and write conforming packets crossing any network. It does not deal with storage and implementation questions. It does, however, discuss implementation issues necessary to avoid security flaws.</t>
              <t>This document obsoletes RFCs 4880 ("OpenPGP Message Format"), 5581 ("The Camellia Cipher in OpenPGP"), and 6637 ("Elliptic Curve Cryptography (ECC) in OpenPGP").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9580"/>
          <seriesInfo name="DOI" value="10.17487/RFC9580"/>
        </reference>
        <reference anchor="HALON" target="https://docs.halon.io/manual/http_submission.html">
          <front>
            <title>HTTP submission</title>
            <author>
              <organization>Halon Security AB</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="AWS-SES" target="https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html">
          <front>
            <title>Amazon Simple Email Service API Reference: SendEmail</title>
            <author>
              <organization>Amazon Web Services</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="OCI-EMAIL" target="https://docs.oracle.com/en-us/iaas/Content/Email/home.htm">
          <front>
            <title>Email Delivery</title>
            <author>
              <organization>Oracle</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <?line 4108?>

<section anchor="examples">
      <name>Examples</name>
      <t>This appendix contains complete examples of HMTP exchanges.  As noted
in <xref target="conventions"/>, base64 data, digests, and signature
values are abbreviated or illustrative.</t>
      <section anchor="example-discovery">
        <name>Discovery</name>
        <t>A Sending Server that has a Message for "bob@example.net" queries DNS
and retrieves the Capabilities Document of the target host:</t>
        <sourcecode type="dns"><![CDATA[
_hmtp.example.net.  3600 IN SVCB 1 mx.example.net. alpn=h2,h3
]]></sourcecode>
        <sourcecode type="http-message"><![CDATA[
GET /.well-known/hmtp HTTP/1.1
Host: mx.example.net

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=86400

{
  "versions": {
    "1": {
      "endpoints": {
        "transfer": {
          "uri": "/hmtp/v1/transfer",
          "reports": "/hmtp/v1/reports"
        }
      }
    }
  },
  "limits": {
    "maxMessageSize": 10737418240,
    "maxRequestSize": 26214400,
    "maxRecipients": 500
  },
  "policy": {
    "mode": "enforce",
    "maxAge": 2592000
  }
}
]]></sourcecode>
      </section>
      <section anchor="transfer-with-referenced-content">
        <name>Transfer with Referenced Content</name>
        <t>The Sending Server transfers a Message with a large attachment by
reference.  The Receiving Server accepts the Message and retrieves the
attachment after responding, which it indicates with the status code
202 (Accepted).  The Sending Server keeps the attachment available
until its "expires" timestamp:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /hmtp/v1/transfer HTTP/1.1
Host: mx.example.net
Content-Type: application/json
Content-Digest: sha-256=:q1M8rT4vYw7Zb2Nd5Kf0Hs9Lx3Jc6Pg1Ue8Ra4Wi2Oo=:
Signature-Input: hmtp=("@method" "@target-uri" "content-type" \
  "content-digest");created=1767268800;expires=1767269100;\
  keyid="hmtp2026";domain="example.com";alg="ed25519";tag="hmtp"
Signature: hmtp=:Zm9vYmFyZXhhbXBsZXNpZ25hdHVyZXZhbHVlbm90cmVh\
  bGx5dmFsaWRqdXN0aWxsdXN0cmF0aXZlb25seWZvcg==:

{
  "envelope": {
    "id": "Hq9vR2xLm4Tz8Kc1Wb6Nd0",
    "from": "alice@example.com",
    "to": [{"address": "bob@example.net"}],
    "body": "7bit"
  },
  "message": {
    "segments": [
      {"data": "RnJvbTogQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPg0K..."},
      {
        "uri": "https://files.example.com/f/9b1c4e7a",
        "size": 734003200,
        "digest": {
          "sha-256": "Yk3qV0sJpRm9T2cFhWxN6dL1bA8eQu7ZgKi4oPyXwE0="
        },
        "expires": "2026-01-08T12:00:00Z",
        "encoding": "base64"
      },
      {"data": "DQotLWIxLS0NCg=="}
    ],
    "size": 1004426786
  }
}

HTTP/1.1 202 Accepted
Content-Type: application/json

{
  "queueId": "8Jk2Pq7Xv1",
  "recipients": [
    {"address": "bob@example.net", "result": "accepted"}
  ]
}
]]></sourcecode>
      </section>
      <section anchor="example-submission">
        <name>Submission</name>
        <t>A Client submits a Message with Basic authentication.  The Submission
Server accepts responsibility for both recipients and reports the
outcome of the final delivery through DSNs:</t>
        <sourcecode type="http-message"><![CDATA[
POST /hmtp/v1/submission HTTP/1.1
Host: hmtp.provider.example
Authorization: Basic YWxpY2U6czNjcjN0LWFwcC1wYXNzd29yZA==
Content-Type: application/json

{
  "envelope": {
    "id": "c5N1qW8eR3tY6uI9oP2aS4",
    "from": "alice@example.com",
    "to": [
      {"address": "bob@example.net"},
      {"address": "dave@example.org"}
    ]
  },
  "message": {
    "data": "RnJvbTogQWxpY2UgPGFsaWNlQGV4YW1wbGUuY29tPg0K..."
  }
}

HTTP/1.1 200 OK
Content-Type: application/json

{
  "queueId": "S-20260101-0042",
  "recipients": [
    {"address": "bob@example.net", "result": "accepted"},
    {"address": "dave@example.org", "result": "accepted"}
  ]
}
]]></sourcecode>
      </section>
      <section anchor="retried-request">
        <name>Retried Request</name>
        <t>The connection is lost before the Sending Server receives the
response to the request in <xref target="transfer-request"/>.  The Sending Server
sends the identical request again with a new signature.  The Receiving
Server recognizes the Transfer Identifier and returns the stored
response without delivering the Message again:</t>
        <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "queueId": "4Y7mKq2ZtR",
  "recipients": [
    {"address": "bob@example.net", "result": "accepted"},
    {
      "address": "carol@example.net",
      "result": "rejected",
      "problem": {
        "type": "urn:ietf:params:hmtp:error:unknown-recipient",
        "title": "Unknown recipient",
        "smtpStatus": "5.1.1",
        "smtpReply": 550
      }
    }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="example-report">
        <name>Delivery Status Report</name>
        <t>The Receiving Server "mx.example.net" has accepted a Message from
"alice@example.com" for two recipients.  The Recipient Object of
"dan@example.net" requests notification on success, and the Recipient
Object of "bob@example.net" requests notification on delay.  The
Envelope requests the return of the header section ("ret" is "hdrs").
After four hours, the Message has been delivered to "dan@example.net",
while delivery to "bob@example.net" is still being retried.
"mx.example.net" reports both events in one report to the "reports"
endpoint of "example.com" (<xref target="capabilities-document-example"/>).  The
report for "dan@example.net" contains no problem details object,
because the action is "delivered":</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /hmtp/v1/reports HTTP/1.1
Host: hmtp.provider.example
Content-Type: application/json
Content-Digest: sha-256=:...:
Signature-Input: hmtp=("@method" "@target-uri" "content-type" \
  "content-digest");created=1767286800;expires=1767287100;\
  keyid="hmtp2026";domain="example.net";alg="ed25519";tag="hmtp"
Signature: hmtp=:...:

{
  "id": "Dq3rT6yU9iO2pA5sD8fG1h",
  "envelopeSender": "alice@example.com",
  "reportingServer": "mx.example.net",
  "transferId": "Lw2eR5tY8uI1oP4aS7dF0g",
  "transferDomain": "example.com",
  "envid": "QQ271828",
  "messageId": "<20260101130000.5e7b@example.com>",
  "arrivalDate": "2026-01-01T13:00:02Z",
  "recipients": [
    {
      "finalRecipient": "dan@example.net",
      "originalRecipient": "rfc822;dan@example.net",
      "action": "delivered",
      "lastAttempt": "2026-01-01T16:59:58Z"
    },
    {
      "finalRecipient": "bob@example.net",
      "action": "delayed",
      "problem": {
        "type": "urn:ietf:params:hmtp:error:mailbox-full",
        "title": "Mailbox full",
        "detail": "The mailbox bob@example.net is over quota.",
        "smtpStatus": "4.2.2",
        "smtpReply": 452
      },
      "lastAttempt": "2026-01-01T17:00:00Z",
      "willRetryUntil": "2026-01-06T13:00:02Z"
    }
  ],
  "returnedContent": {
    "data": "UmVjZWl2ZWQ6IGZyb20g..."
  }
}

HTTP/1.1 204 No Content
]]></sourcecode>
        <t>The server of "example.com" correlates the report with its Message
through the "envid" member.  If "alice@example.com" is read with a mail
client, the server converts the report into a DSN message as described
in <xref target="reports-mapping"/>: the recipient "dan@example.net" receives the
"Status" field "2.0.0", the recipient "bob@example.net" the "Status"
field "4.2.2", and the "returnedContent" member becomes a
"text/rfc822-headers" part.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author thanks John Klensin and John Levine for their comments on
an earlier version of this document, in particular on its
relationship to SMTP and on related work.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7y9+3obx7Un+n89RQ/0x0g7AMU7KSrOhJIom7ZuJqk4Tiaf
0wSaZG8BaBgNiGJk7Wc5z3Ke7Kx7repugIpnn8k3s00Bjeq6rFr39VuDwSAs
ysW4OMp6311cvMte5+U4u5jn0/qqmGfv5tWiGlbjXsgvL+fFR3zq9cW7Xhjm
i+K6mt8dZfViFEbVcJpPYIzRPL9aDBZlffOhnA5uJovZYHMr1MvLSVnXZTVd
3M3gqdOTi5dhupxcFvOjMIKRjsKwmtbFtF7WR9liviwCvGkn5PMiP8qOzy7C
h+LutpqPjkI2yIoJTBH/wP9mcWz8CJeA/z07Ob8IH4vpEobOsutycbO8hLmP
JuXmzuP2JHuhnuTzxS+/LqtFAVOYViHky8VNNcc3wghZVk7h8xcb2QX/jD7j
Nb+YlIt5WSbfVPPrfFr+K1/AvGC901ExK+D/TBf0La3gKLspxuPqzzSnjWE1
CWFazSfwk4806bOXz7c3d/fkz53NnU39c2fnif65u78V/9yJf+7qn3t79umT
w335c3dzRz+FRw/lz72d7a3457b+uffEHjh8onPY39rTB/Z3DnTc/d1Nndn+
3s5W/NOe3TvUBe0f7NqzB3s6LnyoMzvY3zqQPw+3tvUVh9t7+rPDuOLDPZvO
IUzN/jzUZ59sbW3GP7finzrCk11b/JPdvQP7c99+tre9Z3/aWTw52IbdCeX0
qnV0O7v2567Ofmd7U4fePdzX8Xaf7Omze0/s04PtzUPblcO4r9txM+0U9w+e
6LiwlzbC/oHtyqad4uHO5lb8cy9u5lbcTPtzPz67v70Z/7RPD57oK55s7rl9
3bW9OqSffXf86u2bI6L+hN3E69vjL/P5dbGAu7FYzOqjx4+Bs9QbN/m4mm6U
1eNJPl3m48f45S/xlxs3i8mYfm13NpNLeJR9h7/Nzovhcl4u7rLjZ/QlMZ3s
Kh/XBfz7+KfzwfnJeTq940n+L/xlOZmNi+yEmM15Mf9YDovs+N1pdlYAgyym
Q3j2HO42PbBmDfkt/H8aEu/647qoH49hEvXiMQxmYw3+so3//sVGXLs2meJP
xaXOrO5Y3dvnp4OT18enr9L18YpeFGMg2vndmplX83w4LmjWxXSwrB+XeV4/
fg7MHPjZYxrm8U01KXCqq2b6lsZoTS6EwWCQ5Zf1Ar5fhHBxU9YZvHQ5gaGz
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
OvVY5I1cjCg38JoJN17LWlfwEP1tB012eFrToeE+FgKfZK2CcFdEEdaseZIP
SaWvsjg8YbHcri3zhoZA8433C0nKtkD2jX/41RzGjj0JytVLbVNHD9c+POc3
25X+d6XFxEk19l3CUQIkwDarO1lNWYljUQBSQQY8dFusroSP7gLcgiKf6xOc
BQI7VmkUmUozqMJGYw8pgQTK+iHE7eiAdvPUKUkKdeQk/ndBOl3SwEd6yDZ9
nANpwlEj0fxP4bkwROLq5uISpQwbyFDee8zEDTjWV/0mTXdWHUjdCNTv7wZ3
rk1Z0PaptKuvcZHYST1EBOoPxZ3bsN538G12rN8yUBpBTcnLXlIQvxe4Mhrr
7dLAr7QE2dGeNi3wInwLTgHIF9e99CF5RHSzV3+VhrRKO+qQlSvxf0JTfaxv
8sH23r6iq8C/9ra2RZGk+gAdxGBVQqyqW3XIK0clDiK5e3H1dHE0ZCdj9COW
A0XP72wziby5kMtAg+IRqzBSzZrkRJ5uT3C+2q5BNLXf5Zq1cDTvy6ZATtTM
hZW40poi5mbdZKqJeTYQgwK+z5c+L/vDFwhTtRgkzelF3SpkK95lyRpSmKgm
9+1NYe4UQaSoJaaWWMpWHQLvDGYwrbeYo0vdTBRiX4aohRCSzWeo3oIdO21t
vWV5c0511jubfv/x8qK6/vGnT7Oft99fv/v2ZZ3/9Gb847d/2f35p63by2/f
L3/efrJ4d735w8bGhlmW6WiSOk5q+9Hjx5gMW/vE/seTx2i4P9kabhe7o0M2
2ut25rMyUcth1muENvTl97fbdxfXf9389j93pn/58XLrb8vd4ofhmyeTl4f1
u18PXo1+2v/03eJ48+QbtKvZNBaVFgfY3tzeH2xuDTYPL7a2jzY34f/9zVnK
vt6IgraydSPbzc8PukwJ6+zXleCTNqZMBLNC4ESLah3YHwrfqCk3ugEGyoY+
imjpOhfmHl/dCIo95itaPq0Y3RzZw3lBCQn52JUnD6vqA95mas+DCVZLuBfz
8l+sOvpoUj/a4XoKSaIgsmLMkjFndOOpjqRXe2ZgpZ5dq0A0e9pP+DC2dwVb
bml5WFyJ7V3aiYXKrFpMDNwQGS/C2+0lY6+YBZUwUwfXGHgixOglZUhxhtl8
OVtIFyZZnRutQ6lvUR7vniSPSobR9C44U419lQZBPS8moCmNNqRrXs08lnNy
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
d5ukDeiNrl5pqVSrT9ot5T/u/MbFOCB44LhqLGwojuRVwvsHZcqmg9EXoyAx
aYAE/SrNBtK4EEVdoPrkgMiCsUbWFJVbkLJ8WsDp0GSQM4tItcrd51Dauzw/
Bxp8PDKQSDEeL0kN/izYVKWN1AG0lEry2yo+fMqGicodnc/Otf7QFCp3SagM
wmZlYLvgMOSq8hwkoQJJhKkqGtcU9d8wBUPREdixNSXx7+X4evr0qtu82qTS
ctDU1QLWlnOLfzo8Kx61b8DHh6nbj9DhBOfkUafdcS+gB0mrzsmfi67/OFRF
jIrrGQjmI6y++wwyNFusZfnWyi8t/+mneztbGxuOavN+JvWk0jK5jY6pmGuU
mqiMrlzF0W/975fzEVSqxbE8+tx5pM817VN8dUdPyu/0uW9xhV3HVXYbFFkI
3fWD4t2A9Km9orOxu7m71dnrbm009RHLsNorujvdzpafA/t3icD4P2/72ZHP
cT2f8DkvO7C8r1RV0SaAqBfqDz7ubtD7UqbXIrPwzJ+E+BovYL64LL9kN7ww
SiBDbLh9/KXkVIqwbVIPmGXqhdWOhzONEuKd1PEBZrxpyrVwwJlC6UYgu+5G
t3iwzzXZtFRaPDyqq4FRKPNJMVidAP2zcPte5kDdr8btm9en/tyl+/OOc3fX
MeM/H6BQ7AGYptXd3nna+9R5tTc/2/r8/mb3w3n3eLD988XGi+rxyy+bf+/v
vLnsvB3unZRb70bd17OnvZAg3DqaXi8X5G16+qDxN0oSbhSNv5F4asExw4KH
+Fm4bRpYt1V/ReK58fAJ+UYGTztQj3xnb29j4wnPJv/qccf/Ct5FP+xTTNaD
Wp+NJ+SFfRrVEH9Sji/9bwbd7e3O48aTRXlJbzRC57nbvQ+Tx5/fT57ffvjt
6ur8tx+rD78dX3/obl8NXvzqf/fh6vzFr+PzyeON/uTXK/j++U9ftgeT51X5
7uTT4LfjjfLdlwr+25883yh/+zA+725Xw3cfPvcvn/q5IuE15Fh6OJ5UQPvF
p8efT7pfXk62zv6193O/8+5853iwIWd1fbFxLTceVfNO75hvXCxci3Pvno8W
DZUavCdDvyS7QeuYQ7VwuErh3ZPp3z+fn80uf3n35fp99+3lm59gGo7Hv/z0
69b7d52b85/eLt93Hy/eXG783G63G99EmhqJzJIXTkTVe/ToYuTv+LYZ26OL
R4/PO/2t4W5phHGjIoG4u+ml4WZXJCLVTqc9lEh43tvwrfcfNz/9ulH9/fpk
8vis239+9e7L8c7gZed8f2/4y3L3w+XPo63Zm9vfbg43nhq5bj4hB9s3Bnuu
BZV098463d7Ghv//H2xH1WDpYQqB10S0BHuzNqEHv8wWL98dfXl5unH8zO+X
Bl0ismaVXBQbW1vdnd29HZbW9nrtFiK+7jr9tBWRC/oId9/e3z9233za/e1z
h6rXz+3d8o96pfh0bzXhFYCn4iblXlD5eHOlRHxKoj9FjEr7Ypzibxe1a+RH
yMRIPPciqkMVzOTyUOcMUdeAApYWZbUFIuBGmS0XWD1Vy55GODVbOSIn1mOB
bSz4RGTn63Xv2wSKHg/5PZ2znf6/jv/Z/+fxxst3z2/6zzo37387/teg+/j2
w/7Tp/db9VUCqL993Pn0bm94srl4v7M8ejx70y1Pt/6kANJtvU4ONXNP1Upy
8v5fLZ/+qijKnJz7KKa1MxPX0u7+tx6cZv3N2gTd78ydcJVQ1iZJawuUIEhW
AVjPldDewkJ7nfJDcCgxVIcpIpJL/K0GBBKwcDUU4DR5qvoh1ZBYJURnhOiI
ZUiOdEQX+je7nCJ5MzSZg9OyyrjkXE0BDOtgBKy/jukid9D/3S209X538vOn
7ofFyf/E7hGDyDTQL71VFTchT4WGlNNX/8ZOgsSgukUh0ljjillO0U5szYPT
xbwPcS5o4C09VWSfMmWE/KPbbT/b6Z+p6pC3gbY3agaYPQr57C5zFdENwI6t
mi3SiDXshlJnXVMpTjXwAYKbEZQUGLixCbBhS6c1ip0/79PYRbCqRLHU9YzI
cbg+t6l5XHM5rGxvgAlx2DVnqjwICwBBL4E3RqByBNWSagkPqBa5FyyNq8G8
ajxsu320yi5mS8D3LyWxw1KQnQ8tcB2kS20Cmo4qE9ni6vVRQQYKAhkp8YaL
JLddbfXkukdVgDNHkBFKUpUULaF2vsYoZqZWMi7tqiTeUAGaLUrHbaMXqLbE
6vuazlYVyXKWo6hUGd7QuWv8dxmaMkH3Ulr+qrnpL+T/BStyb6dmRe7t3tuK
hKX5E1YkDolEPWlWB58252c7t28fj153r/e3q4O9i586VyTxRRsjIO5qDauh
6XMkjeDJZEfjY3IF0/3y8qY7PNlevN9bHnVmb7bK093B843L+EnK3ED/UPpN
Skr0f/nll+5uZ6+717CaGH3ie1GCOpsb/n/a28Pdc9v7H+idcg6gzPGBX5PI
dOqcdTbRdOp+WH0FyjWEanhw4PdyMoIf9Qr0Ze3p+UV/r9t9svIlOk7Yrp4m
/eO4rBb7lNWdjmCnt/24t733gcy79Pqt97p2jWc7AHRl//4VDJkT57MvLaj6
nL19X9EDRfoAk1/7J+CK4maKpOsgepAY7tNytijbqy/urXa33V11cW9td1PD
eN1076a2duPGC3xQdG/fggcuen7HbLCgFfBWg1tsOGDhVLcs3k5+/eeHd+Pu
h3e/7Bz99OH2vLtxucKC2AKaT/GMosJxFnIOateF5h0rge1M6qhhvT2W2mJn
cvgTDiPHPil/L6dkINKoVMg0rJsjwJvNhC8wUBIo7SmPfYoZnyYfOGInowiL
JENrvEfQIKLC5BQXY0A0pCYkIbsb3fZGe6PRTBup3es4B/yu43d5U4ViuumK
SqRYchlL1wAW1kckCFqkuPi+AIiDClb1QRUdDwfk+nJ/9IiHx18kjYtyXA0b
rB0yCxOg5T9Wxd9nV9Pi5zHghoiHA3/xEkhqFA+CPNUT5guZAsuopPByPIPU
KQOcQ0Yi6BpwoJVzUM2AnxV3DsQ/rkbXWnOFinMpXwBme7n/B/y+eDhQtQIA

-->

</rfc>
