emailondeck logo

You are

NEW !!
Chrome Extension
Firefox Extension
API Access?
Advanced Features?
EmailOnDeck PRO

Insightful Articles:

Using a temporary email for free trials
March. 29th 2016
Throw away email address for one time use sign up
February. 18th 2016
Temporary Email for Bay Area FasTrak Violation
September. 10th 2020
Fake email generator vs Temporary email generator
February. 16th 2016
Top mobile games for Android and registration via anonymous email
October. 16th 2017
How do temporary emails work?
February. 12th 2016

Uncovering IMAP, The Email Protocol You Didn't Know You Needed

Guest Author:  Jennifer Radcliff
Jennifer Radcliff photo

In the 1960s, the first email system was established as part of the ARPANET project, which was a predecessor to the internet. The earliest email system, referred to as Simple Mail Transfer Protocol (SMTP), was created to allow users to communicate text messages between computers.

As an extension to SMTP, the Internet Mail View Protocol (IMAP) was developed in the 1980s, enabling users to access and handle their email messages on a remote server. IMAP enabled users to see, organize, and download their email messages without needing to store them locally.


Mark Crispin designed IMAP (Internet Mail Access Protocol) in 1986 while working at the University of Washington. It was designed as an addition to the existing Simple Mail Transfer Protocol (SMTP). This enabled users to access and manage their email messages on a remote server, as opposed to just receiving them.

It was not until the early 1990s that major email clients began to support the protocol.

Email Client Support

The initial version of Microsoft Outlook, which was introduced in 1992, supported IMAP. Similarly, the 1992 initial release of the Eudora email client had IMAP capability.

In the late 1990s and early 2000s, several popular email clients such as Apple Mail, Mozilla Thunderbird, and Novell GroupWise added IMAP support.

Notably, the adoption of IMAP by these prominent email clients contributed to its widespread use as a protocol for accessing and managing email messages on remote servers. Since then, IMAP has become a popular protocol for accessing and managing email messages on remote servers.

How IMAP operates

IMAP is a technology used to view and manage email messages on a distant server. The operation is as follows:

  1. Using an IMAP-enabled email client, such as Outlook or Thunderbird, a user connects to the email server.
  2. The user authenticates with the server, by submitting their username and password,
  3. The server responds by giving the user a list of accessible email folders (such as Inbox, Sent, and Drafts).
  4. The user picks a folder to see, after which the server transmits a list of the messages located within that folder.
  5. The user can then select a specific message to examine, and then the server transmits the message's contents to the client.
  6. The user can also conduct server-side operations such as relocating, duplicating, and removing messages.
  7. In addition, the user can create new folders, mark messages as read or unread, and flag them.
  8. At the conclusion of the session, the user disconnects from the server, and any changes performed during the session are saved on the server.

With IMAP, the email and its attachments remain on the server, allowing the user to view them from numerous devices, but with POP, the email is downloaded to the device and erased from the server.

IMAP code

The following is an example of advanced PERL code for an email client connecting to the IMAP protocol and sending an email:

# Import required library files import imaplib # Connect to the email server server = imaplib.IMAP4_SSL('') # Login to the server with the credentials provided. server.login('username', 'password') # Select the inbox folder for server access.'Inbox') # Construct the email message message = "From:\r\nTo:\r\nSubject: IMAP Test Email\r\n\r\nThis is an IMAP test email." # Send the message to the email server.append('Inbox', ", imaplib.Time2Internaldate(time.time()), message.encode()) # Logout from the server server.logout()

This code establishes a connection to the email server using the imaplib library and the IMAP4 SSL protocol, authenticates with the server using the supplied credentials, and picks the inbox folder. The program then composes and sends an email using the append function. Ultimately, it logs off the server.

Notably, this is a very high-level example, and in reality, many other considerations and procedures are required to construct a completely functional email client. Additionally, it is essential to utilize the correct libraries and ports for the email provider to which you wish to connect, and to consider security and best practices when dealing with sensitive data such as credentials and emails.

The advantages of the IMAP protocol

  • Permits users to read and manage their email messages on a remote server using any device.
  • Permits users to see, organize, and download their email messages without downloading them to their local machine.
  • Provides access to several email folders, including Inbox, Sent, and Drafts.
  • Allows users to mark communications as read or unread, as well as flag messages for further action.
  • This feature enables users to move, copy, and delete messages on the server.
  • Permits the creation of new folders.

The shortcomings of the IMAP protocol

  • Requires a continual internet connection to access email messages.
  • Keeping the email and its attachments on the server can raise security problems if the server is not adequately protected.
  • Some email providers may limit the amount of IMAP email storage space accessible.
  • More sophisticated than POP, which can make it difficult to set up and maintain.


IMAP, IMAP2, and IMAP4 are all Internet Mail Access Protocol versions. The distinction between them is in the functionality they offer and how they are implemented.

IMAP stands for Internet Mail Access Protocol and was first described at Stanford University in 1986 by Mark Crispin. It is the first version of the protocol and offers rudimentary access and management of email messages on a distant server.

IMAP2: IMAP2 is an improved version of the 1988-released IMAP protocol. It adds various new capabilities to the original protocol, such as the ability to search for specific messages and support for multiple mailboxes.

IMAP4: IMAP4 is the most recent version of IMAP and was stated for the first time in 1993. It is an extension of IMAP2 that includes additional features such as offline message access, message status flagging, and the ability to alter mailbox hierarchies. Additionally, a new protocol for searching and sorting messages is defined.

IMAP4 is the most recent and commonly used version of the IMAP protocol; it is a development of IMAP2 that adds numerous new features and capabilities.

What is the P-IMAP protocol?

P-IMAP (Post Office Protocol - Internet Mail Access Protocol) is a mix of Post Office Protocol (POP) and Internet Mail Access Protocol (IMAP) that provides a more advanced solution for accessing and handling email messages on remote servers.

POP is a protocol for getting and downloading email messages from a remote server to a local computer. It is straightforward and straightforward to use, but it has several limitations, like the inability to read email messages from various devices and the requirement to download messages to the local computer.

P-IMAP is a hybrid protocol that gives the advantages of both protocols. It permits users to obtain email messages from a remote server using POP and subsequently handle those messages using IMAP. This advanced approach for accessing and handling email messages on remote servers is meant to alleviate the limitations of POP.

P-IMAP is neither a standard protocol, nor is it generally implemented.

SSL and TLS certified