Home
Knowledge Base
Credits
Site Map
 

Mail Access Protocols

Today, mail access uses a client server architecture, the typical users email with a client that
executes on the user's end system. By executing a mail client on a local PC, users enjoy a rich
set of features, including the ability to view multimedia messages and attachments. A typical
user runs a user agent on the local PC but access its mailbox stored on an always on shared
mail server. This mail server is shared with other users and is typically maintained by the
user's ISP. There are currently a number of popular mail access protocols, including Post
Office Protocol—Version 3 (POP3), Internet Mail Access Protocol (IMAP), and HTTP.

SMTP is used to transfer mail from the sender's mail server to the recipient's mail server;
SMTP is also used to transfer mail from the sender's user agent to the sender's mail server.
A mail access protocol, such as POP3 is used to transfer mail from the recipient's mail server
to the recipient's user agent.

POP3 is an extremely simple mail access protocol in which its functionality is rather limited.
POP3 begins when the user agent opens a TCP connection to the mail server on port 110.
With TCP connection established, POP3 progresses through three phases: authorization,
transaction, and update. During the first phase, authorization, the user agent sends a
username and a password to authenticate the user. During the second phase, the user agent
retrieves messages; also during this phase, the user agent can mark messages for deletion,
remove deletion marks, and obtain mail statistics. The third phase, update, occurs after the
client has issued the quick command, ending the POP3 session; at this time, the mail server
deletes the messages that were marked for deletion.

In a POP3 transaction, the user agent issued commands, and the server responds to each
command with a reply. There are two possible responses: +ok, used by the server to indicate
that the previous command was fine; and –ERR used by the server to indicate that something
was wrong with the previous command. During a POP3 session between a user agent and the
mail server, the POP3 server maintains some stat information; in particular, it keeps track of
which user messages have been marked deleted. However, the POP3 server does not carry
state information across POP3 sessions. This lack of state information across sessions
greatly simplifies the implementation of a POP3 server.

Like POP3, IMAP is a mail access protocol. It has many more features than POP3, but it is
also more complex. An IMAP server will associate each message with a folder, when a
message first arrives at the server; it is associated with the recipient's INBOX folder. The
recipient can then move the message into a new user created folder, read the message, delete
the message, and so forth. IMAP protocol provides command to allow users to create folders
and moves messages from one folder to another. IMAP provided commands that allow users
to search remote folders for messages matching specific criteria. Unlike POP3, an IMAP
server maintains user state information across IMAP sessions. It also has commands that
permit a user agent to obtain components of messages. It can obtain just the message header
of a message or just one part of a multipart MIME message.

Web based email is provided by just about every ISP site as well as every major university
and corporation. With this service, the user agent is an ordinary Web browser, and the user
communicated with its remote mailbox via HTTP. Web based email is enormously
convenient t=for the user on the go. The user need only be able to access a browser in order
to send and receive messages. The browser can be in an Internet café, a friend's house, on a
PDA, or a hotel room with a Web TV. As with many IMAP, users can organize their messages
in a hierarchy of folders on the remote server. In fact, many implementations of Web based
email use an IMAP server to provide folder functionality. Access to the folders and messages
is provided with scripts that run in an HTTP server; the scripts use the IMAP protocol to
communicate with IMAP server.