Internet Message Access Protocol - Version 4
RFC 1730

Document Type RFC - Proposed Standard (December 1994; No errata)
Obsoleted by RFC 2060, RFC 2061
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html 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 ...........................................   16
Show full document text