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 email 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 email retrieval. Both are supported by virtually all modern email 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  (http://www.imap.org/about/history+status.html) as a modern alternative to the widely used POP3 email retrieval protocol. Fundamentally, both of these protocols allow an email client to access messages stored on an email 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 email 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 email 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's 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. Email clients are sometimes referred to as either POP or IMAP clients, but in both cases SMTP is also used.
Most email programs also use LDAP for directory services.
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 (see also List of mail servers):
- UW IMAP - uses mbox format. (http://www.washington.edu/imap/)
- Mirapoint  (http://www.mirapoint.com/)
- Courier IMAP - uses Maildir format. (http://www.courier-mta.org/imap/)
- Microsoft Exchange Server
- Cyrus IMAP server  (http://asg.web.cmu.edu/cyrus/imapd/)
- Stalker Communigate Pro  (http://www.stalker.com/CommuniGatePro/)
- Merak Mail server  (http://www.merakmailserver.com/)
- Binc IMAP - uses Maildir format, designed to be familiar for users of qmail and qmail-pop3d  (http://www.bincimap.org/)
- Dovecot - Secure IMAP server  (http://www.dovecot.org/)
- Novell Evolution -  (http://www.gnome.org/projects/evolution/)
- RFC 3501 (HTML version (http://www.faqs.org/rfcs/rfc3501.html)) - specification of IMAP version 4 revision 1
- The IMAP connection (http://www.imap.org/) - resources for developers of programs using the IMAP protocol.
- IMAP connection's listing of products and service providers supporting IMAP (http://www.imap.org/products/)