| The Internet Message Access Protocol (commonly known as IMAP, and previously called Interactive Mail Access Protocol) is an application layer Internet protocol used for accessing e-mail on a remote server from a local client. IMAP and POP3 (Post Office Protocol version 3) are the two most prevalent Internet standard protocols for e-mail retrieval. Both are supported by virtually all modern e-mail clients and servers, although in some cases in addition to vendor-specific, typically proprietary, interfaces. For example, while proprietary protocols are typically used between Microsoft's Outlook client and an Exchange server and between IBM's Notes client and a Domino server, all of these products also support IMAP and POP3 allowing interoperability with other servers and clients. The current version of IMAP, IMAP version 4 revision 1 (IMAP4rev1), is defined by RFC 3501.
IMAP was designed by Mark Crispin in 1986 [1] as a modern alternative to the widely used POP e-mail retrieval protocol. Fundamentally, both of these protocols allow an e-mail client to access messages stored on an e-mail server. Important capabilities in IMAP but not POP3 include:
* Support for both connected and disconnected modes of operation
When using POP3, clients typically connect to the e-mail server very briefly, only as long as it takes to download any 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 much faster response times.
* Support for multiple clients simultaneously connected to the same mailbox
The POP3 protocol assumes the currently connected client is the only client connected to the mailbox. In contrast, the IMAP4 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.
* Support for access to MIME parts of messages and partial fetch
Nearly all internet e-mail is transmitted in MIME format. MIME allows 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.
* Support for message state information to be kept on the server
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 multiple clients accessing the same mailbox at different times can detect state changes made by other clients.
* Support for access to 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.
* Support for 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.
* Support for a well defined extension mechanism
Reflecting the experience of earlier Internet protocols, IMAP defines an explicit mechanism by which it may be extended. Many extensions to the base protocol have been proposed and are in common use.
Whether using POP3 or IMAP4 to retrieve messages, clients use the SMTP protocol to send messages. E-mail clients are sometimes referred to as either POP or IMAP clients, but in both cases SMTP is also used.
Most e-mail programs also use LDAP for directory services.
IMAP is often used in large networks; for example, a college campus mail system. IMAP allows users to access new messages instantly on their computers, since the mail is stored on the network. With POP3, users have to either download the e-mail to their computer or access it via the web. Both ways take longer than IMAP, and you have to either download any new mail or "refresh" the page to see the new messages.
Unlike many older Internet protocols, IMAP4 natively supports encrypted login mechanisms. Plain text transmission of passwords in IMAP4 is also possible. Because the encryption mechanism to be used must be agreed between the server and client, plain text passwords are used in some combinations of clients and servers (typically Microsoft Windows clients and non-Windows servers). It is also possible to encrypt IMAP4 traffic using SSL, either by tunneling IMAP4 communications over SSL on port 993, or by issuing "STARTTLS" within an established IMAP4 session.
IMAP4 works over a TCP/IP connection using network port 143.
The following IMAP-servers are common:
* Binc IMAP - uses Maildir format, designed to be familiar for users of qmail and qmail-pop3d [2]
* Citadel
* Courier IMAP - uses Maildir format.
* Cyrus IMAP server - uses a format similar to Maildir or MH.
* Dovecot - Secure IMAP server
* FirstClass Server - FirstClass Server [3]
* IBM Lotus Domino Server
* Mac OS X Server
* Merak Mail server
* Mercury/32 - Mercury/32 [4]
* Microsoft Exchange Server
* Mirapoint [5]
* Stalker Communigate Pro [6]
* UW IMAP - supports multiple formats including mbox, mbx, MMDF, tenex, mtx, MH, mx, and Usenet news spools.
* Zimbra [7]
The following IMAP-clients are common (see also List of mail clients):
text-based clients:
* UW PINE - One of the first IMAP clients
* Mutt - e-mail client found in many Linux distributions
GUI clients:
* Novell Evolution
* KMail
* Microsoft Outlook Express
* Microsoft Outlook
* Mozilla Thunderbird - A cross-platform and increasingly popular mail client.
* Mac OS X Mail
|