Internet Message Access Protocol - Version 4
RFC 1730
Document | Type |
RFC - Proposed Standard
(December 1994; No errata)
Was draft-ietf-imap-imap4 (imap WG)
|
|
---|---|---|---|
Author | Mark Crispin | ||
Last updated | 2013-03-02 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 1730 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | (None) | ||
Send notices to | (None) |
Network Working Group M. Crispin Request for Comments: 1730 University of Washington Category: Standards Track December 1994 INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4 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 4 (IMAP4) allows a client to access and manipulate electronic mail messages on a server. IMAP4 permits manipulation of remote message folders, called "mailboxes", in a way that is functionally equivalent to local mailboxes. IMAP4 also provides the capability for an offline client to resynchronize with the server (see also [IMAP-DISC]). IMAP4 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; permanently removing messages; setting and clearing flags; RFC 822 and MIME parsing; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4 are accessed by the use of numbers. These numbers are either message sequence numbers (relative position from 1 to the number of messages in the mailbox) or unique identifiers (immutable, strictly ascending values assigned to each message, but which are not necessarily contiguous). IMAP4 supports a single server. A mechanism for supporting multiple IMAP4 servers is discussed in [IMSP]. IMAP4 does not specify a means of posting mail; this function is handled by a mail transfer protocol such as [SMTP]. IMAP4 is designed to be upwards compatible from the [IMAP2] protocol. Compatibility issues are discussed in [IMAP-COMPAT]. Crispin [Page i] RFC 1730 IMAP4 December 1994 Table of Contents IMAP4 Protocol Specification ...................................... 1 1. Organization of this Document ............................. 1 1.1. How to Read This Document ................................. 1 1.2. Conventions Used in this Document ......................... 1 2. Protocol Overview ......................................... 1 2.1. Link Level ................................................ 1 2.2. Commands and Responses .................................... 1 2.2.1. Client Protocol Sender and Server Protocol Receiver ....... 2 2.2.2. Server Protocol Sender and Client Protocol Receiver ....... 2 3. State and Flow Diagram .................................... 4 3.1. Non-Authenticated State ................................... 4 3.2. Authenticated State ....................................... 4 3.3. Selected State ............................................ 4 3.4. Logout State .............................................. 4 4. Data Formats .............................................. 6 4.1. Atom ...................................................... 6 4.2. Number .................................................... 6 4.3. String .................................................... 6 4.3.1. 8-bit and Binary Strings .................................. 7 4.4. Parenthesized List ........................................ 7 4.5. NIL ....................................................... 7 5. Operational Considerations ................................ 8 5.1. Mailbox Naming ............................................ 8 5.2. Mailbox Size and Message Status Updates ................... 8 5.3. Response when no Command in Progress ...................... 8 5.4. Autologout Timer .......................................... 9 5.5. Multiple Commands in Progress ............................. 9 6. Client Commands ........................................... 10 6.1. Client Commands - Any State ............................... 10 6.1.1. CAPABILITY Command ........................................ 10 6.1.2. NOOP Command .............................................. 11 6.1.3. LOGOUT Command ............................................ 11 6.2. Client Commands - Non-Authenticated State ................. 12 6.2.1. AUTHENTICATE Command ...................................... 12 6.2.2. LOGIN Command ............................................. 14 6.3. Client Commands - Authenticated State ..................... 14 6.3.1. SELECT Command ............................................ 15 6.3.2. EXAMINE Command ........................................... 16Show full document text