IMAP (Internet Message Access Protocol) is an email protocol. It differs from other commonly used email protocols such as POP3 in that it is much richer, which means the email client (aka Mail User Agent or MUA) can ask the server to perform more sophisticated operations, which usually saves time (or at least, that's the idea). IMAP also allows you to keep your emails on a central server and access those emails from varied locations and platforms (e.g. at home, at the office, on holiday, while visiting friends).

IMAP is currently at version 4, revision 1, which is commonly abbreviated to IMAP4rev1, and is described in RFC2060, written by Mark Crispin.

One of IMAP's characteristics is to minimise the load on the network link between client and server. More efficient use of the link is especially useful when the link has high latency and/or low bandwidth. To achieve this, IMAP has a relatively rich search/query language (compared to POP3), which enables much of the querying/searching to be done on the server-side - which obviously helps reduces the amount of data sent between client and server.

In the case where the connection is 'high' quality (e.g. a LAN), IMAP is still very useful because it is designed to allow the server to store the user's mailboxes permanently (this can be achieved with POP3, but it is not recommended, and is much less convenient or efficient than using IMAP). This means a user can access their email on a central IMAP server from a number of different MUAs on different platforms and geographical locations, and still be able to keep track of new messages, and access any or all of the email messages stored on the IMAP server.

Most IMAP-savvy MUAs will cache message contents in a local email database if the messages have ever been downloaded from the server, but it is perfectly possible to connect to an IMAP server from an IMAP client you have never used, and browse mailboxes, search for messages and read any message stored in your mailboxes on the IMAP server.

IMAP also provides specific access to individual components of a message, such as the body text, any MIME attachments, and so on. Again, this allows more efficient use of the server/client link.

A number of supplementary RFCs add various extensions to the IMAP4rev1 specification, such as stronger authentication methods, transparent server forwarding, access control lists, and so on.

Support for IMAP in MUAs has been historically a bit patchy, with varying levels of quality with respect to compatibility, efficiency, reliability and user interface, but this should improve with time.