IMAP, Internet Message Access Protocol

Description Glossary RFCs Publications Obsolete RFCs

Description:

Protocol suite: TCP/IP.
Protocol type:Application layer email protocol.
Ports: 143 (TCP) IMAP2, IMAP4, IMAP 4rev1.
220 (TCP) IMAP3.
URI:imap:
MIME subtype:
SNMP MIBs:
Working groups: imap, Internet Message Access Protocol.
imapext, Internet Message Access Protocol Extension.
morg, Message ORGanization.
Links: IANA: IMAP4 capabilities.
wiki: IMAP.

IMAP2:

IMAP3:

IMAP4:
Originally known as the Interactive Mail Access Protocol. The name was changed to the Internet Message Access Protocol in IMAP4.

IMAP4rev1:

This variant is designed to be upwards compatible from the IMAP2 and unpublished IMAP2bis protocols. It is largely compatible with the IMAP4 protocol.


MAC header IP header TCP header IMAP message

Commands:

CommandReferences
APPEND RFC 3501, RFC 3502, RFC 4466, RFC 4469
AUTHENTICATE RFC 3501
CAPABILITY RFC 3501
CHECK RFC 3501
CLOSE RFC 3501
COMPARATOR RFC 5255
COMPRESS RFC 4978
CONVERSIONSRFC 5259
COPY RFC 3501
CREATE RFC 3501, RFC 4466
DELETE RFC 3501
DELETEACL RFC 4314
EXAMINE RFC 3501, RFC 4466
EXPUNGE RFC 3501
FETCH RFC 3501, RFC 4466
GETACL RFC 4314
GETMETADATA RFC 5464
GETQUOTA RFC 2087
GETQUOTAROOT RFC 2087
IDLE RFC 2177
LIST RFC 3501
LISTRIGHTS RFC 4314
LOGIN RFC 3501
LOGOUT RFC 3501
LSUB RFC 3501
MYRIGHTS RFC 4314
NOOP RFC 3501
NOTIFY RFC 5465
RENAME RFC 3501, RFC 4466
SEARCH RFC 3501, RFC 5032
SELECT RFC 3501, RFC 4466
SETACL RFC 4314
SETMETADATA RFC 5464
SETQUOTA RFC 2087
SORT RFC 5256
STARTTLS RFC 3501
STATUS RFC 3501
STORE RFC 3501, RFC 4466
SUBSCRIBE RFC 3501
THREAD RFC 5256
UID RFC 3501, RFC 4315, RFC 4466
UNSELECT RFC 3691
UNSUBSCRIBE RFC 3501
X<atom> RFC 3501

Status responses:
Status responses MAY include an OPTIONAL response code. A response code consists of data inside square brackets in the form of an atom, possibly followed by a space and arguments. The response code contains additional information or status codes for client software beyond the OK/NO/BAD condition, and are defined when there is a specific action that a client can take based upon the additional information.

ResponseReference
BAD RFC 3501
BYE RFC 3501
NO RFC 3501
OK RFC 3501
PREAUTH RFC 3501

IMAP4 capabilities:

CapabilityReferences
ACL RFC 4314
ANNOTATE-EXPERIMENT-1 RFC 5257
BINARY RFC 3516
CATENATE RFC 4469
CHILDREN RFC 3348
COMPRESS=DEFLATERFC 4978
CONDSTORERFC 4551
CONTEXT=SEARCHRFC 5267
CONTEXT=SORTRFC 5267
CONVERTRFC 5259
ENABLERFC 5161
ESEARCH RFC 4466, RFC 4731
ESORTRFC 5267
FILTERSRFC 5466
I18NLEVEL=1 RFC 5255
I18NLEVEL=2 RFC 5255
ID RFC 2971
IDLE RFC 2177
LANGUAGE RFC 5255
LIST-STATUS 
LITERAL+ RFC 2088
LOGIN-REFERRALS RFC 2221
LOGINDISABLED RFC 2595, RFC 3501
MAILBOX-REFERRALS RFC 2193
MULTIAPPEND RFC 3502
NAMESPACE RFC 2342
NOTIFY RFC 5465
QRESYNCRFC 5162
QUOTA RFC 2087
RIGHTS=RFC 4314
SASL-IRRFC 4959
SEARCHRES RFC 5182
SORTRFC 5256
STARTTLS RFC 2595, RFC 3501
THREADRFC 5256
UIDPLUS RFC 2359
UNSELECT RFC 3691
URLAUTH RFC 4467
UTF8=ACCEPT 
UTF8=ALL 
UTF8=APPEND 
UTF8=ONLY 
UTF8=USER 
WITHINRFC 5032

Glossary:

Atom.
One or more non-special characters.

Literal string.
A sequence of zero or more bytes (including CR and LF), prefix-quoted with an byte count in the form of an open brace ("{"), the number of bytes, close brace ("}"), and CRLF. In the case of literals transmitted from server to client, the CRLF is immediately followed by the data. In the case of literals transmitted from client to server, the client MUST wait to receive a command continuation request before sending the data (and the remainder of the command).

Quoted string.
A sequence of zero or more 7-bit characters, excluding CR and LF, with double quote (<">) characters at each end.


RFCs:

[RFC 1176] INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2.

[RFC 1203] INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 3.

[RFC 1731] IMAP4 Authentication Mechanisms.

[RFC 1732] IMAP4 COMPATIBILITY WITH IMAP2 AND IMAP2BIS.

[RFC 1733] DISTRIBUTED ELECTRONIC MAIL MODELS IN IMAP4.

[RFC 2061] IMAP4 COMPATIBILITY WITH IMAP2BIS.

[RFC 2062] Internet Message Access Protocol - Obsolete Syntax.

[RFC 2087] IMAP4 QUOTA extension.

[RFC 2088] IMAP4 non-synchronizing literals.

[RFC 2177] IMAP4 IDLE command.

[RFC 2180] IMAP4 Multi-Accessed Mailbox Practice.

[RFC 2192] IMAP URL Scheme.

[RFC 2193] IMAP4 Mailbox Referrals.

[RFC 2195] IMAP/POP AUTHorize Extension for Simple Challenge/Response.

[RFC 2221] IMAP4 Login Referrals.

[RFC 2342] IMAP4 Namespace.

[RFC 2595] Using TLS with IMAP, POP3 and ACAP.

[RFC 2683] IMAP4 Implementation Recommendations.

[RFC 2971] IMAP4 ID extension.

[RFC 3501] INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1.

[RFC 3502] Internet Message Access Protocol (IMAP) - MULTIAPPEND Extension.

[RFC 3503] Message Disposition Notification (MDN) profile for Internet Message Access Protocol (IMAP).

[RFC 3516] IMAP4 Binary Content Extension.

[RFC 3691] Internet Message Access Protocol (IMAP) UNSELECT command.

[RFC 4314] IMAP4 Access Control List (ACL) Extension.

[RFC 4315] Internet Message Access Protocol (IMAP) - UIDPLUS extension.

[RFC 4466] Collected Extensions to IMAP4 ABNF.

[RFC 4467] Internet Message Access Protocol (IMAP) - URLAUTH Extension.

[RFC 4468] Message Submission BURL Extension.

[RFC 4469] Internet Message Access Protocol (IMAP) CATENATE Extension.

[RFC 4978] The IMAP COMPRESS Extension.

[RFC 5182] IMAP Extension for Referencing the Last SEARCH Result.

[RFC 5255] Internet Message Access Protocol Internationalization.

[RFC 5256] Internet Message Access Protocol - SORT and THREAD Extensions.

[RFC 5257] Internet Message Access Protocol - ANNOTATE Extension.

[RFC 5258] Internet Message Access Protocol version 4 - LIST Command Extensions.

[RFC 5267] Contexts for IMAP4.

[RFC 5464] The IMAP METADATA Extension.

[RFC 5465] The IMAP NOTIFY Extension.

[RFC 5466] IMAP4 Extension for Named Searches (Filters).

[RFC 6186] Use of SRV Records for Locating Email Submission/Access Services.


Publications:


Obsolete RFCs:

[RFC 1064] INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2.

[RFC 1730] INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4.

[RFC 2060] INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4 rev1.

[RFC 2086] IMAP4 ACL extension.

[RFC 2095] IMAP/POP AUTHorize Extension for Simple Challenge/Response.

[RFC 2359] IMAP4 UIDPLUS extension.

[RFC 3348] The Internet Message Action Protocol (IMAP4) Child Mailbox Extension.


Description Glossary RFCs Publications Obsolete RFCs