<?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.3.8) -->


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

]>


<rfc ipr="trust200902" docName="draft-ietf-mailmaint-imap-extensions-suggestions-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>IMAP Extensions Suggestions</title>

    <author fullname="Ricardo Signes">
      <organization>Fastmail</organization>
      <address>
        <email>rjbs@semiotic.systems</email>
      </address>
    </author>

    <date year="2026" month="July" day="02"/>

    <area>ART</area>
    <workgroup>Mail Maintenance</workgroup>
    <keyword>imap</keyword>

    <abstract>


<?line 21?>

<t>This document presents a set of IMAP extensions, each of which is recommended
as a priority for general-purpose IMAP client and server implementations.</t>



    </abstract>



  </front>

  <middle>


<?line 26?>

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

<t>IMAP4 (<xref target="IMAP4rev2"/> et al.) is a complex protocol, and many
extensions have been written over its decades of use.  Programmers working on
IMAP4 clients or servers today have very little guidance on which extensions
have much support or have significant value.  This document, prepared by a
group of established IMAP4 client and server authors, is meant to serve as an
overview of which standards should be targeted by living IMAP4 code.  There are
many trade-offs involved in implementing IMAP4.  This document focuses on
reducing round trips required to complete common tasks and on eliminating
likely confusion for users or user agents.</t>

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

<t>This document does not define a formal specification, and words "should" and
"should not" are used with specific meaning in the document, distinct from that
described in <xref target="RFC2119"/>.</t>

<t><list style="symbols">
  <t>should - This word means that the action described is strongly recommended
and will enhance interoperability or usability.</t>
  <t>should not - This phrase means that the action described is strongly
recommended against, and might hurt interoperability or usability.</t>
</list></t>

</section>
<section anchor="core-protocol-version"><name>Core Protocol Version</name>

<t>The current IMAP protocol is IMAP4rev2, specified in <xref target="IMAP4rev2"/>.</t>

<t>New server implementations should target IMAP4rev2.  This means some of the
extensions listed below are required, and that the server is subject to certain
further restrictions.  Existing server implementations that target earlier
revisions of IMAP4 should pursue the recommended extensions below.  That is: we
suggest IMAP4rev1 with all of the extensions below as a goal before full
IMAP4rev2.</t>

<t>IMAP4rev2 and IMAP4rev1 are both in active use, so IMAP4 clients should be
capable of interoperating with either protocol.  Clients should avoid relying
on behaviors removed in IMAP4rev2, and should be capable of operating without
features mandated in IMAP4rev2.  The extensions below were chosen with the goal
of eliminating wasted effort.  They are either commonly offered even by
IMAP4rev1 servers or provide so much utility that they are worth implementing
as optional best-case code paths.</t>

<t>For an IMAP4rev1 client, the most essential components of IMAP4rev2 are:</t>

<t><list style="symbols">
  <t>support for <xref target="ENABLE"/>, without which other extensions can't be
enabled</t>
  <t>support for UTF-8 as also described in <xref target="UTF8ACCEPT"/></t>
  <t>the list of new mailbox attributes from <xref target="SPECIAL-USE"/></t>
  <t>the removal of the CHECK command</t>
</list></t>

<t>The rest of IMAP4rev2 provides extensions that may be beneficial for a client,
but don't necessarily have to be used. Many of those extensions are mentioned
in separate sections below.  For a complete list of changes between revisions,
see <eref target="https://datatracker.ietf.org/doc/html/rfc9051#changesFromIMAP4rev1">Appendix E of the
RFC</eref>.</t>

</section>
<section anchor="the-most-effective-imap-extensions"><name>The most effective IMAP extensions</name>

<t>These are the IMAP extensions we believe have the most impact and are most
widely implemented.  They are listed in no particular order, and instead we've
provided an explanation of their benefit, so that implementors can choose based
on their product's priorities.</t>

<section anchor="compress-rfc-4978"><name>COMPRESS, RFC 4978</name>

<t>With the <xref target="COMPRESS"/> extension enabled, the IMAP conversation in both
directions is compressed using DEFLATE.  In practice, this leads to a 20-40%
(or more) reduction in bandwidth used.  The deflate algorithm is widely
implemented and adds very little computing cost to providing service.</t>

</section>
<section anchor="condstore-and-qresync-rfc-7162"><name>CONDSTORE and QRESYNC, RFC 7162</name>

<t>These extensions, from <xref target="RFC7162"/> provide efficient mechanisms for
re-synchronization.  When an IMAP client can make use of these features, it can
efficiently update its local cache by only fetching new or changed data.
Without these features, the client needs to rescan old mail for changes.
Implementing these extensions reduces bandwidth usage and means an IMAP client
is fully up to date much more quickly after coming back online.  CONDSTORE and
QRESYNC are probably the most important extensions to implement to improve IMAP
efficiency.</t>

<t>For clients that perform no local caching, these extensions provide no benefit.</t>

</section>
<section anchor="esearch-rfc-4731"><name>ESEARCH, RFC 4731</name>

<t>The <xref target="ESEARCH"/> extension (not to be confused with the ESEARCH command
provided by the MULTISEARCH extension) extends the core search mechanism to
allow limiting results, getting a count of results, and getting results in a
more compact format.  This reduces bandwidth and can allow server-side query
optimizations.</t>

<t>This extension is required by IMAP4rev2.</t>

</section>
<section anchor="id-rfc-2971"><name>ID, RFC 2971</name>

<t>The <xref target="ID"/> extension adds the ID command and response, through which
the client identifies itself (by name and version) to the server, and the
server does the same in return.  When a client or server author digs into a bug
or other problematic behavior, knowing what piece of software is at the other
end of the connection makes it easier to reproduce and diagnose problems.  It
also means that there's a path to contact the maintainers of the software
involved.</t>

</section>
<section anchor="idle-rfc-2177"><name>IDLE, RFC 2177</name>

<t>The <xref target="IDLE"/> extension allows the client to switch into a passive mode
and request that updates to the currently selected mailbox instead be pushed to
the client by the server.  It replaces continued polling or reconnection to
check for new mail, reducing network overhead and providing lower-latency
updates to end users.</t>

<t>This extension is required by IMAP4rev2.</t>

<t>For a more richly-featured replacement to IDLE, see NOTIFY below.</t>

</section>
<section anchor="literal-rfc7888"><name>LITERAL+, RFC7888</name>

<t>The <xref target="LITERALPLUS"/> extension introduces both LITERAL+ and LITERAL- as
capabilities.  These capabilities indicate support for <em>non-synchronizing</em>
string literals.  Without this capability, a client sending a literal to the
server must wait for the server to acknowledge that it is now waiting for the
content of a literal.  Using the non-synchronizing form, the literal's content
may be transmitted immediately.  This reduces wait time and round trips between
client and server.  LITERAL- support is a strict subset of LITERAL+ support.</t>

<t>LITERAL+ is required by IMAP4rev2.</t>

</section>
<section anchor="move-rfc-6851"><name>MOVE, RFC 6851</name>

<t>The <xref target="MOVE"/> command provides a way to atomically move a message from
one mailbox to another, combining a message copy and expunge.  This eliminates
the possibility of a copied-but-not-deleted message.  Also, because there's no
intermediate state where the message exists twice, the command won't fail due
to quota limitations.</t>

<t>This extension is required by IMAP4rev2.</t>

</section>
<section anchor="objectid-rfc-8474"><name>OBJECTID, RFC 8474</name>

<t>The <xref target="OBJECTID"/> extension provides unique identifiers to messages and
threads.  This has a number of distinct benefits:</t>

<t><list style="symbols">
  <t>Mailbox renames can be synchronized extremely efficiently.  Without a mailbox
id, synchronizing a mailbox rename can be very expensive, especially if it
has child mailboxes.</t>
  <t>Mailbox renames need not break Sieve scripts, which can target mailboxes by
id in addition to name.</t>
  <t>Messages appearing in multiple mailboxes only need to be synchronized once,
saving bandwidth and storage space.</t>
  <t>The unique identifiers can be used to make <xref target="JMAP"/> calls, if JMAP
is available for the target server.</t>
</list></t>

</section>
<section anchor="special-use-rfc-6154"><name>SPECIAL-USE, RFC 6154</name>

<t>The <xref target="SPECIAL-USE"/> extension describes a way to add metadata to a
mailbox to indicate that the mailbox is for a well-known purpose.  For example,
the trash mailbox or sent mailbox can be marked as such.  This helps client
authors meet user expectations consistently across implementations.  On servers
without this extension, clients are left to make their own mailboxes, and two
clients may pick different names, leaving the user with both "Sent" and "Sent
Messages".</t>

<t>At minimum, servers and clients should implement support for \Drafts, \Junk,
\Sent, and \Trash.</t>

<t>In addition to the behavior from the specification:</t>

<t><list style="symbols">
  <t>No one mailbox in a user's personal namespace should have more than one
special use attribute.  Any combination of two special uses on a mailbox is
likely to confuse both users and their user agent software.</t>
  <t>No one special use attribute should be present on two different mailboxes in
a user's personal namespace.  A client should not be forced to pick between
two \Sent mailboxes, for example.</t>
  <t>Special use mailboxes should be at the root of the user's personal mailbox
hierarchy, and servers should reject attempts to move special-use mailboxes
elsewhere in the hierarchy.  Usually, moving a special use mailbox from the
top level is the result of a mistake, and leads to complications when users,
no longer seeing a "Sent" mailbox, create a new one - which doesn't work.</t>
</list></t>

<t>This extension is required by IMAP4rev2.</t>

</section>
<section anchor="uidplus-rfc-4315"><name>UIDPLUS, RFC 4315</name>

<t>The <xref target="UIDPLUS"/> extension adds a new command (UID EXPUNGE) and several
response codes.  The UID EXPUNGE command allows for expunging of deleted mail
included in the sequence set provided as a command argument.  Because it uses
UIDs instead of sequence numbers, it can be used by clients synchronizing from
an offline state.  Without UID EXPUNGE, the client must either toggle the
<spanx style="verb">\Deleted</spanx> flag on messages or risk purging more mail than expected.</t>

<t>This extension is required by IMAP4rev2.</t>

</section>
</section>
<section anchor="further-effective-imap-extensions"><name>Further effective IMAP extensions</name>

<t>These extensions are also useful and recommended, although they apply to more
specific scenarios than the more general-use extensions listed in the previous
section</t>

<section anchor="multisearch-rfc-7377"><name>MULTISEARCH, RFC 7377</name>

<t>The <xref target="MULTISEARCH"/> extension adds a new command (ESEARCH, not to be
confused with the ESEARCH capability) which can search multiple mailboxes at
once.  This makes searches both faster and more efficient.  Without
multisearch, searching multiple mailboxes will require the client to pipeline a
series of SELECT and SEARCH commands.  Combining these into a single command
may also permit the server to perform a much more efficient search.</t>

</section>
<section anchor="notify-rfc-5465"><name>NOTIFY, RFC 5465</name>

<t>The IDLE command, described above, switches the IMAP conversation into a
massive mode where the server will push changes to the currently selected
mailbox.  The <xref target="NOTIFY"/> extension provides an improved form of IDLE.
It can instruct the server to provide updates for multiple mailboxes, and to
send STATUS lines for mailboxes with updates.</t>

<t>This is especially valuable for servers that may deliver new mail to mailboxes
other than the inbox, using mail rules or other routing.</t>

<t>While implementing NOTIFY is demanding for servers, clients can get most of the
benefit without too much effort.  Most clients need only send this command:</t>

<figure><artwork><![CDATA[
NOTIFY SET (SELECTED (MESSAGENEW (UID) MESSAGEEXPUNGE))
]]></artwork></figure>

<t>...and they will receive prompt notices about new and deleted messages and
may not need to write any further code.</t>

<t>Clients that only listen to responses when they send commands should use
SELECTED-DELAYED instead of SELECTED. Clients that also implement OBJECTID may
send (UID EMAILID THREADID) instead of (UID)."</t>

</section>
<section anchor="replace-rfc-8508"><name>REPLACE, RFC 8508</name>

<t>The <xref target="REPLACE"/> command provides a way to atomically replace one
message with another, combining an append and single-message expunge.  It's
primarily used for managing draft messages, but can also be used for editing
messages "in place" in other ways.</t>

<t>Use of the REPLACE command eliminates the possibility of appending without
deleting message.  Also, because there's no intermediate state, a REPLACE
command won't fail due to quota limitations as could happen with
append-then-expunge.</t>

</section>
</section>
<section anchor="additional-notes-for-client-implementations"><name>Additional notes for client implementations</name>

<t>When possible, clients should use the UID command instead of the message
sequence number commands it supersedes.  For example, UID FETCH, not FETCH.
UIDs persist between IMAP sessions, making offline operation simpler.  When the
<xref target="UIDONLY"/> extension is available, it permits sessions using only the
UID form of commands to achieve better client and server performance.</t>

</section>
<section anchor="additional-notes-for-server-implementations"><name>Additional notes for server implementations</name>

<t>Retrieving the BODYSTRUCTURE data item should be efficient.  IMAP4 clients will
expect fetching the BODYSTRUCTURE to cost no more than fetching the ENVELOPE.
Slow implementations, like parsing the stored message for each request, are
likely to result in a poor user experience.</t>

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

<t>TODO Security</t>

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

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


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

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



<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="ENABLE">
  <front>
    <title>The IMAP ENABLE Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." role="editor" surname="Gulbrandsen"/>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <date month="March" year="2008"/>
    <abstract>
      <t>Most IMAP extensions are used by the client when it wants to and the server supports it. However, a few extensions require the server to know whether a client supports that extension. The ENABLE extension allows an IMAP client to say which extensions it supports. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5161"/>
  <seriesInfo name="DOI" value="10.17487/RFC5161"/>
</reference>
<reference anchor="UTF8ACCEPT">
  <front>
    <title>IMAP Support for UTF-8</title>
    <author fullname="P. Resnick" initials="P." surname="Resnick"/>
    <author fullname="J. Yao" initials="J." surname="Yao"/>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <date month="March" year="2025"/>
    <abstract>
      <t>This specification extends the Internet Message Access Protocol, specifically IMAP4rev1 (RFC 3501), to support UTF-8 encoded international characters in user names, mail addresses, and message headers. This specification replaces RFC 6855. This specification does not extend IMAP4rev2 (RFC 9051), since that protocol includes everything in this extension.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9755"/>
  <seriesInfo name="DOI" value="10.17487/RFC9755"/>
</reference>
<reference anchor="SPECIAL-USE">
  <front>
    <title>IMAP LIST Extension for Special-Use Mailboxes</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="J. Nicolson" initials="J." surname="Nicolson"/>
    <date month="March" year="2011"/>
    <abstract>
      <t>Some IMAP message stores include special-use mailboxes, such as those used to hold draft messages or sent messages. Many mail clients allow users to specify where draft or sent messages should be put, but configuring them requires that the user know which mailboxes the server has set aside for these purposes. This extension adds new optional mailbox attributes that a server may include in IMAP LIST command responses to identify special-use mailboxes to the client, easing configuration. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6154"/>
  <seriesInfo name="DOI" value="10.17487/RFC6154"/>
</reference>
<reference anchor="UIDONLY">
  <front>
    <title>IMAP Extension for Using and Returning Unique Identifiers (UIDs) Only</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="A. P. Achuthan" initials="A. P." surname="Achuthan"/>
    <author fullname="V. Nagulakonda" initials="V." surname="Nagulakonda"/>
    <author fullname="A. Singh" initials="A." surname="Singh"/>
    <author fullname="L. Alves" initials="L." surname="Alves"/>
    <date month="May" year="2024"/>
    <abstract>
      <t>The UIDONLY extension to the Internet Message Access Protocol (RFCs 3501 and 9051) allows clients to enable a mode in which information about mailbox changes is returned using only Unique Identifiers (UIDs). Message numbers are not returned in responses and cannot be used in requests once this extension is enabled. This helps both clients and servers to reduce resource usage required to maintain a map between message numbers and UIDs.</t>
      <t>This document defines an experimental IMAP extension.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9586"/>
  <seriesInfo name="DOI" value="10.17487/RFC9586"/>
</reference>



    </references>

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



<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="COMPRESS">
  <front>
    <title>The IMAP COMPRESS Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <date month="August" year="2007"/>
    <abstract>
      <t>The COMPRESS extension allows an IMAP connection to be effectively and efficiently compressed. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4978"/>
  <seriesInfo name="DOI" value="10.17487/RFC4978"/>
</reference>
<reference anchor="RFC7162">
  <front>
    <title>IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization (QRESYNC)</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="D. Cridland" initials="D." surname="Cridland"/>
    <date month="May" year="2014"/>
    <abstract>
      <t>Often, multiple IMAP (RFC 3501) clients need to coordinate changes to a common IMAP mailbox. Examples include different clients working on behalf of the same user and multiple users accessing shared mailboxes. These clients need a mechanism to efficiently synchronize state changes for messages within the mailbox.</t>
      <t>Initially defined in RFC 4551, the Conditional Store facility provides a protected update mechanism for message state information and a mechanism for requesting only changes to the message state. This memo updates that mechanism and obsoletes RFC 4551, based on operational experience.</t>
      <t>This document additionally updates another IMAP extension, Quick Resynchronization, which builds on the Conditional STORE extension to provide an IMAP client the ability to fully resynchronize a mailbox as part of the SELECT/EXAMINE command, without the need for additional server-side state or client round trips. Hence, this memo obsoletes RFC 5162.</t>
      <t>Finally, this document also updates the line-length recommendation in Section 3.2.1.5 of RFC 2683.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7162"/>
  <seriesInfo name="DOI" value="10.17487/RFC7162"/>
</reference>
<reference anchor="ESEARCH">
  <front>
    <title>IMAP4 Extension to SEARCH Command for Controlling What Kind of Information Is Returned</title>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <author fullname="D. Cridland" initials="D." surname="Cridland"/>
    <date month="November" year="2006"/>
    <abstract>
      <t>This document extends IMAP (RFC 3501) SEARCH and UID SEARCH commands with several result options, which can control what kind of information is returned. The following result options are defined: minimal value, maximal value, all found messages, and number of found messages. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4731"/>
  <seriesInfo name="DOI" value="10.17487/RFC4731"/>
</reference>
<reference anchor="ID">
  <front>
    <title>IMAP4 ID extension</title>
    <author fullname="T. Showalter" initials="T." surname="Showalter"/>
    <date month="October" year="2000"/>
    <abstract>
      <t>This document describes an ID extension which will enable Internet Message Access Protocol - Version 4rev1 (IMAP4rev1) to advertise what program a client or server uses to provide service. The ID extension allows the server and client to exchange identification information on their implementation in order to make bug reports and usage statistics more complete. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2971"/>
  <seriesInfo name="DOI" value="10.17487/RFC2971"/>
</reference>
<reference anchor="IDLE">
  <front>
    <title>IMAP4 IDLE command</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="June" year="1997"/>
    <abstract>
      <t>This document specifies the syntax of an IDLE command, which will allow a client to tell the server that it's ready to accept such real-time updates. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2177"/>
  <seriesInfo name="DOI" value="10.17487/RFC2177"/>
</reference>
<reference anchor="LITERALPLUS">
  <front>
    <title>IMAP4 Non-synchronizing Literals</title>
    <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
    <date month="May" year="2016"/>
    <abstract>
      <t>The Internet Message Access Protocol (RFC 3501) contains the "literal" syntactic construct for communicating strings. When sending a literal from client to server, IMAP requires the client to wait for the server to send a command continuation request between sending the octet count and the string data. This document specifies an alternate form of literal that does not require this network round trip.</t>
      <t>This document specifies 2 IMAP extensions: LITERAL+ and LITERAL-. LITERAL+ allows the alternate form of literals in all IMAP commands. LITERAL- is the same as LITERAL+, but it disallows the alternate form of literals unless they are 4096 bytes or less.</t>
      <t>This document obsoletes RFC 2088.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7888"/>
  <seriesInfo name="DOI" value="10.17487/RFC7888"/>
</reference>
<reference anchor="MOVE">
  <front>
    <title>Internet Message Access Protocol (IMAP) - MOVE Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="N. Freed" initials="N." role="editor" surname="Freed"/>
    <date month="January" year="2013"/>
    <abstract>
      <t>This document defines an IMAP extension consisting of two new commands, MOVE and UID MOVE, that are used to move messages from one mailbox to another. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6851"/>
  <seriesInfo name="DOI" value="10.17487/RFC6851"/>
</reference>
<reference anchor="OBJECTID">
  <front>
    <title>IMAP Extension for Object Identifiers</title>
    <author fullname="B. Gondwana" initials="B." role="editor" surname="Gondwana"/>
    <date month="September" year="2018"/>
    <abstract>
      <t>This document updates RFC 3501 (IMAP4rev1) with persistent identifiers on mailboxes and messages to allow clients to more efficiently reuse cached data when resources have changed location on the server.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8474"/>
  <seriesInfo name="DOI" value="10.17487/RFC8474"/>
</reference>
<reference anchor="JMAP">
  <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="UIDPLUS">
  <front>
    <title>Internet Message Access Protocol (IMAP) - UIDPLUS extension</title>
    <author fullname="M. Crispin" initials="M." surname="Crispin"/>
    <date month="December" year="2005"/>
    <abstract>
      <t>The UIDPLUS extension of the Internet Message Access Protocol (IMAP) provides a set of features intended to reduce the amount of time and resources used by some client operations. The features in UIDPLUS are primarily intended for disconnected-use clients. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4315"/>
  <seriesInfo name="DOI" value="10.17487/RFC4315"/>
</reference>
<reference anchor="MULTISEARCH">
  <front>
    <title>IMAP4 Multimailbox SEARCH Extension</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="October" year="2014"/>
    <abstract>
      <t>The IMAP4 specification allows the searching of only the selected mailbox. A user often wants to search multiple mailboxes, and a client that wishes to support this must issue a series of SELECT and SEARCH commands, waiting for each to complete before moving on to the next. This extension allows a client to search multiple mailboxes with one command, limiting the delays caused by many round trips and not requiring disruption of the currently selected mailbox. This extension also uses MAILBOX, UIDVALIDITY, and TAG fields in ESEARCH responses, allowing a client to pipeline the searches if it chooses. This document updates RFC 4466 and obsoletes RFC 6237.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7377"/>
  <seriesInfo name="DOI" value="10.17487/RFC7377"/>
</reference>
<reference anchor="NOTIFY">
  <front>
    <title>The IMAP NOTIFY Extension</title>
    <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
    <author fullname="C. King" initials="C." surname="King"/>
    <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
    <date month="February" year="2009"/>
    <abstract>
      <t>This document defines an IMAP extension that allows a client to request specific kinds of unsolicited notifications for specified mailboxes, such as messages being added to or deleted from such mailboxes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5465"/>
  <seriesInfo name="DOI" value="10.17487/RFC5465"/>
</reference>
<reference anchor="REPLACE">
  <front>
    <title>IMAP REPLACE Extension</title>
    <author fullname="S. Brandt" initials="S." surname="Brandt"/>
    <date month="January" year="2019"/>
    <abstract>
      <t>This document defines an IMAP extension that can be used to replace an existing message in a message store with a new message. Message replacement is a common operation for clients that automatically save drafts or notes as a user composes them.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8508"/>
  <seriesInfo name="DOI" value="10.17487/RFC8508"/>
</reference>



    </references>

</references>


<?line 295?>

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>TODO acknowledge.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA51aa3PcRnb93r+il1spSc4MLUqiRLNqK6HJ4ZpeilT4sOOK
U7UYoGcGS7yMBmY0cem/55zbD2BIeh3HVbaHeHTf57nn3sZ0OlVd3hXmWO9d
fDz5pGefO1PZvK6svu2XS2M7/t5TadKZZd1uj3VeLWqlsjqtkhKvZW2y6Ka5
6RbTMskL/FvhzzJppiYuNbXDUtPXb5Tt52VueavbNljjYnZ3rqq+nJv2WGXY
6VileBRv9/ZYd21v1PpYv1VJa5JjfXJzpzZ1+7Bs67451h+xK/9TYbekSo16
MFvczo6VnmoKolTSd6u6lQuLviic4Dd5mrRZrW/zZWWs0lrX7TKp8v9JKOex
Pk9sR414x/DHsW7/Mbf/bk2Z112e7tut7UxplZpOpzqZ265N0k6pu1VuNczT
l6bqdNMa6NFZnWhrOl0vtJh5sM1EmyRd8cZmleMHXm5NWpd4OzOZSvhm0+Z1
m3dbvahbvTSVaZNi2vRtU1vj1kuLnLslVYZt2rVpoXlTGIog6th9J2aZZ1lh
lPqzvqi6ts76lHeV4iLv9Mtff/2T/GrN+s1fbs5Pv3l9ePDli4bgSbH/irIl
GrJh5c8Qqu7qtC4msmuZVFs1aKVXydrouTGV3kByXNa1SAVLZCZNMmOpcm/N
vtaf2nrZJtC4tZqOzaulhlBOJqcZnm69ZlZ3dZZs3Q74e6sLbFAYvezzjAGA
d70tB3mUPF32uGj7pqnbjgvKRQv/5wsEA+y3ToqeEu34cEInNoi9TM+3OlES
d5QeEZ3Mi9yucGcs7NgNLvTgZSxYGu7R1e6epmsrRbOsc7MZIgCrVhlC02q7
qvsCuxrdJe3SdE6CIl/TQn7HOnMCmxYrtkbREUgZWHhaLxYW6bquizXezKsh
JuL7j3VFhKVwiqX9oXCf8knoC4W6Nm8Ym7/0OU0BNVwkdIY/Shi9S+yDFeXx
hynyMq8SbqWK/MEUWzxWLXq6Q+IY27TiVv7QyZJe3mdkntbVmjIyjLjYmVnk
VS5/P86urIaoVY0ffAYG4MplUmjbmFScytdchBITrN5zNt3jJeX/4Ap7NB5F
wYN5t4oLiNNoBJivW5lRUGQ5AK1KYbK2LnEv6RSiOm3zuTP2r7/+GzLozcHB
N1++QK+vgjenzuIURxa38q4snkg26tEyiAGkabWE9caooJ1GeVFoU60k6Il/
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

-->

</rfc>

