转自:http://www.networksorcery.com/enp/protocol/imap.htm
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:
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:
Command | References |
---|---|
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 |
CONVERSIONS | RFC 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 |
GETQUOTA | RFC 2087 |
GETQUOTAROOT | RFC 2087 |
LIST | RFC 3501 |
LISTRIGHTS | RFC 4314 |
LOGIN | RFC 3501 |
LOGOUT | RFC 3501 |
LSUB | RFC 3501 |
MYRIGHTS | RFC 4314 |
NOOP | RFC 3501 |
RENAME | RFC 3501, RFC 4466 |
SEARCH | RFC 3501, RFC 5032 |
SELECT | RFC 3501, RFC 4466 |
SETACL | RFC 4314 |
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.
Response | Reference |
---|---|
BAD | RFC 3501 |
BYE | RFC 3501 |
NO | RFC 3501 |
OK | RFC 3501 |
PREAUTH | RFC 3501 |
IMAP4 capabilities:
Capability | References |
---|---|
ACL | RFC 4314 |
ANNOTATE-EXPERIMENT-1 | RFC 5257 |
BINARY | RFC 3516 |
CATENATE | RFC 4469 |
CHILDREN | RFC 3348 |
COMPRESS=DEFLATE | RFC 4978 |
CONDSTORE | RFC 4551 |
CONTEXT=SEARCH | RFC 5267 |
CONTEXT=SORT | RFC 5267 |
CONVERT | RFC 5259 |
ENABLE | RFC 5161 |
ESEARCH | RFC 4466, RFC 4731 |
ESORT | RFC 5267 |
FILTERS | RFC 5466 |
I18NLEVEL=1 | RFC 5255 |
I18NLEVEL=2 | RFC 5255 |
ID | RFC 2971 |
IDLE | RFC 2177 |
LANGUAGE | RFC 5255 |
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 |
QRESYNC | RFC 5162 |
QUOTA | RFC 2087 |
RIGHTS= | RFC 4314 |
SASL-IR | RFC 4959 |
SEARCHRES | RFC 5182 |
SORT | RFC 5256 |
STARTTLS | RFC 2595, RFC 3501 |
THREAD | RFC 5256 |
UIDPLUS | RFC 2359 |
UNSELECT | RFC 3691 |
URLAUTH | RFC 4467 |
WITHIN | RFC 5032 |