There are several different approaches to building a distributed electronic mail infrastructure. Among them: shared file-system strategies, proprietary LAN-based protocols, the X.400 P7 protocol, and the Internet message access protocols. The purpose of this paper is to briefly consider the Internet-based protocols: POP (Post Office Protocol), DMSP (Distributed Mail System Protocol), and IMAP (Internet Message Access Protocol). Of the three, POP is the oldest and consequently the best known. DMSP is largely limited to a single application, PCMAIL, and is known primarily for its excellent support of "disconnected" operation. IMAP offers a superset of POP and DMSP capabilities, and provides good support for all three modes of remote mailbox access: offline, online, and disconnected.
POP was designed to support "offline" mail processing. In the offline paradigm, mail is delivered to a (usually shared) server, and a personal computer user periodically invokes a mail "client" program that connects to the server and downloads all of the pending mail to the user's own machine. Thereafter, all mail processing is local to the client machine. Think of the offline access mode as a kind of store-and-forward service, intended to move mail (on demand) from the mail server (drop point) to a single destination machine, usually a PC or Mac. Once delivered to the PC or Mac, the messages are then deleted from the mail server. Although the limitations of offline access have triggered interest in using POP in online mode, POP simply doesn't have some of the functionality needed for high-quality online (or disconnected) operation. Indeed, POP's "pseudo online" mode of operation, wherein client programs leave mail on the server, often depends on pervasive availability of a remote file system protocol in order for the mail client to access or update saved-message folders or message state information such as status flags.
IMAP can also do offline processing, but its special strength is in online and disconnected operation. In online mode, mail is again delivered to a shared server, but the mail client does not copy it all at once and then delete it from the server. It's more of an interactive client-server model, where the client can ask the server for headers, or the bodies of specified messages, or to search for messages meeting certain criteria. Messages in the mail repository can be marked with various status flags (e.g. "deleted" or "answered") and they stay in the repository until explicitly removed by the user --which may not be until a later session. In short: IMAP is designed to permit manipulation of remote mailboxes as if they were local. Depending on the IMAP client implementation and the mail architecture desired by the system manager, the user may save messages directly on the client machine, or save them on the server, or be given the choice of doing either.
Here is a brief comparison of POP and IMAP technologies:
- Characteristics common to both POP and IMAP:
-Both can support offline operation.
-Mail is delivered to a shared, "always up" mail server.
-New mail accessible from a variety of client platform types.
-New mail accessible from anywhere in network.
-Protocols are open; defined by Internet RFCs.
-Freely available implementations (including source) available.
-Clients available for PCs, Macs, and Unix.
-Commercial implementations available.
-Internet oriented; no SMTP mail gateways required.
-Protocols deal with access only; both rely on SMTP to send.
-Both support persistent message IDs (for disconnected operation). - POP protocol advantages:
-Simpler protocol; easier to implement.
-More client software currently available. - IMAP protocol advantages:
-Can manipulate persistent message status flags.
-Can store messages as well as fetch them.
-Can access and manage multiple mailboxes.
-Can support concurrent updates and access to shared mailboxes.
-Suitable for accessing non-email data; e.g., NetNews, documents.
-Can also use offline paradigm, for minimum connect time and disk use.
-Companion protocol defined for user configuration management (IMSP).
-Constructs to permit online performance optimization, especially over low-speed links.