Internet Message Access Protocol - Version 4rev1
RFC 2060
Document | Type |
RFC - Proposed Standard
(December 1996; Errata)
Obsoleted by RFC 3501
Obsoletes RFC 1730
Was draft-crispin-imap-base (individual)
|
|
---|---|---|---|
Author | Mark Crispin | ||
Last updated | 2020-01-21 | ||
Stream | Legacy | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Stream | Legacy state | (None) | |
Consensus Boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | RFC 2060 (Proposed Standard) | |
Telechat date | |||
Responsible AD | (None) | ||
Send notices to | (None) |
Network Working Group M. Crispin Request for Comments: 2060 University of Washington Obsoletes: 1730 December 1996 Category: Standards Track INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract 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 remote message folders, called "mailboxes", in a way that is functionally equivalent to local mailboxes. IMAP4rev1 also provides the capability for an offline client to resynchronize with the server (see also [IMAP-DISC]). IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; permanently removing messages; setting and clearing flags; [RFC-822] and [MIME-IMB] 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 [ACAP]. IMAP4rev1 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as [SMTP]. IMAP4rev1 is designed to be upwards compatible from the [IMAP2] and unpublished IMAP2bis protocols. In the course of the evolution of IMAP4rev1, some aspects in the earlier protocol have become obsolete. Obsolete commands, responses, and data formats which an IMAP4rev1 implementation may encounter when used with an earlier implementation are described in [IMAP-OBSOLETE]. Crispin Standards Track [Page 1] RFC 2060 IMAP4rev1 December 1996 Other compatibility issues with IMAP2bis, the most common variant of the earlier protocol, are discussed in [IMAP-COMPAT]. A full discussion of compatibility issues with rare (and presumed extinct) variants of [IMAP2] is in [IMAP-HISTORICAL]; this document is primarily of historical interest. Table of Contents IMAP4rev1 Protocol Specification .................................. 4 1. How to Read This Document ................................. 4 1.1. Organization of This Document ............................. 4 1.2. Conventions Used in This Document ......................... 4 2. Protocol Overview ......................................... 5 2.1. Link Level ................................................ 5 2.2. Commands and Responses .................................... 6 2.2.1. Client Protocol Sender and Server Protocol Receiver ....... 6 2.2.2. Server Protocol Sender and Client Protocol Receiver ....... 7 2.3. Message Attributes ........................................ 7 2.3.1. Message Numbers ........................................... 7 2.3.1.1. Unique Identifier (UID) Message Attribute ......... 7 2.3.1.2. Message Sequence Number Message Attribute ......... 9 2.3.2. Flags Message Attribute .................................... 9 2.3.3. Internal Date Message Attribute ........................... 10 2.3.4. [RFC-822] Size Message Attribute .......................... 11 2.3.5. Envelope Structure Message Attribute ...................... 11 2.3.6. Body Structure Message Attribute .......................... 11 2.4. Message Texts ............................................. 11 3. State and Flow Diagram .................................... 11 3.1. Non-Authenticated State ................................... 11 3.2. Authenticated State ....................................... 11 3.3. Selected State ............................................ 12 3.4. Logout State .............................................. 12 4. Data Formats .............................................. 12 4.1. Atom ...................................................... 13 4.2. Number .................................................... 13 4.3. String ..................................................... 13 4.3.1. 8-bit and Binary Strings .................................. 13 4.4. Parenthesized List ........................................ 14 4.5. NIL ....................................................... 14 5. Operational Considerations ................................ 14Show full document text