<?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-00" 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-00"/>
    <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="06"/>
    <area>ART</area>
    <keyword>email</keyword>
    <keyword>mail submission</keyword>
    <keyword>HTTP</keyword>
    <keyword>REST</keyword>
    <abstract>
      <?line 94?>

<t>This document specifies the HTTP Mail Transfer Protocol (HMTP), a
protocol for the submission and transfer of Internet mail over HTTPS.
HMTP covers both the submission of messages by clients to their mail
service and the transfer of messages between mail servers.  Each
message is carried unmodified in the existing Internet Message Format
inside a JSON envelope that holds the information needed for
delivery.  Large messages and attachments can be transferred by
reference, with their integrity protected by cryptographic hashes.
Requests are authenticated by signatures bound to the sending domain,
using keys published with the DomainKeys Identified Mail (DKIM) key
publication mechanism, which allows receivers to identify senders
independently of their IP addresses.  Servers discover HMTP endpoints
through DNS.  To allow incremental deployment alongside existing mail
infrastructure, a server can optionally fall back to the Simple Mail
Transfer Protocol (SMTP) when a peer does not support HMTP.</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 112?>

<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>
      <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>Dependence on IP addresses and port 25:</dt>
          <dd>
            <t>Receivers commonly make trust decisions based on the IP address of
the connecting server.  Many cloud and hosting providers restrict
outbound connections to port 25, and new senders find it difficult
to establish reputation for their addresses.  IP-based reputation
also works poorly when many unrelated senders share addresses in
cloud environments.  As a result, small operators often have to
relay mail through third-party sending services.</t>
          </dd>
          <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>
        </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.  This allows receivers to base trust decisions on domain
reputation rather than on IP address reputation, and allows
senders to operate behind proxies and content delivery networks.</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, 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.</t>
          </li>
          <li>
            <t>Deployment is incremental.  HMTP is a complete protocol on its own
and does not depend on SMTP.  An implementation can optionally
deliver messages using SMTP when a receiving domain does not
publish an HMTP endpoint.  Because the message is carried
unmodified, such a fallback requires no conversion of the message,
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.  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-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>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 identified by the key used to sign the request (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 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.  Because the Message is carried
unmodified, a Message can travel over a path that combines HMTP and
SMTP hops without conversion.</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, they are tried in
order of priority as specified in <xref target="RFC9460"/>.</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="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"/>);</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.  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"/>.</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 member:</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>
          </dl>
          <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 has no members other than "uri" in this
document.  Transfer requests are authenticated by signatures
(<xref target="signing"/>), so no authentication parameters apply to it.</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"
        },
        "submission": {
          "uri": "/hmtp/v1/submission",
          "identities": "/hmtp/v1/identities",
          "authentication": ["basic", "bearer"],
          "oauthResourceMetadata":
            "/.well-known/oauth-protected-resource"
        }
      }
    }
  },
  "limits": {
    "maxMessageSize": 107374182400,
    "maxRequestSize": 52428800,
    "maxRecipients": 1000,
    "maxIdLength": 64
  },
  "policy": {
    "mode": "enforce",
    "maxAge": 604800
  },
  "capabilities": {}
}
]]></sourcecode>
        </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 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 1 character 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>SHOULD</bcp14> include at least 128
bits of randomness, for example 16 random octets encoded in
base64url without padding, which yields 22 characters.  A request
whose Transfer Identifier does not meet these requirements 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;</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.</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"/>.</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.  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.</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 yielded the same transfer endpoint.  A Sending Server sends
a separate request for each transfer endpoint.</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._domainkey.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.</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.  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.</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, 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,
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.  When it
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.</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 <bcp14>MAY</bcp14> respond with the "server-unavailable"
problem type and 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.</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>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 "<em>", as in "</em>@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"/>).  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", "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 DNS name of the key record, in the form
<tt>&lt;selector&gt;._domainkey.&lt;domain&gt;</tt>, where the domain is in A-label
form, without a trailing dot.  The domain in this name is the
Sending Domain.</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>
          </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._domainkey.example.com";alg="ed25519";tag="hmtp"
Signature: hmtp=:3iXk1Lw3P1pZq9xH0M2eR8vUe6bJ4yD7nT5aC0fK2gS9\
  hV1mQ4wL8oE6rB3tY7uI0pA5sD2fG9hJ1kL3zX8cVQ==:
]]></sourcecode>
        <t>The corresponding key record 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" has the form
<tt>&lt;selector&gt;._domainkey.&lt;domain&gt;</tt>, where the selector has the syntax
defined in <xref target="RFC6376"/>.  Because a selector cannot contain the label
"_domainkey", the Sending Domain is the part of the name that
follows the first "_domainkey" label.</t>
          </li>
          <li>
            <t>It queries DNS for TXT records at the name given in "keyid".  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._domainkey.example.com"; the Sending Domain is "example.com".
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>
        <t>Because signatures are not bound to IP addresses, a Sending Server
can send requests through any network path, including forward
proxies and HTTP intermediaries, provided that the covered components
and the content of the request are not modified on the way.</t>
      </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).  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.</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">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">Recipient</td>
              <td align="left">-</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">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"/>).</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.</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.</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>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
(<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>
      <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>
        </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 Sending
Server that gives up after retries uses the code 4.4.7 if no more
specific code is available.</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>
    <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 only the interoperability with domains that do not support
HMTP.  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>A Sending Server that supports SMTP <bcp14>MAY</bcp14> deliver a Message to an
Envelope Recipient using SMTP only if both 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>
        </ol>
        <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>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>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>Reputation:</dt>
        <dd>
          <t>Receiving Servers base reputation on the Sending Domain instead of
IP addresses.  New Sending Domains still need to establish
reputation, and Receiving Servers <bcp14>MAY</bcp14> apply rate limits to Sending
Domains without history.</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="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.
Because the identity of the sender is established by the signature,
rate limits and blocking can be applied per Sending Domain rather
than per IP address.</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="transfer-identifiers">
        <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.  The limit on the length of Transfer
Identifiers bounds the storage that a Receiving Server needs for them.</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 that are served by
the same HMTP Endpoint.  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-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</td>
                <td align="left">
                  <xref target="transfer"/> 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="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="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="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>
      </references>
    </references>
    <?line 3134?>

<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"
        }
      }
    }
  },
  "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._domainkey.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>
  </back>
  <!-- ##markdown-source:
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
nywoxsodT6TSuFVOHLXN8KY3el9cGx5utGh5GI4fxWi3iNjbbDXVc4XO7rws
k7qJ4BIN6JBKpD4uTsDvXlFfUnxJczVIDwLoNUyPgJrRPb/LXFsElHOy0kE7
bCD3M2B8Z/29Va77qZxrKcHgdI7prFR9rr9DrdStvJKl746GUv4unK+BMq/x
BEnWpWwlnpaBcU1pGb6itbWAFmRVwKJs7Y5JO+ofh/Qa987qysZCD5mAp8zv
NqAJcFSoeTe27qFfLcLPmrXwLvc4ac+KQmdaojXxmaWiYjL0AVmAIZs+Bj9o
Q9eF/PHhCKTZjqSQ8w3e6mCvUua+zFfcAceAkV2KWsimo1ZMiKmAOS2tvyIQ
1Gq55NL7krlkGLLvmiok3FMsGLyt3akor9AV7yTnzy8uTl9/e/6PVyd//cfT
N6+fvjs7e/764h/nF2fPT16d4xuK9Eq6zMiY1474PFxyWaAjSSn7gkQqAgIK
RBFvpHXQvM3Qq2htX7bTWTFfYXgzAPFJglmwjpWUrMSyYjLSOktDssVfWyEe
2oblqmZErtmMEwwaMMpAAg0g5Xvzk5v036Usgin8/Dj9t//1b5zTfbsEtktc
H16DL6WHB0ejJCFJ0jL+UtU0k+9KGD2dfdxylsG9nQMjdn2cCn/9+vjp7ejp
2btv57ffnJ2/Xbw7+O2f38/f7r94P/rnN5PvD1eHs7/eHFQ/5sN//nL69XHS
YIbH1Bvx64e9v8xy4A6TXtr7S431vfWAeiFbET7pt+n/IjNMfiU5wo+ejLkr
2tfDg/2D0T6i0zyRFF/51dEQfoXvvs/visnXPfwmakxb/2CmCb/2WUO9JyAk
vu7lk9He3vCo96TOrvmdXpi+TPx4p/jr++HL2523w8Xffjv6+N32q1F+dvjh
Xb5/+f3u3bOD+cVe9nT76ofR9fkRzuDmp+Hsx93bl4fl8/3lNzv1Lwer0+3F
yV71bHT17dHN98P3L3f++dfD8U8/fg27xbr9OmtxAxLvl2Lxxmi8X4bH23iq
DZPLPoW//79rA4Ku9daSnNZ6eJ0aFlKiPgsUe/yo/D3vuoqxN3W4hYlgBmHh
WsC55nD4C7qHTNhRszjcBXJ+BhiJrpIRgt4jOYTpRZx+pkYl5hgEgyNqo6ZQ
KGRnNPpBSk2aw8ZBm57+PqjLckC19S0v36i54DwUTbbUQ0Pk83uCH2rrG3EX
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
p27jhx/JjzHa7gBQ/8bWVrv9I88mf/Ss4z+C337O7vLRNuZxAwjuym8UkfEf
rxgA3MaP6fhiu5GNuuvrnWeNH+fpBf2mEYbPA+99vHp28+Hq4O7j+8vLwfvn
xcf3/euP3fXL0eE7/9nHy8Hhu/Hg6ll7ePXuEkYweHG7Pro6KNLzky+j9/12
en5bwL/Dq4N2+v7jeNBdL7LzjzfDi20/W3QqCU182KCELX/45dnNSff21dXa
2e9bL4ed88FGf9SW3Xo/Dn896Vb58vjGOPqKW785yOcNPTdYKsO4JPVNIf4B
SB/uSPjtyeSXm8HZ9OLX89vrD923F8cvYBr6419fvFv7cN75OnjxdvGh+2x+
fNF+ubKy0vgmGP7mqOUjFfZE0Xv69FPuL2+7dE8/PX026AzXss20YSgACjoS
N1f9ebjalTORaAVIikpHN0s39PXh8+qXd+3il+uTq2dn3eHB5fltf2P0qjPY
2cp+XWx+vHiZr02P795/3W9vm5PddCFb2zcGUtcCkOmtM2aabX+0A1VLpIdJ
XF7FUHaCZmVC936dzl+dH92+Om33d728NOgakTUr5Kpor611Nza3Nvi8tvdm
N5ED7KH9T6KIdcNHKH1bv3zuHn/ZfH/TIWKHmb1d/lUlUSjLVhN+AqgqKKQ8
CmJWMJeKsUuDYmRsS9CM2OrET+eVi+Q55MKV/OxyWAeA2NL1oa4U4nQDzaqM
V2yxU+BOmS7mCCysiMCQFB4Ajw2oSt3BHh/ZxjQvHdr1UPY7NoWtx6/8gfbZ
xvD3/n+G/+m3X50ffB3udr5+eN//fdR9dvdxZ3v7cau+7AAarvc7X863spPV
+YeNxdGz6XE3PV37iweQivV951Cz7qkKWi3L//Lz6XuPopqd8xiNs7JnYpj5
7n9149TwllTJVB61504YQJf1SdLbDK8bVDJCMaLh4KoCURKuHGwMLR7kwF8A
TjKOqxZ/qu77uEVXZJK+Ry6oYchDp5JD0RohlqEmWFlLdGF804sJYltgplo1
pUKUxgUn8nMlZHgZyVy8rwyybqP/XRFa+7B59fJL9+P85H8hPWLpmAaGqTeX
4ibkqdCQcEKE79j6L1lKd3iINO7xsSwmaAC2ZsGbYn4PUSlo4C09ldQ+ZRC2
/KNIbVH+mgC5kPuiYoLJVvh/il1VqabzAQA=

-->

</rfc>
