<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.8) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-mailmaint-autoconfig-05" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="autoconfig">Mail Autoconfig</title>

    <author fullname="Ben Bucksch">
      <organization>Beonex</organization>
      <address>
        <email>ben.bucksch@beonex.com</email>
      </address>
    </author>

    <date year="2026" month="June" day="28"/>

    <area>art</area>
    <workgroup>mailmaint</workgroup>
    <keyword>config</keyword> <keyword>configuration</keyword> <keyword>autoconfig</keyword> <keyword>autodiscover</keyword> <keyword>mail</keyword> <keyword>email</keyword> <keyword>IMAP</keyword> <keyword>POP3</keyword> <keyword>SMTP</keyword> <keyword>JMAP</keyword>

    <abstract>


<?line 69?>

<t>A protocol that allows email applications to set up mail accounts and related accounts with only the email address and password.</t>

<t>It defines how service providers can publish the account configuration, so that email applications can automatically find a working configuration. It reduces setup friction for their users, and calls to the support for the service provider.</t>

<t>Although the discovery process starts with an email address, the protocol is not limited setting up email accounts, but can also set up calendar, contact and file sync, video conference accounts and other accounts that are connected to the same user account.</t>

<t>This protocol uses a well-known address and DNS lookups, based on the email address domain, to find the XML configuration file for the service provider.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://benbucksch.github.io/autoconfig-spec/draft-ietf-mailmaint-autoconfig.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-mailmaint-autoconfig/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        mailmaint Working Group mailing list (<eref target="mailto:mailmaint@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/mailmaint/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/mailmaint/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/benbucksch/autoconfig-spec"/>.</t>
    </note>


  </front>

  <middle>


<?line 79?>

<section anchor="introduction"><name>Introduction</name>

<t>Configuring email, calendar and contacts client applications for a given user account
at a specific service provider is often a tedious, error-prone and unnerving process.
Even technical users struggle to find the right combination of hostname, port number,
security protocols, authentication methods and forms of username. Less technical users
often abort entirely. This difficulty is one of the primary factors why many users use
provider-specific applications which use proprietary internal protocols instead of
generic provider-independent client applications that use open protocols specified
by the IETF. This in turn leads to significantly less choice for end users in their
everyday user experience for communication, already today. Long-term, this leads to an errosion of
standards support and the ability for end users to use the software of their choice.</t>

<t>This protocol allows users to set up their existing email account in a email client application,
by entering only their name, email address, and password.
The application, by means of the Autoconfig protocol specified here, will determine all the other
parameters that are required, including IMAP or POP3 hostname, TLS configuration,
form of username, authentication method, and other settings, and likewise for SMTP.
Calendar, contact and file sync, video conference accounts and other
accounts that are connected to the same user account can be set up at the same time.</t>

<t>The protocol works by first determining the domain from the email address, and
then querying well-known URLs at the email provider, which return the
configuration parameters in computer-readable form. Failing that, various
fallback sources can be applied, like a common database of configurations for
large email providers who do not directly support this protocol, or other
mechanisms to determine the configuration.</t>

<t>While this Autoconfig protocol was originally conceived for configuring mail clients,
it can also be used for accounts of other types, like contacts and calendar
sync, chat, video conference, or online publishing. The primary concept and
limitation here is that these accounts are hosted by the same provider
as the email address.</t>

<t>This protocol is in active production use since 15 years by major email clients,
and the configuration database contains configurations for over 80% of
all email accounts.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="data-format"><name>Data format</name>

<t>Whether the ISP or a common central database returns the configuration, the
resulting document <bcp14>MUST</bcp14> have the following data format and qualities.</t>

<t>The format is in <xref target="XML"/>. The MIME type is <spanx style="verb">text/xml</spanx>.</t>

<t>The seconds below define the XML and its meaning. Most sections start
with a concrete example of the elements that they define.</t>

<section anchor="xml-configuration-file-example"><name>XML configuration file example</name>

<t>The following example shows the syntax of the XML configuration file.</t>

<figure><artwork><![CDATA[
<?xml version="1.0"?>
<clientConfig version="1.2">
  <emailProvider id="example.com">
    <domain>example.com</domain>
    <domain>example.net</domain>

    <displayName>Google Workspace</displayName>
    <displayShortName>GMail</displayShortName>

      <!-- type=
      "imap": IMAP
      "pop3": POP3
      "jmap": JMAP
      "ews": Microsoft Exchange Web Services
      "activesync": Microsoft ActiveSync
      -->
    <incomingServer type="imap">
      <hostname>imap.example.com</hostname>
      <port>993</port>
        <!--
        "plain": no encryption
        "SSL": TLS on TLS-specific port
        "STARTTLS": mandatory upgrade to TLS via STARTTLS
        -->
      <socketType>SSL</socketType>
        <!-- Authentication methods:
        "password-cleartext": SASL PLAIN, LOGIN or protocol-native login.
        "password-encrypted": SASL CRAM-MD5, DIGEST-MD5 etc. Not TLS.
        "TLS-client-cert": TLS client certificate on TLS layer
        "OAuth2": Provider MUST adhere to section "OAuth2 requirements".
        "none": No authentication

        Multiple <authentication> elements per server
        configuration are valid. Clients will pick the first
        one that they support.
        -->
      <authentication>password-cleartext</authentication>
      <username>%EMAILADDRESS%</username>
    </incomingServer>

    <!-- There can be multiple incoming servers,
      and even multiple IMAP server configs.
      The first configuration is the preferred one, but the user or
      or client can choose the alternative configs. -->
    <incomingServer type="pop3">
      <hostname>pop.example.com</hostname>
      <port>995</port>
      <socketType>SSL</socketType>
      <authentication>password-cleartext</authentication>
      <username>%EMAILADDRESS%</username>
    </incomingServer>

    <!-- Needed only for IMAP or POP3 -->
    <outgoingServer type="smtp">
      <hostname>smtp.googlemail.com</hostname>
      <port>587</port>
      <socketType>STARTTLS</socketType>
        <!-- smtp-auth (RFC 2554, 4954) or other auth mechanism. -->
      <authentication>password-cleartext</authentication>
      <username>%EMAILADDRESS%</username>
    </outgoingServer>

    <incomingServer type="jmap">
      <url>https://jmap.example.com</url>
        <!-- Authentication methods
        "basic": RFC 7617
        "digest": RFC 7616
        "OAuth2": Provider MUST adhere to section "OAuth2 requirements".
        -->
      <authentication>OAuth2</authentication>
      <authentication>basic</authentication>
      <username>%EMAILADDRESS%</username>
    </incomingServer>

    <incomingServer type="ews">
      <url>https://mail.example.com/EWS/Exchange.asmx</url>
      <username>%EMAILADDRESS%</username>
      <authentication>basic</authentication>
    </incomingServer>

    <incomingServer type="activesync">
      <url>https://mail.example.com/Microsoft-Server-ActiveSync</url>
      <username>%EMAILADDRESS%</username>
      <authentication>OAuth2</authentication>
    </incomingServer>

    <documentation url="https://www.example.com/help/mail/">
      <descr lang="en">Configure mail app for IMAP</descr>
      <descr lang="de">Email mit IMAP konfigurieren</descr>
    </documentation>

  </emailProvider>

  <addressbook type="carddav">
    <url>https://contacts.example.com/remote.php/dav</url>
    <authentication>basic</authentication>
    <username>%EMAILADDRESS%</username>
  </addressbook>

  <calendar type="caldav">
    <url>https://calendar.example.com/remote.php/dav</url>
    <authentication>basic</authentication>
    <username>%EMAILADDRESS%</username>
  </calendar>

    <!-- Upload files, allowing the user to share them.
    This can be used to send links instead of attachments,
    or to set up a file sync folder on the user's desktop.
    -->
  <fileShare type="webdav">
    <url>https://share.example.com/remote.php/dav</url>
    <authentication>basic</authentication>
    <username>%EMAILADDRESS%</username>
  </fileShare>

  <chatServer type="xmpp">
    <url>wss://example.com:5281/xmpp-websocket</url>
    <authentication>basic</authentication>
    <username>%EMAILADDRESS%</username>
  </chatServer>

  <chatServer type="xmpp">
    <hostname>xmpp.example.com</hostname>
    <port>5223</port>
    <socketType>TLS</socketType>
    <authentication>password-cleartext</authentication>
    <username>%EMAILADDRESS%</username>
  </chatServer>

  <videoConference type="opentalk">
    <url>https://talk.example.com/login</url>
    <authentication>OAuth2</authentication>
    <username>%EMAILADDRESS%</username>
  </videoConference>

    <!-- OAuth2 configuration for native public client apps.
    Gives e.g. clientID, expiry, and login page.
    The provider MUST adhere to "Open Client OAuth2 profile".
    -->
  <oAuth2>
    <authURL>https://login.example.com/auth</authURL>
    <tokenURL>https://login.example.com/token</tokenURL>
    <issuer>login.example.com</issuer>
    <scope>IMAP POP3 SMTP CalDAV CardDAV WebDAV offline_access</scope>
    <clientID>open</clientID>
    <!-- optional -->
    <clientSecret>give-me-your-password</clientSecret>
  </oAuth2>

  <clientConfigUpdate url="https://www.example.com/config/mail.xml" />

</clientConfig>
]]></artwork></figure>

</section>
<section anchor="global-elements"><name>Global elements</name>

<t>The file starts with an XML header, e.g. <spanx style="verb">&lt;?xml version="1.0"?&gt;</spanx>,
and is encoded in UTF-8 without BOM.</t>

<section anchor="clientconfig"><name>clientConfig</name>

<t>The root element of the XML file is <spanx style="verb">&lt;clientConfig version="1.2"&gt;</spanx>.</t>

<t>The <spanx style="verb">version</spanx> is <spanx style="verb">1.2</spanx> for the version defined in this specification. <spanx style="verb">1.1</spanx> is
a compatible previous version of this protocol: <xref target="Autoconfig1.1"/>. Higher versions are for future specifications.
The client <bcp14>MUST NOT</bcp14> reject a configuration file solely based on the version number.</t>

</section>
<section anchor="emailprovider"><name>emailProvider</name>

<t><spanx style="verb">&lt;emailProvider id="example.com"&gt;</spanx></t>

<t>Element <spanx style="verb">&lt;emailProvider&gt;</spanx> is within the root element.
This element has no semantic purpose and exists for legacy reasons only,
but its content is significant.</t>

<t>The <spanx style="verb">id</spanx> is a unique string that typically matches the primary domain of the provider. The syntax of the ID is the same as for domain and hostname.</t>

<t>Within <spanx style="verb">&lt;emailProvider&gt;</spanx> are <spanx style="verb">&lt;domain&gt;</spanx>, <spanx style="verb">&lt;displayName&gt;</spanx> and
<spanx style="verb">&lt;displayShortName&gt;</spanx>, <spanx style="verb">&lt;documentation&gt;</spanx>, <spanx style="verb">&lt;incomingServer&gt;</spanx> and
<spanx style="verb">&lt;outgoingServer&gt;</spanx>.</t>

</section>
<section anchor="domain"><name>domain</name>

<figure><artwork><![CDATA[
<domain>example.com</domain>
<domain>example.net</domain>
<domain purpose="mx">example-hosting.com</domain>
]]></artwork></figure>

<t>The content of the <spanx style="verb">&lt;domain&gt;</spanx> element defines which email addresses this config
is valid for. For example, a configuration with <spanx style="verb">&lt;domain&gt;example.com&lt;/domain&gt;</spanx> is valid for
email address <spanx style="verb">fred@example.com</spanx>.</t>

<t>Multiple <spanx style="verb">&lt;domain&gt;</spanx> elements may be included, which means that the configuration is
valid for all of these domains. Their order has no meaning - they may be sorted
by number of users, importance to the provider, or alphabethically.</t>

<t><spanx style="verb">&lt;domain purpose="mx"&gt;</spanx> specifies the domain name of the MX server
of this provider. It is used during the configuration file lookup using MX
server names, as specified in <xref target="mx"/> <em>MX</em>. If the email address that is to be configured has an MX server that is within the domain given by <spanx style="verb">&lt;domain purpose="mx"&gt;</spanx>, then this configuration is applicable for that email address.
Adding the <spanx style="verb">purpose</spanx> attribute is <bcp14>RECOMMENDED</bcp14>.</t>

</section>
<section anchor="displayname-and-displayshortname"><name>displayName and displayShortName</name>

<figure><artwork><![CDATA[
<displayName>Google Workspace</displayName>
<displayShortName>GMail</displayShortName>
]]></artwork></figure>

<t>The <spanx style="verb">&lt;displayName&gt;</spanx> element contains the name of the provider, e.g.
as preferred by the marketing of the provider itself. It <bcp14>SHOULD</bcp14> be no
longer than 30 characters, but <bcp14>MUST</bcp14> be no longer than 60 characters.</t>

<t>The <spanx style="verb">&lt;displayShortName&gt;</spanx> element contains the name of the provider, as
typically used by end users. It <bcp14>SHOULD</bcp14> be no longer than 12
characters, and it <bcp14>MUST NOT</bcp14> be longer than 20 characters.</t>

<t>Both elements may used to display the provider or account name by the
mail client UI, which has reasonable expectations on length and
expressiveness.</t>

<t>The <spanx style="verb">&lt;displayShortName&gt;</spanx> in particular may be used by the mail client
together with the email address as partial base for the account name,
and during everyday use of the app to represent the account, so it
<bcp14>SHOULD</bcp14> be short, distinctive and represent the provider in the way
end users refer and think of it.</t>

</section>
</section>
<section anchor="documentation"><name>documentation</name>

<figure><artwork><![CDATA[
<documentation url="https://www.example.com/help/mail/">
  <descr lang="en">Configure mail app for IMAP</descr>
  <descr lang="de">Email mit IMAP konfigurieren</descr>
</documentation>
]]></artwork></figure>

<t>This is purely informational and not required for the automatic setup.</t>

<t>This element contains the end-user help webpage at the provider that describes the mail
server settings. The configuration may be based on that page, but does not
necessarily have to match it, e.g. when a better configuration is available
than the one described on the webpage.</t>

<t>The <spanx style="verb">url</spanx> attribute contains the URL of the webpage. The <spanx style="verb">&lt;descr&gt;</spanx>
content describes the content and purpose of the page and why it's
referenced here.
Multiple <spanx style="verb">&lt;descr&gt;</spanx> elements with different <spanx style="verb">lang</spanx> attributes are
allowed, whereby the <spanx style="verb">lang</spanx> attribute contains the 2-letter ISO language
code, like the HTML <spanx style="verb">lang</spanx> attribute.</t>

</section>
<section anchor="server-sections"><name>Server sections</name>

<t><spanx style="verb">&lt;incomingServer type="jmap"&gt;</spanx>, <spanx style="verb">&lt;calendar type="carddav"&gt;</spanx> etc.</t>

<t><list style="symbols">
  <t>The <spanx style="verb">type</spanx> attribute specifies the wire protocol that this server uses. See
<xref target="type"/> <em>type</em> below.</t>
  <t><spanx style="verb">&lt;incomingServer&gt;</spanx> specifies the server that the mail client retrieves email
from and submits changes to. In many protocols, this server is also used for
sending email.</t>
  <t><spanx style="verb">&lt;outgoingServer&gt;</spanx> is used for sending, if <spanx style="verb">&lt;incomingServer&gt;</spanx> does not
support that directly.
This is currently used only for SMTP in combination with IMAP and POP3.</t>
  <t><spanx style="verb">&lt;incomingServer&gt;</spanx> and <spanx style="verb">&lt;outgoingServer&gt;</spanx> are within element
<spanx style="verb">&lt;emailProvider&gt;</spanx>, whereas <spanx style="verb">&lt;calendar&gt;</spanx>, <spanx style="verb">&lt;addressbook&gt;</spanx>, <spanx style="verb">&lt;fileShare&gt;</spanx>,
<spanx style="verb">&lt;chatServer&gt;</spanx> and <spanx style="verb">&lt;videoConference&gt;</spanx> are within the
root element <spanx style="verb">&lt;clientConfig&gt;</spanx>, i.e. one level higher.
Other than that, they work the same.</t>
  <t>In some protocols, the <spanx style="verb">&lt;incomingServer&gt;</spanx> server additionally provides
calendars, addressbooks, and other data. For such protocols, the same server
is not repeated in other specific server sections like <spanx style="verb">&lt;calendar&gt;</spanx>.
Calendar-only clients supporting such multi-purpose protocols <bcp14>MUST</bcp14> read the
<spanx style="verb">&lt;incomingServer&gt;</spanx> (nonewithstanding that it's within legacy element
<spanx style="verb">&lt;emailProvider&gt;</spanx>)
and test and use the parts of the protocol needed for their
functionality.</t>
</list></t>

<section anchor="multiple-server-sections"><name>Multiple server sections</name>

<t>Server sections of the same type (like <spanx style="verb">&lt;incomingServer&gt;</spanx> or <spanx style="verb">&lt;calendar&gt;</spanx>)
may appear multiple times in the same configuration file.
In this case, the one listed first is preferred by the configuration provider.
Unless the client has specific other requirements, it <bcp14>SHOULD</bcp14> pick the first
config.</t>

<t>The client may deviate from this recommendation, because</t>

<t><list style="symbols">
  <t>the client doesn't support a higher-priority protocol, e.g. a JMAP
configuraion is listed first and is the most preferred, but the
client does not support JMAP yet, or</t>
  <t>the client doesn't support a configuration setting, e.g. it
doesn't support STARTTLS, or the configuration specifies only an OAuth2
authentication and the client either doesn't implement OAuth2, or
there is a problem in the OAuth2 flow with this provider, or</t>
  <t>the client has a specific policy to prefer another configuration,
e.g. a STARTTLS configuration is listed before a direct TLS config, and
the client has a policy of preferring direct TLS, or likewise
the client prefers IMAP over POP3.</t>
</list></t>

<t>Server types, elements and protocols that the client does not support
<bcp14>MUST</bcp14> be ignored and the client <bcp14>MUST</bcp14> continue to parse the other
server sections, which may contain configs that the client
understands and supports. The client ignores the file only if there
is no supported and working configuration found.</t>

</section>
</section>
<section anchor="type"><name>type</name>

<t>The <spanx style="verb">type</spanx> attribute on the server section element specifies the
wire protocol that this server uses.</t>

<texttable>
      <ttcol align='left'>Element</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Base</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Specification</ttcol>
      <c>incomingServer</c>
      <c><spanx style="verb">jmap</spanx></c>
      <c>URL</c>
      <c>JMAP</c>
      <c><xref target="JMAP-Core"/>, <xref target="JMAP-Mail"/>, <xref target="JMAP-WebSocket"/>, <xref target="JMAP-Contacts"/> et al</c>
      <c>incomingServer</c>
      <c><spanx style="verb">imap</spanx></c>
      <c>TCP</c>
      <c>IMAP</c>
      <c><xref target="IMAP4rev2"/> or <xref target="IMAP4rev1"/>, et al</c>
      <c>incomingServer</c>
      <c><spanx style="verb">pop3</spanx></c>
      <c>TCP</c>
      <c>POP3</c>
      <c><xref target="POP3"/>, <xref target="POP3-SASL"/></c>
      <c>outgoingServer</c>
      <c><spanx style="verb">smtp</spanx></c>
      <c>TCP</c>
      <c>SMTP</c>
      <c><xref target="SMTP"/>, <xref target="EMail"/></c>
      <c>calendar</c>
      <c><spanx style="verb">caldav</spanx></c>
      <c>URL</c>
      <c>CalDAV</c>
      <c><xref target="CalDAV"/></c>
      <c>addressbook</c>
      <c><spanx style="verb">carddav</spanx></c>
      <c>URL</c>
      <c>CardDav</c>
      <c><xref target="CardDav"/></c>
      <c>fileShare</c>
      <c><spanx style="verb">webdav</spanx></c>
      <c>URL</c>
      <c>WebDAV</c>
      <c><xref target="WebDAV"/></c>
      <c>chatServer</c>
      <c><spanx style="verb">xmpp</spanx></c>
      <c>URL</c>
      <c>XMPP</c>
      <c><xref target="XMPP"/>, <xref target="XMPP-IM"/>, <xref target="XMPP-WebSocket"/></c>
      <c>chatServer</c>
      <c><spanx style="verb">xmpptcp</spanx></c>
      <c>TCP</c>
      <c>XMPP</c>
      <c><xref target="XMPP"/>, <xref target="XMPP-IM"/></c>
      <c>chatServer</c>
      <c><spanx style="verb">matrix</spanx></c>
      <c>URL</c>
      <c>Matrix</c>
      <c><xref target="Matrix"></xref></c>
      <c>setupServer</c>
      <c><spanx style="verb">managesieve</spanx></c>
      <c>TCP</c>
      <c>ManageSieve</c>
      <c><xref target="ManageSieve"/>, <xref target="Sieve"/></c>
      <c>incomingServer</c>
      <c><spanx style="verb">ews</spanx></c>
      <c>URL</c>
      <c>Exchange Web Services</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">activeSync</spanx></c>
      <c>URL</c>
      <c>ActiveSync</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">graph</spanx></c>
      <c>URL</c>
      <c>Microsoft Graph</c>
      <c>&#160;</c>
</texttable>

<t>Other protocol names can be added using an IANA registry. See the
corresponding section below.</t>

</section>
<section anchor="url-based-protocols"><name>URL-based protocols</name>

<figure><artwork><![CDATA[
<incomingServer type="jmap">
  <url>https://jmap.example.com/session</url>
  <authentication>basic</authentication>
  <username>%EMAILADDRESS%</username>
</incomingServer>
]]></artwork></figure>

<t>For server sections with protocols that are based on HTTPS or other
URLs, the following elements are supported:</t>

<section anchor="url"><name>url</name>

<t>Example: <spanx style="verb">&lt;url&gt;https://jmap.example.com/session&lt;/url&gt;</spanx></t>

<t>The content of the <spanx style="verb">&lt;url&gt;</spanx> element contains the <xref target="URL"/> where to contact the server.</t>

<t>The URL scheme will normally be HTTPS and the URL starts with <spanx style="verb">https://</spanx> (<xref section="4.2.2" sectionFormat="comma" target="HTTP"/>).
Some protocols may use other schemes, e.g. WebSockets <spanx style="verb">wss://</spanx> (<xref section="3" sectionFormat="comma" target="WebSocket"/>).</t>

</section>
<section anchor="authentication"><name>authentication</name>

<t>Example: <spanx style="verb">&lt;authentication system="http"&gt;basic&lt;/authentication&gt;</spanx> or
<spanx style="verb">&lt;authentication&gt;OAuth2&lt;/authentication&gt;</spanx></t>

<t>The content of the <spanx style="verb">&lt;authentication&gt;</spanx> element defines which HTTP
authentication method to use. The <spanx style="verb">system="http"</spanx> attribute
signals that the value refers to a <spanx style="verb">WWW-Authenticate</spanx> mechanism, but the
attribute is optional when a https: or wss: URL is used.</t>

<t><list style="symbols">
  <t><spanx style="verb">basic</spanx>: Authenticate to the HTTP server using
<spanx style="verb">WWW-Authenticate: Basic</spanx>. See <xref target="HTTP-Basic-Auth"/>.</t>
  <t><spanx style="verb">digest</spanx>: Authenticate to the HTTP server using
<spanx style="verb">WWW-Authenticate: Digest</spanx>. See <xref target="HTTP-Digest-Auth"/></t>
  <t><spanx style="verb">OAuth2</spanx>: Authenticate to the HTTP server using
<spanx style="verb">WWW-Authenticate: Bearer</spanx>. See <xref section="3" sectionFormat="comma" target="OAuth2"/>.
The provider <bcp14>MUST</bcp14> adhere to the requirements defined in <xref target="oauth2"/>
<em>OAuth2 requirements</em>.
Note: The XML element for OAuth2 is
<spanx style="verb">&lt;authentication&gt;OAuth2&lt;/authentication&gt;</spanx> without system attribute.
<spanx style="verb">&lt;authentication system="http"&gt;Bearer&lt;/authentication&gt;</spanx> is invalid.</t>
</list></t>

<t>The rules as specified in <xref target="auth-alternatives"/> <em>Multiple authentication alternatives</em> and
<xref target="auth-verification"/> <em>Authentication verification and fallback</em> apply here as well.</t>

</section>
<section anchor="username"><name>username</name>

<t><spanx style="verb">&lt;username&gt;%EMAILADDRESS%&lt;/username&gt;</spanx> or <spanx style="verb">&lt;username&gt;fred&lt;/username&gt;</spanx></t>

<t>The username to use for the authentication method.</t>

<t>Placeholders <bcp14>MUST</bcp14> be replaced before using the actual value. See <xref target="placeholders"/> <em>Placeholders</em>.</t>

</section>
</section>
<section anchor="tcp-based-protocols"><name>TCP-based protocols</name>

<t>For server sections with protocols that are based on TCP,
the following elements are supported:</t>

<figure><artwork><![CDATA[
<incomingServer type="imap">
  <hostname>imap.example.com</hostname>
  <port>993</port>
  <socketType>SSL</socketType>
  <authentication>password-cleartext</authentication>
  <username>%EMAILADDRESS%</username>
</incomingServer>
]]></artwork></figure>

<section anchor="hostname"><name>hostname</name>

<t><spanx style="verb">&lt;hostname&gt;imap.example.com&lt;/hostname&gt;</spanx></t>

<t>The content of the <spanx style="verb">&lt;hostname&gt;</spanx> element contains the fully qualified hostname
of the server.</t>

</section>
<section anchor="port"><name>port</name>

<t><spanx style="verb">&lt;port&gt;993&lt;/port&gt;</spanx></t>

<t>The content of the <spanx style="verb">&lt;port&gt;</spanx> element is an integer and contains the TCP port
number at the hostname. The port is typically specific to the combination of
the wire protocol and socketType.</t>

</section>
<section anchor="sockettype"><name>socketType</name>

<t><spanx style="verb">&lt;socketType&gt;SSL&lt;/socketType&gt;</spanx></t>

<t>The content of the <spanx style="verb">&lt;socketType&gt;</spanx> element specifies whether to use direct TLS,
STARTTLS, or none of these.</t>

<t><list style="symbols">
  <t><spanx style="verb">SSL</spanx>: Directly contact the TCP port using TLS. TLS version 1.2
<xref target="TLSv1.2"/>
or higher <bcp14>SHOULD</bcp14> be used. Higher versions may be required based on security
situation, server support, and client policy decisions.</t>
  <t><spanx style="verb">STARTTLS</spanx>: Contact the TCP port first using an unencrypted plain socket,
then upgrade to TLS using the protocol-specific STARTTLS specification
<xref target="STARTTLS"/>. With this configuration,
STARTTLS <bcp14>MUST</bcp14> be used and TLS <bcp14>MUST</bcp14> be used after the STARTTLS upgrade. If
the upgrade to TLS fails for whatever reason, the client <bcp14>MUST</bcp14>
disconnect and <bcp14>MUST NOT</bcp14> try to authenticate. This prevents downgrade attacks
that could otherwise steal passwords, user data, and impersonate users.</t>
  <t><spanx style="verb">plain</spanx>: Unencrypted connection, with neither TLS nor STARTTLS. May be
needed for local servers. Deprecated.</t>
</list></t>

<section anchor="tls-validation"><name>TLS validation</name>

<t>In all cases where TLS is used, either directly or using STARTTLS,
the client <bcp14>MUST</bcp14> validate the TLS certificate and ensure that the
certificate is valid for the hostname given in this config. If not,
or if the TLS certificate is otherwise invalid, the client <bcp14>MUST</bcp14>
either disconnect or <bcp14>MAY</bcp14> warn the user of the
dangers and ask for user confirmation. Such fallback with warning and
confirmation is allowed only at original configuration and <bcp14>MUST NOT</bcp14> be
allowed during normal everyday connection.</t>

<t>If the server had a valid TLS certificate during original configuration
and the TLS certificate is later invalid during normal connection, the
client <bcp14>MUST</bcp14> disconnect.</t>

<t>As an exception, if the problem is that the TLS certificate expired recently,
the client <bcp14>MAY</bcp14> choose to not consider that a failure during normal connection
and <bcp14>MAY</bcp14> use other recovery mechanisms.</t>

</section>
</section>
<section anchor="authentication-1"><name>authentication</name>

<t><spanx style="verb">&lt;authentication&gt;password-cleartext&lt;/authentication&gt;</spanx></t>

<t>The content of the <spanx style="verb">&lt;authentication&gt;</spanx> element defines which authentication
method to use. This can be either an authentication defined by the wire
protocol, or a SASL scheme, or a successor to SASL.</t>

<t><list style="symbols">
  <t><spanx style="verb">password-cleartext</spanx>: Send password in the clear.
Uses either the native authentication method defined by the wire protocol
(if that is based on plaintext passwords), or a SASL authentication scheme
like SASL <spanx style="verb">PLAIN</spanx> or SASL <spanx style="verb">LOGIN</spanx>, or a successor.</t>
  <t><spanx style="verb">password-encrypted</spanx>: An encrypted or hashed password mechanism.
Includes SASL <spanx style="verb">CRAM-MD5</spanx> <xref target="CRAM-MD5"/>,
<spanx style="verb">DIGEST-MD5</spanx> <xref target="DIGEST-MD5"/>,
<spanx style="verb">SCRAM-SHA-256-PLUS</spanx> <xref target="SCRAM"/>, and successors.
TLS by itself does not qualify as <spanx style="verb">password-encrypted</spanx>.</t>
  <t><spanx style="verb">NTLM</spanx>: Legacy Windows login mechanisms NTLM or NTLMv2.</t>
  <t><spanx style="verb">GSSAPI</spanx>: <xref target="Kerberos"/> or <xref target="GSSAPI"/>,
 a single-signon mechanism based on TCP.</t>
  <t><spanx style="verb">TLS-client-cert</spanx>: On the SSL/TLS layer, after server request, the client
sends a TLS client certificate for the user, possibly after letting the user
select confirm it. Uses SASL <spanx style="verb">EXTERNAL</spanx> scheme <xref target="SASL"/>, Appendix A.</t>
  <t><spanx style="verb">OAuth</spanx>: OAuth. SASL <spanx style="verb">OAUTHBEARER</spanx> <xref target="SASL-OAuth2"/> (current) or
<spanx style="verb">XOAUTH2</spanx> (deprecated) or successors.
The provider <bcp14>MUST</bcp14> adhere to the requirements defined in <xref target="oauth2"/> <em>OAuth2 requirements</em>.</t>
  <t><spanx style="verb">client-IP-address</spanx>: Server can be used without any explicit authentication,
and the client is admitted based on its IP address.
This may be the case for some SMTP servers on local networks.
Not supported on the Internet. Deprecated, because it breaks mobile devices.</t>
</list></t>

<section anchor="recommending-specific-sasl-schemes"><name>Recommending specific SASL schemes</name>

<t><spanx style="verb">&lt;authentication system="sasl"&gt;SCRAM-SHA-256-PLUS&lt;/authentication&gt;</spanx></t>

<t>A specific SASL scheme <xref target="SASL"/> <bcp14>MAY</bcp14> be specified using
the specific SASL authentication scheme name, e.g.
<spanx style="verb">SCRAM-SHA-256-PLUS</spanx> <xref target="SCRAM"/>. To signal that, the
<spanx style="verb">&lt;authentication&gt;</spanx> element <bcp14>SHOULD</bcp14> have the <spanx style="verb">system</spanx> attribute set
to value <spanx style="verb">sasl</spanx>, i.e. <spanx style="verb">&lt;authentication system="sasl"&gt;</spanx>.</t>

<t>In such a case, the server configuration section <bcp14>SHOULD</bcp14> also
specify a more generic authentication mechanism as a lower priority
alternative. That would make clients use the specific authentication
mechanism, if they support it, and other clients will use the more generic
authentication mechanism.</t>

</section>
<section anchor="auth-alternatives"><name>Multiple authentication alternatives</name>

<t>The <spanx style="verb">&lt;authentication&gt;</spanx> element may appear multiple times within a server
section. In this case, they are ordered from the most to the least preferred
method, based on the policy of the provider.</t>

<t>If a client does not support a
specific authentication scheme, or does not have the conditions to use it,
e.g. the client does not have a Client ID for this OAuth2 server, then the
client <bcp14>MUST</bcp14> skip this <spanx style="verb">&lt;authentication&gt;</spanx> element and use the next in the list
instead.</t>

<t>If none of the authentication methods are supported by the client,
the client <bcp14>MUST</bcp14> ignore that server section and use the remaining server
sections.</t>

</section>
<section anchor="auth-verification"><name>Authentication verification and fallback</name>

<t>The client <bcp14>SHOULD</bcp14> test the configuration during setup, with an actual
authentication attempt.</t>

<t>If the authentication fails, the client decides based on the
authentication error code how to proceed. For example, if the authentiocation
method itself failed, or the error code indicates a systemic failure,
the client <bcp14>SHOULD</bcp14> use a lower-priority authentication method from the
list.</t>

<t>If the authentication method is working, but the error code indicated
that the username or password was wrong, then the client <bcp14>MAY</bcp14> ask the
user to correct the password.</t>

<t>For that reason, the server <bcp14>SHOULD</bcp14> be specific in the error codes and
allow the client to distinguish between</t>

<t><list style="symbols">
  <t>an unsupported or non-working authentication method or other
systemic failures</t>
  <t>the client being rejected by the server</t>
  <t>the user being blocked from login</t>
  <t>the user authentication failing due to wrong password or username</t>
  <t>other reasons</t>
</list></t>

<t>If the server were to return the same error code for all these cases, the
client might tell the user that the password is wrong, and the user starts
attempting other passwords, potentially revealing passwords to other
higher-value assets, which is highly dangerous.</t>

<t>If the authentification succeeded, the client <bcp14>SHOULD</bcp14> take note of the
working configutation and use that for all subsequent connections,
until an explicit reconfiguration occurs. During normal everyday operation,
the client <bcp14>SHOULD NOT</bcp14> fallback nor attempt multiple different authentication
methods.</t>

</section>
</section>
<section anchor="username-1"><name>username</name>

<t><spanx style="verb">&lt;username&gt;%EMAILADDRESS%&lt;/username&gt;</spanx> or <spanx style="verb">&lt;username&gt;fred&lt;/username&gt;</spanx></t>

<t>The username to use for the authentication method.</t>

<t>Placeholders <bcp14>MUST</bcp14> be replaced before using the actual value. See next <xref target="placeholders"/> <em>Placeholders</em>.</t>

</section>
</section>
<section anchor="placeholders"><name>Placeholders</name>

<t>The <spanx style="verb">&lt;username&gt;</spanx> value may contain placeholders.</t>

<t>The following special substrings in the value <bcp14>MUST</bcp14> be
replaced by the client, before the value is actually used.</t>

<texttable>
      <ttcol align='left'>Placeholder</ttcol>
      <ttcol align='left'>Replace with</ttcol>
      <ttcol align='left'>Example</ttcol>
      <c><spanx style="verb">%EMAILADDRESS%</spanx></c>
      <c>E-Mail-Address of the user</c>
      <c><spanx style="verb">fred@example.com</spanx></c>
      <c><spanx style="verb">%EMAILLOCALPART%</spanx></c>
      <c>Part before <spanx style="verb">@</spanx> in the E-Mail-Address</c>
      <c><spanx style="verb">fred</spanx></c>
      <c><spanx style="verb">%EMAILDOMAIN%</spanx></c>
      <c>Part after <spanx style="verb">@</spanx> in the E-Mail-Address</c>
      <c><spanx style="verb">example.com</spanx></c>
</texttable>

<t>Some clients <bcp14>MAY</bcp14> also support the same placeholders for the fields
<spanx style="verb">&lt;hostname&gt;</spanx>, <spanx style="verb">&lt;url&gt;</spanx>, <spanx style="verb">&lt;authURL&gt;</spanx>, <spanx style="verb">&lt;tokenURL&gt;</spanx>, <spanx style="verb">&lt;issuer&gt;</spanx>,
<spanx style="verb">&lt;displayName&gt;</spanx> and <spanx style="verb">&lt;displayShortName&gt;</spanx>.</t>

</section>
<section anchor="xml-validation"><name>XML validation</name>

<t>The client <bcp14>SHOULD</bcp14> validate that the configuration file is valid XML, and if
the XML syntax is invalid, the client <bcp14>SHOULD</bcp14> ignore the entire file. In
contrast, if there are merely unknown elements or
attributes, the client <bcp14>MUST NOT</bcp14> ignore the file.</t>

<t>The client <bcp14>MUST</bcp14> disregard those elements and attributes that it does not
support. The presence of unknown attributes or elements <bcp14>MUST NOT</bcp14> result in an
error. Instead, they are simply ignored. This allows future extensions of the
format without breaking existing clients.</t>

</section>
</section>
<section anchor="retrieval"><name>Configuration retrieval by mail clients</name>

<t>The mail client application, when it needs the configuration for a given email
address, will perform several steps to retrieve the configuration from various
sources.</t>

<t>The steps are ordered by priority. They may all be requested at the same time,
but a higher priorty result that is available <bcp14>SHOULD</bcp14> be preferred over a lower
priority one, even if the lower priority one is available earlier. Exceptions
apply when a higher priority result is either invalid or outdated, or the
fetch method is less secure. Lower priority requests <bcp14>MAY</bcp14> be cancelled, if a
valid higher priority result has been successfully received. The priority is
expressed below with the number before the URL or location, with lower numbers
meaning higher priority, e.g. 1.2 has higher priority than 4.1.</t>

<t>In the URLs below, <spanx style="verb">%EMAILADDRESS%</spanx> <bcp14>SHALL</bcp14> be replaced with the email address
that the user entered and wishes to use, and <spanx style="verb">%EMAILDOMAIN%</spanx> <bcp14>SHALL</bcp14> be replaced
with the email domain extracted from the email address. For example, for
<spanx style="verb">fred@example.com</spanx>, the email domain is <spanx style="verb">example.com</spanx>, and for
<spanx style="verb">fred@test.cs.example.net</spanx>, the email domain is <spanx style="verb">test.cs.example.net</spanx>.</t>

<t>For full support of this specification, all "Required" and "Recommended"
mechanisms <bcp14>MUST</bcp14> be implemented and working. For partial support of this
specification, all "Required" mechanisms <bcp14>MUST</bcp14> be implemented and working, and
in this case, the implementor <bcp14>SHALL</bcp14> make explicit when advertizing or referring
to Autoconfig that there is only partial support of this specification.</t>

<section anchor="mail-provider"><name>Mail provider</name>

<t>The first step is to directly ask the mail provider and allow it to return the
configuration. This step ensures that the protocol is decentralized and the
mail provider is in control of the configuration issued to mail clients.</t>

<t><list style="symbols">
  <t>1.1. <spanx style="verb">https://autoconfig.%EMAILDOMAIN%/mail/config-v1.1.xml?emailaddress=%EMAILADDRESS%</spanx> (Required. <spanx style="verb">emailaddress</spanx> is Optional)</t>
  <t>1.2. <spanx style="verb">https://%EMAILDOMAIN%/.well-known/autoconfig/mail/config-v1.1.xml</spanx> (Optional)</t>
  <t>1.3. <spanx style="verb">http://autoconfig.%EMAILDOMAIN%/mail/config-v1.1.xml</spanx> (Optional)</t>
</list></t>

<t>For example:</t>

<t><list style="symbols">
  <t>1.1. <spanx style="verb">https://autoconfig.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com</spanx></t>
  <t>1.2. <spanx style="verb">https://example.com/.well-known/autoconfig/mail/config-v1.1.xml</spanx></t>
  <t>1.3. <spanx style="verb">http://autoconfig.example.com/mail/config-v1.1.xml</spanx></t>
</list></t>

<t>Step 1.3. is mainly for legacy servers. Many current deployments
use this HTTP URL.</t>

<section anchor="customzing-the-configuration-for-a-specific-user"><name>Customzing the configuration for a specific user</name>

<t>To allow the mail provider to return a configuration adjusted for that mailbox,
the client sends the email address as query parameter in URL 1.1.</t>

<t>For example, a global company might want to locate the mailbox geographically
close to the user, in the same country or even in the same office building.</t>

<t>However, while the protocol allows for such heterogenous configurations, mail
providers are discouraged from doing so, and are instead encouraged to provide
one single configuration for all their users. For example, DNS resolution
based on location, mail proxy servers, or other techniques as necessary, can
be used to route the traffic and host the mail efficiently.</t>

<t>This mechanism also allows the Autoconfig server to map the email address to
a username that cannot be expressed using the Placeholders (see <xref target="placeholders"/>).
However, this method is discouraged. Instead, the email server login should
accept email addresses as username, and doing the mapping to internal
usernames at login time, which avoids the need for the client to know a
different username.</t>

<t>Autoconfig servers that customize the returned configuration file to the
email address should avoid that email addresses can be tested for validity
by hostile parties like spammers or attackers.
For that reason, Autoconfig servers <bcp14>SHOULD</bcp14> return a real configuration,
even if the email address sent as URL parameter does not exist.
If the query contains a non-existing email address,
the server should not return an error nor a fake configuration, but rather
a random real configuation, e.g. a random host out of the pool of real hosts.
Supporting mail clients should test the login before completing setup,
so spelling mistakes in the email address will be signaled to the user
as login error in later stages of the setup process.</t>

</section>
</section>
<section anchor="ispdb"><name>Central database</name>

<t>The ISPDB is a central database that contains the configurations for most
mail providers with a market share larger than 0.1%, and contains configurations
for half of the email accounts in the world.</t>

<t>This is a useful fallback that allows mail clients to support mail providers
which do not host a configuration server described in the previous step.
In practice, this step is required to find a working configuration for most
email accounts, and increases the success rate by an order of magnitude.</t>

<t>The mail client application may choose the mail configuration database provider. A
public mail configuration database is available at base URL <spanx style="verb">https://v1.ispdb.net/</spanx>.</t>

<t><spanx style="verb">%ISPDB%</spanx> below is the base URL of that database.</t>

<t><list style="symbols">
  <t>2.1. <spanx style="verb">%ISPDB%%EMAILDOMAIN%</spanx> (Recommended)</t>
</list></t>

<t>For example:</t>

<t><list style="symbols">
  <t>2.1. <eref target="https://v1.ispdb.net/geologist.com">https://v1.ispdb.net/geologist.com</eref></t>
</list></t>

</section>
<section anchor="mx"><name>MX</name>

<t>Many companies do not maintain their own mail server, but let their email be
hosted by a hosting company, which is then responsible for the email of dozens
or thousands of domains. For these hosters, it may be difficult to set up the
configuration server (step 1.1.) with valid TLS certificate for each of their
customers, and to convince their customers to modify their root DNS
specifically for Autoconfig. On the other side, the ISPDB can only contain the
hosting company and cannot know all their customers. To handle such domains,
the protocol first needs to find the server hosting the email.</t>

<t>If the previous mechanisms yield no result, the client <bcp14>SHOULD</bcp14> perform a DNS MX
lookup on the email domain, and retrieve the MX server (incoming SMTP server)
for that domain. Only the highest priority MX hostname is considered. From
that MX hostname, 2 values are extracted:</t>

<t><list style="symbols">
  <t>Extract only the second-level domain from the MX hostname, and use that as
value for <spanx style="verb">%MXBASEDOMAIN%</spanx>. To determine the second-level domain, use the
<eref target="https://publicsuffix.org">Public Suffic List</eref> or a similarly suited method,
to correctly handle domains like <spanx style="verb">.co.uk</spanx> and <spanx style="verb">.com.au</spanx>.</t>
  <t>Remove the first component from the MX hostname, i.e. everything up to and
including the first <spanx style="verb">.</spanx>, and use that as value for <spanx style="verb">%MXFULLDOMAIN%</spanx>. Use it
only if it is longer than <spanx style="verb">%MXBASEDOMAIN%</spanx>.</t>
</list></t>

<t>For example:</t>

<t><list style="symbols">
  <t>For <spanx style="verb">mx.example.com</spanx>, the MXFULLDOMAIN and MXBASEDOMAIN are both
<spanx style="verb">example.com</spanx>.</t>
  <t>For <spanx style="verb">mx.example.co.uk</spanx>, the MXFULLDOMAIN and MXBASEDOMAIN are both
<spanx style="verb">example.co.uk</spanx>.</t>
  <t>For <spanx style="verb">mx.premium.europe.example.com</spanx>, the MXFULLDOMAIN is
<spanx style="verb">premium.europe.example.com</spanx> and the MXBASEDOMAIN is <spanx style="verb">example.com</spanx>.</t>
</list></t>

<t>Then, attempt to retrieve the configuration for these MX domains, using the previous
methods:</t>

<t><list style="symbols">
  <t>3.1. <spanx style="verb">https://autoconfig.%MXFULLDOMAIN%/mail/config-v1.1.xml?emailaddress=%EMAILADDRESS%</spanx> (Required. <spanx style="verb">emailaddress</spanx> is Optional)</t>
  <t>3.2. <spanx style="verb">https://autoconfig.%MXBASEDOMAIN%/mail/config-v1.1.xml?emailaddress=%EMAILADDRESS%</spanx> (Recommended. <spanx style="verb">emailaddress</spanx> is Optional)</t>
  <t>3.3. <spanx style="verb">%ISPDB%%MXFULLDOMAIN%</spanx> (Recommended)</t>
  <t>3.4. <spanx style="verb">%ISPDB%%MXBASEDOMAIN%</spanx> (Recommended)</t>
</list></t>

<t>For example:</t>

<t><list style="symbols">
  <t>3.1. <spanx style="verb">https://autoconfig.premium.europe.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com</spanx></t>
  <t>3.2. <spanx style="verb">https://autoconfig.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com</spanx></t>
  <t>3.3. <spanx style="verb">https://v1.ispdb.net/premium.europe.example.com</spanx></t>
  <t>3.4. <spanx style="verb">https://v1.ispdb.net/example.com</spanx></t>
</list></t>

</section>
<section anchor="disk"><name>Local disk</name>

<t>For testing purposes, a mail client may want to define a location on the disk, relative
to the application installation directory, or relative to the user
configuration directory, which may contain a configuration file for a specific
domain, and which the mail client will use, if the above methods fail.</t>

<t><list style="symbols">
  <t>4.1. <spanx style="verb">%USER_CONFIGURATION_DIR%/isp/%EMAILDOMAIN%.xml</spanx> (Optional)</t>
  <t>4.2. <spanx style="verb">%APP_INSTALL_DIR%/isp/%EMAILDOMAIN%.xml</spanx> (Optional)</t>
</list></t>

<t>For example:</t>

<t><list style="symbols">
  <t>4.1. <spanx style="verb">/home/fred/.config/acmemailapp/isp/example.com.xml</spanx></t>
  <t>4.2. <spanx style="verb">/opt/acmemailapp/isp/example.com.xml</spanx></t>
</list></t>

</section>
<section anchor="other-mechanisms"><name>Other mechanisms</name>

<t>A mail client may want to implement other mechanisms to find a configuration, for
example Exchange AutoDiscover, DNS-SRV <xref target="RFC6186"/>,
or heuristic guessing. If the mail client
implements such alternative methods, and if they are less secure than some of
the mechanisms provided here, the alternative methods <bcp14>SHOULD</bcp14> be considered
only with lower priority (as defined above) than the more secure mechanisms
defined here. For evaluating other mechanisms, use similar criteria as
outlined in <xref target="security"/> <em>Security considerations</em>.</t>

</section>
<section anchor="manual"><name>Manual configuration</name>

<t>If the above mechanisms fail to provide a working configuration, or if the
user explicitly chooses so, the mail client <bcp14>SHOULD</bcp14> give the end user the ability to
manually enter a configuration, and use that configuration to configure the
account.</t>

</section>
</section>
<section anchor="configuration-validation"><name>Configuration validation</name>

<section anchor="user-approval"><name>User approval</name>

<t>Independent of the mechanisms used to find the configuration, before using
that configuration, the mail client <bcp14>SHOULD</bcp14> display that configuration to the end user and
let him confirm it. While doing so:</t>

<t><list style="symbols">
  <t>At least the second-level domain name(s) of the hostnames involved <bcp14>MUST</bcp14> be
shown clearly and with high prominence.</t>
  <t>To avoid spoofing, the client <bcp14>MUST NOT</bcp14> cut off parts of long
second-level domains. At least 63 characters <bcp14>MUST</bcp14> be displayed.</t>
  <t>Care <bcp14>SHOULD</bcp14> be taken with international characters that look like ASCII
characters, but have a different code.</t>
</list></t>

</section>
<section anchor="login-test"><name>Login test</name>

<t>After the user confirmed the configuration, the mail client <bcp14>SHOULD</bcp14> test the configuration,
by attempting a login to each server configured. Only if the login succeeded,
and the server is working, should the configuration be saved and retrieving
and sending mail be started.</t>

</section>
<section anchor="auth-windows"><name>OAuth2 windows</name>

<t>If the configuration contains OAuth2 authentication, or any other kind of
authentication that uses a web browser with URL redirects,
the mail client <bcp14>MUST</bcp14> show the full URL or the second-level domain of the current page
to the end user, at all times, including after page changes, URL changes,
or redirects. The authentication start URL may be the email hoster, but
it redirects to a corporate server for login, and then back to the hoster.
This allows for setups where the hoster is not allowed to see the
plaintext passwords.</t>

<t>Showing the URL or hostname allows the end user to verify that he is
logging in at the expected page, e.g. the login server of their company,
instead of the email hoster's page. It is important that the user verifies
that he enters the passwords on the right domain.</t>

</section>
</section>
<section anchor="mail-provider-publish"><name>Configuration publishing by mail providers</name>

<t>Mail service providers who want to support this specification
and publish the mail configuration for their own mail service,
so that mail client apps can be automatically configured,
<bcp14>MUST</bcp14> follow this section as guideline and <bcp14>MUST</bcp14> respect the
definitions in this specification.</t>

<t><list style="symbols">
  <t>Configuration fields <bcp14>MUST NOT</bcp14> contain invalid or non-working
configuration data.</t>
  <t>The provided configuration <bcp14>MUST</bcp14> be working,
and <bcp14>SHOULD</bcp14> use state-of-the-art security.</t>
  <t>Configurations <bcp14>MUST</bcp14> be public and <bcp14>MUST NOT</bcp14> require
authentication (see below).</t>
</list></t>

<section anchor="single-domain"><name>Configuration location for single domain</name>

<t>The configuration file <bcp14>SHOULD</bcp14> be published at the URL for
step 1.1., i.e.</t>

<t><list style="symbols">
  <t><spanx style="verb">https://autoconfig.%EMAILDOMAIN%/mail/config-v1.1.xml</spanx></t>
</list></t>

<t>e.g. for <spanx style="verb">fred@example.com</spanx></t>

<t><list style="symbols">
  <t><spanx style="verb">https://autoconfig.example.com/mail/config-v1.1.xml</spanx></t>
</list></t>

</section>
<section anchor="hoster"><name>Configuration location for domain hosters</name>

<t>For mail providers which host entire domains for their business
customers, the same URL as listed in the previous section is
preferred.</t>

<t>Alternatively, the configuration file <bcp14>SHOULD</bcp14> be published at
the locations for step 3.1. and 3.2., i.e.</t>

<t><list style="symbols">
  <t><spanx style="verb">https://autoconfig.%MXFULLDOMAIN%/mail/config-v1.1.xml</spanx></t>
  <t><spanx style="verb">https://autoconfig.%MXBASEDOMAIN%/mail/config-v1.1.xml</spanx></t>
</list></t>

<t>For example, if the MX server for customer domain example.net is
<spanx style="verb">mx.premium.europe.example.com</spanx>, then the configuration file should be at both</t>

<t><list style="symbols">
  <t><spanx style="verb">https://autoconfig.premium.europe.example.com/mail/config-v1.1.xml</spanx></t>
  <t><spanx style="verb">https://autoconfig.example.com/mail/config-v1.1.xml</spanx></t>
</list></t>

</section>
<section anchor="no-authentication-for-config"><name>No authentication for config</name>

<t>Any of the above URLs for retrieving the configuration file <bcp14>MUST NOT</bcp14>
require authentication, but <bcp14>MUST</bcp14> be public.</t>

<t>This is because the configuration information in the Autoconfig file
includes the authentication method. Without the Autoconfig file,
the client does not know which authentication method is required and
which username form to use
(e.g. username <spanx style="verb">fred</spanx> or <spanx style="verb">fred@example.com</spanx> or <spanx style="verb">fred\EXAMPLE</spanx>).
Given that this information is required for authentication,
the Autoconfig file itself cannot require authentication.</t>

</section>
<section anchor="oauth2"><name>OAuth2 requirements</name>

<t>If OAuth2 is used, the OAuth2 server <bcp14>MUST</bcp14> adhere to the <xref target="OAuth2Client"></xref> specification,
including all <bcp14>SHOULD</bcp14> requirements. Given that
* authURL
* tokenURL
* client ID
* scope
are provided in the AutoConfig response, steps "Fetching the Authorization Server Metadata"
and "Dynamic Client Registration" as well as scope names <bcp14>MAY</bcp14> be skipped in favor of
the values in the Autoconfig response. The remaining guarantees in the
<xref target="OAuth2Client"></xref> specification that the OAuth2 server gives to the mail client stay in force,
including refresh token validity times.</t>

<t>The provider <bcp14>MUST</bcp14> allow any client application that acts on behalf of the end
user who the mailbox is for.
Failure to do so implies a cartell or monopolistic behavior to lock out
competing email applications from fulfilling their purpose on behalf of
end users, which may be contrary to laws in multiple countries.</t>

<t>The OAuth2 server <bcp14>MUST</bcp14></t>

<t><list style="symbols">
  <t>accept the client ID that is given in the configuration file, or if that is not given,</t>
  <t>implement Dynamic Client Registration <xref target="RFC7591"/> in the way
as defined by <xref target="OAuth2Client"></xref> and accept the resulting Client ID,</t>
</list></t>

<t>without client secret. It <bcp14>MAY</bcp14> support multiple of those methods.</t>

<t>The server <bcp14>MUST NOT</bcp14> employ any methods at any point to block or hinder
clients applications that are acting on behalf of end users.</t>

<t>The specifications above contain requirements for expiry times and
the login page, which are needed for mail client applications to work,
and <bcp14>MUST</bcp14> be followed.</t>

<t>The OAuth2 scope <bcp14>MUST</bcp14> include all services defined in this configuration file,
so that a single user login is sufficient for all services.
The resulting refresh and access tokens <bcp14>MUST</bcp14> be valid for all services defined
in the configuration file, including for all URL-based protocols like CalDAV
and all TCP-based protocols like IMAP.</t>

</section>
</section>
<section anchor="security"><name>Security Considerations</name>

<section anchor="risk"><name>Risk</name>

<t>If an attacker can provide a forged configuration, the provided mail hostname
and authentication server can be controlled by the attacker, and the attacker
can get access to the plain text password of the user. The attack can be
implemented as man-in-the-middle, so the end user might receive mail as
expected and never notice the attack.</t>

<t>An attacker gaining the plain text password of a real user is a very
significant threat for the organization, not only because mail itself can
contain sensitive information and can be used to issue orders within the
organization that have wide-ranging impact, but given single-sign-on
solutions, the same username and password may give access to other resources
at the organization, including other computers or, in the case of admin users,
even adminstrative access to the core of the entire organization.</t>

<t>Multi-factor authentication might not defend against such attacks, because the
user may believe to be logging into his email and therefore comply with any
multi-factor authentication steps required.</t>

</section>
<section anchor="dns"><name>DNS</name>

<t>Any protocol that relies on DNS without further validation, e.g. http, should
be considered insecure.
This also applies to the DNS MX lookup and the https calls that base on its
results, as described in <xref target="mx"/> <em>MX</em>.</t>

<t>One possible mitigation is to use multiple different DNS servers and verify
that the results match, e.g. to use the native DNS resolver of the operating
system, and additionally also query a hardcoded DoH (DNS over HTTPS) server.</t>

<t>Nonetheless, the result should be used with care. If such configs are used,
the end user <bcp14>MUST</bcp14> explicitly confirm the config, particularly the resulting
second-level domains. See <xref target="user-approval"/> <em>User approval</em>.</t>

</section>
<section anchor="http"><name>HTTP</name>

<t>HTTP requests may be intercepted, redirected, or altered at the network level.
See <xref target="risk"/> <em>Risk</em> above.</t>

<t>Even if an http URL redirects to a https URL, and the domain of the https URL
cannot be validated against the email domain, that is still insecure.</t>

<t>For that reason, clients <bcp14>MUST</bcp14> prefer HTTPS over HTTP during configuration retrieval,
within the same retrieval method.</t>

<t>If such configs from HTTP are used, the end user <bcp14>MUST</bcp14> explicitly confirm the
config, particularly the resulting second-level domains. See <xref target="user-approval"/> <em>User approval</em>.</t>

</section>
<section anchor="configuration-updates"><name>Configuration updates</name>

<t>Part of the security properties of this protocol assume that the timeframe of
possible attack is limited to the moment when the user manually sets up a new
mail client. This moment is triggered by the end user, and a rare action -
e.g. maybe once per year or even less, for typical setups -, so an attacker
has limited chances to run an attack. While not a complete protection on its
own, this reduces the risk significantly.</t>

<t>However, if the mail client does regular configuration updates using this
protocol, this security property is no longer given. For regular configuration
updates, the mail client <bcp14>MUST</bcp14> use only mechanisms that are secure and cannot
be tampered with by an active attacker. Furthermore, the user <bcp14>SHOULD</bcp14> still
approve configuration changes.</t>

<t>But even with all these protections implemented, the mail client vendor should
make a security assessment for the risks of making such regular updates. The
mail client vendor should consider that servers can be hacked, and most users
simply approve changes proposed by the app, so these give only a limited
protection.</t>

</section>
<section anchor="server-security"><name>Server security</name>

<t>Given that mail clients will trust the configuration, the server delivering
the configuration file needs to be secure. A static web server offers better
security. The server software <bcp14>SHOULD</bcp14> be updated regularly and hosted on a
dedicated secure server with all unnecessary services and server features
turned off.</t>

<t>For the ISPDB, additions and modifications to the configurations are
applicable to all respective users and must be made with care. The
authenticity of the configuration <bcp14>MUST</bcp14> be verified from authorative sources.
Server hostnames <bcp14>MUST</bcp14> be compared with the email domain names they are
serving, and if they differ, the ownership of the server hostnames <bcp14>MUST</bcp14> be
validated.</t>

<t>The risk is mitigated to some degree by <xref target="user-approval"/> <em>User approval</em>.</t>

</section>
</section>
<section anchor="alternatives-considered"><name>Alternatives considered</name>

<section anchor="dnssec"><name>DNSSEC</name>

<t>Due to their top-level domain, some domains do not have <xref target="DNSSEC"/>
available to them, even if they would like to deploy it.</t>

<t>Even where the top-level domain supports it, DNSSEC is currently deployed in
only 1% of domains, with adoption rates falling instead of rising, due to the
difficulties of administrating it correctly.</t>

<t>Therefore, DNSSEC cannot be relied on in this specification, and DNS must be
considered insecure for the purposes of this specification.</t>

</section>
<section anchor="dnssrv"><name>DNS SRV</name>

<t>DNS SRV protocols <xref target="DNS-SRV"/> <xref target="RFC6186"/> are not used here, for 2 reasons:</t>

<t><list style="numbers" type="1">
  <t>DNS SRV relies on insecure DNS and the configuration can therefore be trivially
spoofed by an attacker. See also DNSSEC above.</t>
  <t>DNS SRV does not provide all the necessary configuration parameters. For
example, we need all of:</t>
</list></t>

<t><list style="symbols">
  <t>the username form (<spanx style="verb">fred@example.com</spanx>, or <spanx style="verb">fred</spanx>, or <spanx style="verb">fred\EXAMPLE</spanx>, or even
a username with no relation to the email address)</t>
  <t>authentication method (password, CRAM-MD5, OAuth2, SSL client certificate)</t>
  <t>authentication method parameters (e.g. OAuth parameters)</t>
</list></t>

<t>and other parameters. If any of these parameters are not configured right, the
configuration won't work. While these parameters could theoretically be added
to DNS SRV, that would mean a new specification and render the idea void that
this is a protocol that already exists, is standardized and deployed. It is
unlikely that all DNS SRV records would be updated with the new values.
Therefore, it does not solve the problem.</t>

<t>This specification was created as an answer to these deficiencies and provides
an alternative to DNS SRV.</t>

</section>
<section anchor="inline-protocol"><name>CAPABILITIES</name>

<t>Deployments in the wild from actual ISPs show that protocol-specific commands
to find available authentication methods, e.g. IMAP <spanx style="verb">CAPABILITIES</spanx> or POP3
<spanx style="verb">CAPA</spanx>, are not reliable. Many email servers advertize authentication methods
that do not work.</t>

<t>Some IMAP servers are default configured to list all SASL authentication
methods that have corresponding libraries installed on the system, independent
on whether they are actually configured to work. The client receives a long
list of authentication methods, and many of them do not work. Additionally,
the server response may be only "authentication failed" and may not indicate
whether the method failed due to lack of configuration, or because the
password was wrong. Because some authentication servers lock the account after
3 failed login attempts, and it may also fail due to unrelated reasons (e.g.
username form, wrong password, etc.), the client cannot blindly issue
countless login attempts. Locking the account must be avoided. So, simply
attempting all methods and seeing which one works is not an option for the
email client.</t>

<t>Additionally, some email servers advertize <xref target="Kerberos"/> /
<xref target="GSSAPI"/>, but when trying
to use it, the method fails, and also runs into a long 2 minute timeout in
some cases. End users consider that to be a broken app.</t>

<t>Additionally, such commands are protocol specific and have to be implemented
in multiple different ways.</t>

<t>Finally, some non-mail protocols may not support capabilties commands that
include authentication methods.</t>

</section>
</section>
<section anchor="implementations"><name>Implementations</name>

<t>Currently, this protocol or parts of it has been implemented by:</t>

<t><list style="symbols">
  <t><eref target="https://thunderbird.net">Thunderbird</eref></t>
  <t><eref target="https://parula.beonex.com">Parula</eref></t>
  <t><eref target="https://projects.gnome.org/evolution/">Evolution</eref></t>
  <t><eref target="https://userbase.kde.org/KMail">KMail</eref></t>
  <t><eref target="https://www.kontact.org">Kontact</eref></t>
  <t><eref target="https://k9mail.app">K9 Mail</eref> and
<eref target="https://www.thunderbird.net/mobile/">Thunderbird Mobile</eref></t>
  <t><eref target="https://email.faircode.eu">FairEmail</eref></t>
  <t><eref target="https://apps.nextcloud.com/apps/mail">NextCloud email</eref></t>
  <t><eref target="https://delta.chat/">Delta Chat</eref></t>
</list></t>

<t>and likely other mail clients.</t>

<t>A large number of email domains already use AutoConfig to provide
the configuration to mail clients and allow an automatic setup.</t>

<t>Some mail servers automatically provide AutoConfig files that follow
this specification, including <eref target="https://stalw.art/">Stalwart</eref>,
<eref target="https://mailcow.email/">Mailcow</eref> and many others.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="registration"><name>Registration</name>

<t>IANA will create the following registry in a new registry group called
"Mail Autoconfig":</t>

<t>Registry Name: "Autoconfig Protocol Type Names"</t>

<t>Registration Procedure: Specification Required, per <xref section="4" sectionFormat="comma" target="RFC8126"/></t>

<t>Designated Expert: The author of this document.</t>

</section>
<section anchor="contents"><name>Contents</name>

<t>Table, with fields Element (alphanumeric), Type (alphanumeric), Base (URL or TCP or URL/TCP), Name, Specification, and Additional Elements</t>

<t>The registrations need to define:</t>

<t><list style="symbols">
  <t>Element: The XML element wrapping the server section.</t>
  <t>Type: The <spanx style="verb">type</spanx> attribute value of the server section.</t>
  <t>Base: Whether the protocol is URL-based or TCP-based,</t>
  <t>Name: The commonly used name of the protocol</t>
  <t>Specification: Which RFCs or document specifies the protocol, and</t>
  <t>Additional Elements: (Optional) Protocol-specific XML elements and
their meaning.</t>
</list></t>

</section>
<section anchor="initial-registration"><name>Initial registration</name>

<texttable>
      <ttcol align='left'>Element</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Base</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Specification</ttcol>
      <ttcol align='left'>Additional Elements</ttcol>
      <c>incomingServer</c>
      <c><spanx style="verb">jmap</spanx></c>
      <c>URL</c>
      <c>JMAP</c>
      <c>RFC 8620, RFC 8621, RFC 8887, RFC 9610 et al</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">imap</spanx></c>
      <c>TCP</c>
      <c>IMAP</c>
      <c>RFC 9051 or RFC 3501, et al</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">pop3</spanx></c>
      <c>TCP</c>
      <c>POP3</c>
      <c>RFC 1939, RFC 5034</c>
      <c>&#160;</c>
      <c>outgoingServer</c>
      <c><spanx style="verb">smtp</spanx></c>
      <c>TCP</c>
      <c>SMTP</c>
      <c>RFC 5321, RFC 2822</c>
      <c>&#160;</c>
      <c>calendar</c>
      <c><spanx style="verb">caldav</spanx></c>
      <c>URL</c>
      <c>CalDAV</c>
      <c>RFC 4791</c>
      <c>&#160;</c>
      <c>addressbook</c>
      <c><spanx style="verb">carddav</spanx></c>
      <c>URL</c>
      <c>CardDav</c>
      <c>RFC 6352</c>
      <c>&#160;</c>
      <c>fileShare</c>
      <c><spanx style="verb">webdav</spanx></c>
      <c>URL</c>
      <c>WebDAV</c>
      <c>RFC 4918</c>
      <c>&#160;</c>
      <c>chatServer</c>
      <c><spanx style="verb">xmpp</spanx></c>
      <c>URL</c>
      <c>XMPP</c>
      <c>RFC 6120, RFC 6121, RFC 7395</c>
      <c>&#160;</c>
      <c>chatServer</c>
      <c><spanx style="verb">xmpptcp</spanx></c>
      <c>TCP</c>
      <c>XMPP</c>
      <c>RFC 6120, RFC 6121</c>
      <c>&#160;</c>
      <c>chatServer</c>
      <c><spanx style="verb">matrix</spanx></c>
      <c>URL</c>
      <c>Matrix</c>
      <c><eref target="https://spec.matrix.org">https://spec.matrix.org</eref></c>
      <c>&#160;</c>
      <c>setupServer</c>
      <c><spanx style="verb">managesieve</spanx></c>
      <c>TCP</c>
      <c>ManageSieve</c>
      <c>RFC 5804, RFC 5228</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">ews</spanx></c>
      <c>URL</c>
      <c>Exchange Web Services</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">activeSync</spanx></c>
      <c>URL</c>
      <c>ActiveSync</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>incomingServer</c>
      <c><spanx style="verb">graph</spanx></c>
      <c>URL</c>
      <c>Microsoft Graph</c>
      <c>&#160;</c>
      <c>&#160;</c>
</texttable>

<t>The Additional Elements field is empty in all of the initial values.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

<reference anchor="OAuth2Client" target="https://datatracker.ietf.org/doc/draft-ietf-mailmaint-oauth-public/">
  <front>
    <title>OAuth Profile for Open Public Clients</title>
    <author initials="N." surname="Jenkis" fullname="Neil Jenkins">
      <organization>Fastmail</organization>
    </author>
    <author initials="B." surname="Bucksch" fullname="Ben Bucksch">
      <organization>Beonex</organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="Matrix" target="https://spec.matrix.org">
  <front>
    <title>Matrix protocol specification</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</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>
<reference anchor="JMAP-Core">
  <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="JMAP-Mail">
  <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="JMAP-WebSocket">
  <front>
    <title>A JSON Meta Application Protocol (JMAP) Subprotocol for WebSocket</title>
    <author fullname="K. Murchison" initials="K." surname="Murchison"/>
    <date month="August" year="2020"/>
    <abstract>
      <t>This document defines a binding for the JSON Meta Application Protocol (JMAP) over a WebSocket transport layer. The WebSocket binding for JMAP provides higher performance than the current HTTP binding for JMAP.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8887"/>
  <seriesInfo name="DOI" value="10.17487/RFC8887"/>
</reference>
<reference anchor="JMAP-Contacts">
  <front>
    <title>JSON Meta Application Protocol (JMAP) for Contacts</title>
    <author fullname="N. Jenkins" initials="N." role="editor" surname="Jenkins"/>
    <date month="December" year="2024"/>
    <abstract>
      <t>This document specifies a data model for synchronising contact data with a server using the JSON Meta Application Protocol (JMAP).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9610"/>
  <seriesInfo name="DOI" value="10.17487/RFC9610"/>
</reference>
<reference anchor="IMAP4rev2">
  <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="IMAP4rev1">
  <front>
    <title>INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <date month="March" year="2003"/>
    <abstract>
      <t>The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev1 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev1 also provides the capability for an offline client to resynchronize with the server. IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes, checking for new messages, permanently removing messages, setting and clearing flags, RFC 2822 and RFC 2045 parsing, searching, and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev1 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers. IMAP4rev1 supports a single server. A mechanism for accessing configuration information to support multiple IMAP4rev1 servers is discussed in RFC 2244. IMAP4rev1 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as RFC 2821. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3501"/>
  <seriesInfo name="DOI" value="10.17487/RFC3501"/>
</reference>
<reference anchor="POP3">
  <front>
    <title>Post Office Protocol - Version 3</title>
    <author fullname="J. Myers" initials="J." surname="Myers"/>
    <author fullname="M. Rose" initials="M." surname="Rose"/>
    <date month="May" year="1996"/>
    <abstract>
      <t>The Post Office Protocol - Version 3 (POP3) is intended to permit a workstation to dynamically access a maildrop on a server host in a useful fashion. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="53"/>
  <seriesInfo name="RFC" value="1939"/>
  <seriesInfo name="DOI" value="10.17487/RFC1939"/>
</reference>
<reference anchor="POP3-SASL">
  <front>
    <title>The Post Office Protocol (POP3) Simple Authentication and Security Layer (SASL) Authentication Mechanism</title>
    <author fullname="R. Siemborski" initials="R." surname="Siemborski"/>
    <author fullname="A. Menon-Sen" initials="A." surname="Menon-Sen"/>
    <date month="July" year="2007"/>
    <abstract>
      <t>This document defines a profile of the Simple Authentication and Security Layer (SASL) for the Post Office Protocol (POP3). This extension allows a POP3 client to 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.</t>
      <t>This document seeks to consolidate the information related to POP3 AUTH into a single document. To this end, this document obsoletes and replaces RFC 1734, and updates the information contained in Section 6.3 of RFC 2449. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5034"/>
  <seriesInfo name="DOI" value="10.17487/RFC5034"/>
</reference>
<reference anchor="SMTP">
  <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="EMail">
  <front>
    <title>Internet Message Format</title>
    <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
    <date month="April" year="2001"/>
    <abstract>
      <t>This document specifies a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2822"/>
  <seriesInfo name="DOI" value="10.17487/RFC2822"/>
</reference>
<reference anchor="CalDAV">
  <front>
    <title>Calendaring Extensions to WebDAV (CalDAV)</title>
    <author fullname="C. Daboo" initials="C." surname="Daboo"/>
    <author fullname="B. Desruisseaux" initials="B." surname="Desruisseaux"/>
    <author fullname="L. Dusseault" initials="L." surname="Dusseault"/>
    <date month="March" year="2007"/>
    <abstract>
      <t>This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing calendaring and scheduling information based on the iCalendar format. This document defines the "calendar-access" feature of CalDAV. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4791"/>
  <seriesInfo name="DOI" value="10.17487/RFC4791"/>
</reference>
<reference anchor="CardDav">
  <front>
    <title>CardDAV: vCard Extensions to Web Distributed Authoring and Versioning (WebDAV)</title>
    <author fullname="C. Daboo" initials="C." surname="Daboo"/>
    <date month="August" year="2011"/>
    <abstract>
      <t>This document defines extensions to the Web Distributed Authoring and Versioning (WebDAV) protocol to specify a standard way of accessing, managing, and sharing contact information based on the vCard format. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6352"/>
  <seriesInfo name="DOI" value="10.17487/RFC6352"/>
</reference>
<reference anchor="WebDAV">
  <front>
    <title>HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</title>
    <author fullname="L. Dusseault" initials="L." role="editor" surname="Dusseault"/>
    <date month="June" year="2007"/>
    <abstract>
      <t>Web Distributed Authoring and Versioning (WebDAV) consists of a set of methods, headers, and content-types ancillary to HTTP/1.1 for the management of resource properties, creation and management of resource collections, URL namespace manipulation, and resource locking (collision avoidance).</t>
      <t>RFC 2518 was published in February 1999, and this specification obsoletes RFC 2518 with minor revisions mostly due to interoperability experience. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4918"/>
  <seriesInfo name="DOI" value="10.17487/RFC4918"/>
</reference>
<reference anchor="XMPP">
  <front>
    <title>Extensible Messaging and Presence Protocol (XMPP): Core</title>
    <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>The Extensible Messaging and Presence Protocol (XMPP) is an application profile of the Extensible Markup Language (XML) that enables the near-real-time exchange of structured yet extensible data between any two or more network entities. This document defines XMPP's core protocol methods: setup and teardown of XML streams, channel encryption, authentication, error handling, and communication primitives for messaging, network availability ("presence"), and request-response interactions. This document obsoletes RFC 3920. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6120"/>
  <seriesInfo name="DOI" value="10.17487/RFC6120"/>
</reference>
<reference anchor="XMPP-IM">
  <front>
    <title>Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence</title>
    <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>This document defines extensions to core features of the Extensible Messaging and Presence Protocol (XMPP) that provide basic instant messaging (IM) and presence functionality in conformance with the requirements in RFC 2779. This document obsoletes RFC 3921. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6121"/>
  <seriesInfo name="DOI" value="10.17487/RFC6121"/>
</reference>
<reference anchor="XMPP-WebSocket">
  <front>
    <title>An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket</title>
    <author fullname="L. Stout" initials="L." role="editor" surname="Stout"/>
    <author fullname="J. Moffitt" initials="J." surname="Moffitt"/>
    <author fullname="E. Cestari" initials="E." surname="Cestari"/>
    <date month="October" year="2014"/>
    <abstract>
      <t>This document defines a binding for the Extensible Messaging and Presence Protocol (XMPP) over a WebSocket transport layer. A WebSocket binding for XMPP provides higher performance than the current HTTP binding for XMPP.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7395"/>
  <seriesInfo name="DOI" value="10.17487/RFC7395"/>
</reference>
<reference anchor="ManageSieve">
  <front>
    <title>A Protocol for Remotely Managing Sieve Scripts</title>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <author fullname="T. Martin" initials="T." surname="Martin"/>
    <date month="July" year="2010"/>
    <abstract>
      <t>Sieve scripts allow users to filter incoming email. Message stores are commonly sealed servers so users cannot log into them, yet users must be able to update their scripts on them. This document describes a protocol "ManageSieve" for securely managing Sieve scripts on a remote server. This protocol allows a user to have multiple scripts, and also alerts a user to syntactically flawed scripts. [STANDARDS TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5804"/>
  <seriesInfo name="DOI" value="10.17487/RFC5804"/>
</reference>
<reference anchor="Sieve">
  <front>
    <title>Sieve: An Email Filtering Language</title>
    <author fullname="P. Guenther" initials="P." role="editor" surname="Guenther"/>
    <author fullname="T. Showalter" initials="T." role="editor" surname="Showalter"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>This document describes a language for filtering email messages at time of final delivery. It is designed to be implementable on either a mail client or mail server. It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol (IMAP) servers, as the base language has no variables, loops, or ability to shell out to external programs. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5228"/>
  <seriesInfo name="DOI" value="10.17487/RFC5228"/>
</reference>
<reference anchor="URL">
  <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="HTTP">
  <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="WebSocket">
  <front>
    <title>The WebSocket Protocol</title>
    <author fullname="I. Fette" initials="I." surname="Fette"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="December" year="2011"/>
    <abstract>
      <t>The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security model commonly used by web browsers. The protocol consists of an opening handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g., using XMLHttpRequest or s and long polling). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6455"/>
  <seriesInfo name="DOI" value="10.17487/RFC6455"/>
</reference>
<reference anchor="HTTP-Basic-Auth">
  <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="HTTP-Digest-Auth">
  <front>
    <title>HTTP Digest Access Authentication</title>
    <author fullname="R. Shekh-Yusef" initials="R." role="editor" surname="Shekh-Yusef"/>
    <author fullname="D. Ahrens" initials="D." surname="Ahrens"/>
    <author fullname="S. Bremer" initials="S." surname="Bremer"/>
    <date month="September" year="2015"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) provides a simple challenge- response authentication mechanism that may be used by a server to challenge a client request and by a client to provide authentication information. This document defines the HTTP Digest Authentication scheme that can be used with the HTTP authentication mechanism.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7616"/>
  <seriesInfo name="DOI" value="10.17487/RFC7616"/>
</reference>
<reference anchor="OAuth2">
  <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="TLSv1.2">
  <front>
    <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
    <author fullname="T. Dierks" initials="T." surname="Dierks"/>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <date month="August" year="2008"/>
    <abstract>
      <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol. The TLS protocol provides communications security over the Internet. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5246"/>
  <seriesInfo name="DOI" value="10.17487/RFC5246"/>
</reference>
<reference anchor="STARTTLS">
  <front>
    <title>Using TLS with IMAP, POP3 and ACAP</title>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="June" year="1999"/>
    <abstract>
      <t>Recognizing that such sites will desire simple password authentication in combination with TLS encryption, this specification defines the PLAIN SASL mechanism for use with protocols which lack a simple password authentication command such as ACAP and SMTP. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2595"/>
  <seriesInfo name="DOI" value="10.17487/RFC2595"/>
</reference>
<reference anchor="CRAM-MD5">
  <front>
    <title>IMAP/POP AUTHorize Extension for Simple Challenge/Response</title>
    <author fullname="J. Klensin" initials="J." surname="Klensin"/>
    <author fullname="R. Catoe" initials="R." surname="Catoe"/>
    <author fullname="P. Krumviede" initials="P." surname="Krumviede"/>
    <date month="September" year="1997"/>
    <abstract>
      <t>This specification provides a simple challenge-response authentication protocol that is suitable for use with IMAP4. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2195"/>
  <seriesInfo name="DOI" value="10.17487/RFC2195"/>
</reference>
<reference anchor="DIGEST-MD5">
  <front>
    <title>Using Digest Authentication as a SASL Mechanism</title>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="May" year="2000"/>
    <abstract>
      <t>This specification defines how HTTP Digest Authentication can be used as a SASL mechanism for any protocol that has a SASL (Simple Authentication and Security Layer) profile. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2831"/>
  <seriesInfo name="DOI" value="10.17487/RFC2831"/>
</reference>
<reference anchor="SCRAM">
  <front>
    <title>SCRAM-SHA-256 and SCRAM-SHA-256-PLUS Simple Authentication and Security Layer (SASL) Mechanisms</title>
    <author fullname="T. Hansen" initials="T." surname="Hansen"/>
    <date month="November" year="2015"/>
    <abstract>
      <t>This document registers the Simple Authentication and Security Layer (SASL) mechanisms SCRAM-SHA-256 and SCRAM-SHA-256-PLUS, provides guidance for secure implementation of the original SCRAM-SHA-1-PLUS mechanism, and updates the SCRAM registration procedures of RFC 5802.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7677"/>
  <seriesInfo name="DOI" value="10.17487/RFC7677"/>
</reference>
<reference anchor="SASL">
  <front>
    <title>Simple Authentication and Security Layer (SASL)</title>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <author fullname="K. Zeilenga" initials="K." role="editor" surname="Zeilenga"/>
    <date month="June" year="2006"/>
    <abstract>
      <t>The Simple Authentication and Security Layer (SASL) is a framework for providing authentication and data security services in connection-oriented protocols via replaceable mechanisms. It provides a structured interface between protocols and mechanisms. The resulting framework allows new protocols to reuse existing mechanisms and allows old protocols to make use of new mechanisms. The framework also provides a protocol for securing subsequent protocol exchanges within a data security layer.</t>
      <t>This document describes how a SASL mechanism is structured, describes how protocols include support for SASL, and defines the protocol for carrying a data security layer over a connection. In addition, this document defines one SASL mechanism, the EXTERNAL mechanism.</t>
      <t>This document obsoletes RFC 2222. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4422"/>
  <seriesInfo name="DOI" value="10.17487/RFC4422"/>
</reference>
<reference anchor="SASL-OAuth2">
  <front>
    <title>A Set of Simple Authentication and Security Layer (SASL) Mechanisms for OAuth</title>
    <author fullname="W. Mills" initials="W." surname="Mills"/>
    <author fullname="T. Showalter" initials="T." surname="Showalter"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="August" year="2015"/>
    <abstract>
      <t>OAuth enables a third-party application to obtain limited access to a protected resource, either on behalf of a resource owner by orchestrating an approval interaction or by allowing the third-party application to obtain access on its own behalf.</t>
      <t>This document defines how an application client uses credentials obtained via OAuth over the Simple Authentication and Security Layer (SASL) to access a protected resource at a resource server. Thereby, it enables schemes defined within the OAuth framework for non-HTTP-based application protocols.</t>
      <t>Clients typically store the user's long-term credential. This does, however, lead to significant security vulnerabilities, for example, when such a credential leaks. A significant benefit of OAuth for usage in those clients is that the password is replaced by a shared secret with higher entropy, i.e., the token. Tokens typically provide limited access rights and can be managed and revoked separately from the user's long-term password.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7628"/>
  <seriesInfo name="DOI" value="10.17487/RFC7628"/>
</reference>
<reference anchor="RFC7591">
  <front>
    <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
    <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="M. Machulak" initials="M." surname="Machulak"/>
    <author fullname="P. Hunt" initials="P." surname="Hunt"/>
    <date month="July" year="2015"/>
    <abstract>
      <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7591"/>
  <seriesInfo name="DOI" value="10.17487/RFC7591"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="Autoconfig1.1" target="https://www.bucksch.org/1/projects/autoconfiguration/config-file-format.html">
  <front>
    <title>Autoconfig version 1.1</title>
    <author initials="B." surname="Bucksch" fullname="Ben Bucksch">
      <organization>Beonex</organization>
    </author>
    <date year="2020"/>
  </front>
</reference>


<reference anchor="XML">
  <front>
    <title>Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols</title>
    <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
    <author fullname="M. Rose" initials="M." surname="Rose"/>
    <author fullname="L. Masinter" initials="L." surname="Masinter"/>
    <date month="January" year="2003"/>
    <abstract>
      <t>The Extensible Markup Language (XML) is a framework for structuring data. While it evolved from Standard Generalized Markup Language (SGML) -- a markup language primarily focused on structuring documents -- XML has evolved to be a widely-used mechanism for representing structured data. There are a wide variety of Internet protocols being developed; many have need for a representation for structured data relevant to their application. There has been much interest in the use of XML as a representation method. This document describes basic XML concepts, analyzes various alternatives in the use of XML, and provides guidelines for the use of XML within IETF standards-track protocols. 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="70"/>
  <seriesInfo name="RFC" value="3470"/>
  <seriesInfo name="DOI" value="10.17487/RFC3470"/>
</reference>
<reference anchor="Kerberos">
  <front>
    <title>The Kerberos Network Authentication Service (V5)</title>
    <author fullname="C. Neuman" initials="C." surname="Neuman"/>
    <author fullname="T. Yu" initials="T." surname="Yu"/>
    <author fullname="S. Hartman" initials="S." surname="Hartman"/>
    <author fullname="K. Raeburn" initials="K." surname="Raeburn"/>
    <date month="July" year="2005"/>
    <abstract>
      <t>This document provides an overview and specification of Version 5 of the Kerberos protocol, and it obsoletes RFC 1510 to clarify aspects of the protocol and its intended use that require more detailed or clearer explanation than was provided in RFC 1510. This document is intended to provide a detailed description of the protocol, suitable for implementation, together with descriptions of the appropriate use of protocol messages and fields within those messages. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4120"/>
  <seriesInfo name="DOI" value="10.17487/RFC4120"/>
</reference>
<reference anchor="GSSAPI">
  <front>
    <title>Generic Security Service Application Program Interface Version 2, Update 1</title>
    <author fullname="J. Linn" initials="J." surname="Linn"/>
    <date month="January" year="2000"/>
    <abstract>
      <t>This memo obsoletes [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2743"/>
  <seriesInfo name="DOI" value="10.17487/RFC2743"/>
</reference>
<reference anchor="RFC6186">
  <front>
    <title>Use of SRV Records for Locating Email Submission/Access Services</title>
    <author fullname="C. Daboo" initials="C." surname="Daboo"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>This specification describes how SRV records can be used to locate email services. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6186"/>
  <seriesInfo name="DOI" value="10.17487/RFC6186"/>
</reference>
<reference anchor="DNSSEC">
  <front>
    <title>DNS Security Extensions (DNSSEC)</title>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="February" year="2023"/>
    <abstract>
      <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="237"/>
  <seriesInfo name="RFC" value="9364"/>
  <seriesInfo name="DOI" value="10.17487/RFC9364"/>
</reference>
<reference anchor="DNS-SRV">
  <front>
    <title>A DNS RR for specifying the location of services (DNS SRV)</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="P. Vixie" initials="P." surname="Vixie"/>
    <author fullname="L. Esibov" initials="L." surname="Esibov"/>
    <date month="February" year="2000"/>
    <abstract>
      <t>This document describes a DNS RR which specifies the location of the server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2782"/>
  <seriesInfo name="DOI" value="10.17487/RFC2782"/>
</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>



    </references>

</references>



  </back>

<!-- ##markdown-source:
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
OOwAl+7FoCm6GrOszVEkZ8kqFc0l0+o8W8BB6tSMBH0z1UpcDPxpuKfJXYUk
3xSNVcZgKSJIFsutYE9w4HKOvvipAye34FVaN4mVAepAp6G0e5N9BrALOyfv
3pvsiS1Nx9ILVkb9U1JuwwkloOH6G7H6JhfLWb4T6US5mUqE73YPud4oSWcU
rblD3ILLnSy2XFbWUaGRa94/ukf9fmFdiZvonY36OYwJk7kvulvm7bZuhpqq
5gn6cMeu1UeKoki4umy680ajZnbkFiZnh6Yn4Q1jLjfOMhbjBDNBhhVF6Yyb
fHjcTx9FUgqLXt6taw5fHy8vW0id/iE7fXEFt84/xYWeutRD2Id9TT13qEsC
Jvv9t0yrU9MvYYHiOLzXjY4CLNnYfv9m1Q8RMARmq5WiXCiHmhbS6HY4OWHZ
DlC0sXob33Knhx53LAEdgUs+vLBskes9TcU/fZpjEg9a6E15uIrVaoX1skBJ
6FpInRF//rFPeY82vY/dz/wt4dFmlJoxeoHzFb4h8esbJnPdZF93ecQtoxvq
PmzIkbuvNIb8NkOwH0AQDzvxlwoGsA1CQyPGvd7VXn/vtKKOkoB1PP4gvsLE
jY9jq8d/eogI+/s9aPjA3D8GIunGJyBJ/p4db4XVwdDKAi446hjuPnVaEpWu
l9WNVA0V4wN9zHHvdIqoEv9s07TV6p9bCryJp98sbOygTU6r1NvUYpL3W6ub
MZ4tftlI3roZ9fDlrHoXWSjEk9w7KODa4ess/S2UXLOUjt09Phs7tQXPpWIq
1wUldIhF6joT2x+f0rkDnkBIz/OKk7sk4DSZLzWSxg7IUaeSwaZEnB3GdNFb
+q7Cpb95OtsUS/ghCbTvSQq40vs1l3nMSEy4tnIYF5hZdZ6XqGAa31U4kmpH
/r5LyJgcXUQtzu2IXVRsSqjkREQTq1uOUq/aUmzY6CaBrCcRA0MLLxY8uzS8
c1rjdmtam2q5YcuQs6F7IchI450jT3/1pt6kDHEOi2uVl25wMTV15kuw19VG
F4u47Rn7frSWpye/HM8LDouyQlOBVxDasyIaXwQHldXUAfddD1BdWyVZYJDi
GMmshJNoxkejiofeuhRZiG41A1H4tyeeIFoB1ATfYDFj7UyhUmglgKS5gBsT
t9Hixs5uEc6sCS/ORRG1ykCkma7578pdGJ1YW74aVvpnFcRira6qQncltCxn
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
plm5kgTcCFmoyf8Bsa9Wb7TaAAA=

-->

</rfc>

