The Internet Message Access Protocol
(IMAP) is one of the two most prevalent Internet standard protocols for e-mail
retrieval, the other being the Post Office Protocol.
Virtually all modern
e-mail clients and mail servers support both protocols as a means of
transferring e-mail messages from a server, such as those used by Gmail, Thunderbird, Microsoft Outlook.
IMAP supports both on-line and off-line modes of operation. E-mail clients using
IMAP generally leave messages on the server until the user explicitly deletes
them. This and other facets of IMAP operation allow multiple clients to access
the same mailbox.
Most e-mail clients support either POP or IMAP to retrieve
messages; however, fewer Internet Service Providers (ISPs) support IMAP. IMAP
offers access to the mail store; the client may store local copies of the
messages, but these are considered to be a temporary cache. E-mail messages are
usually sent to an e-mail server that stores received messages in the
recipient's e-mail mailbox. The user retrieves messages with either a web
browser or an e-mail client that uses one of a number of e-mail retrieval
protocols. E-mail clients can usually be configured to
use either POP or IMAP to retrieve e-mail and in both cases use SMTP for
sending.
IMAP is often used in large networks, for
example, a college campus mail system. IMAP allows users to access new messages
as fast as the network can deliver them to their computers. With POP, users
either download the e-mail to their computer or access it via the web. Both
methods take longer than IMAP over a local network, and the user must download
any new mail to see the new messages.
Advantages
over POP Connected and disconnected modes of operation When using POP, clients
typically connect to the e-mail server briefly, only as long as it takes to
download new messages. When using IMAP4, clients often stay connected as long as
the user interface is active and download message content on demand. For users
with many or large messages, this IMAP4 usage pattern can result in faster
response times.
Multiple clients simultaneously connected to the same mailbox
The POP protocol requires the currently connected client to be the only client
connected to the mailbox. In contrast, the IMAP protocol specifically allows
simultaneous access by multiple clients and provides mechanisms for clients to
detect changes made to the mailbox by other, concurrently connected, clients.
Access to MIME message parts and partial fetch Nearly all internet e-mail is
transmitted in MIME format, allowing messages to have a tree structure where the
leaf nodes are any of a variety of single part content types and the non-leaf
nodes are any of a variety of multipart types. The IMAP4 protocol allows clients
to separately retrieve any of the individual MIME parts and also to retrieve
portions of either individual parts or the entire message.
These mechanisms
allow clients to retrieve the text portion of a message without retrieving
attached files or to stream content as it is being fetched. Message state
information Through the use of flags defined in the IMAP4 protocol, clients can
keep track of message state; for example, whether or not the message has been
read, replied to, or deleted. These flags are stored on the server, so different
clients accessing the same mailbox at different times can detect state changes
made by other clients. The IMAP4 protocol supports both pre-defined system flags
and client defined keywords. System flags indicate state information such as
whether a message has been read. Multiple mailboxes on the server IMAP4 clients
can create, rename, and/or delete mailboxes (usually presented to the user as
folders) on the server, and move messages between mailboxes.
Multiple mailbox
support also allows servers to provide access to shared and public folders.
Server-side searches IMAP4 provides a mechanism for a client to ask the server
to search for messages meeting a variety of criteria. This mechanism avoids
requiring clients to download every message in the mailbox in order to perform
these searches. Disadvantages of IMAP While IMAP remedies many of the
shortcomings of POP, this inherently introduces additional complexity. Much of
this complexity (e.g., multiple clients accessing the same mailbox at the same
time) is compensated for by server-side workarounds such as maildir or database
backends. Unless the mail store and searching algorithms on the server are
carefully implemented, a client can potentially consume large amounts of server
resources when searching massive mailboxes. IMAP4 clients need to maintain a
TCP/IP connection to the IMAP server in order to be notified of the arrival of
new mail. Notification of mail arrival is done through in-band signaling, which
contributes to the complexity of client-side IMAP protocol handling somewhat.
Unlike some proprietary protocols which combine sending and retrieval
operations, sending a message and saving a copy in a server-side folder with a
base-level IMAP client requires transmitting the message content twice, once to
SMTP for delivery and a second time to IMAP to store in a sent mail folder.
This
is remedied by a set of extensions defined by the IETF LEMONADE Working Group
for mobile devices: URLAUTH (RFC 4467) and CATENATE (RFC 4469) in IMAP and BURL
(RFC 4468) in SMTP-SUBMISSION. POP servers don' t support server-side folders so
clients have no choice but to store sent items on the client. Many IMAP clients
can be configured to store sent mail in a client-side folder. In addition to the
LEMONADE "trio", Courier Mail Server offers a non-standard method of sending
using IMAP by copying an outgoing message to a dedicated outbox folder.
Source: Wikipedia, the free encyclopedia