Email Protocols – POP3 vs IMAP and SMTP
In an earlier post, about using Thunderbird to filter spam emails, I mentioned that IMAP has many advantages over POP3. I then skirted over the subject and never really explained either protocols. Here is a quick overview of how both work and why you may choose one over the other. I’ll also explain a little about SMTP and what that means.
The role of the Mail server and the Email Client
Typically most people read and send emails using an email client. This is typically either an application (such as Thunderbird on Windows, Mac OS X or Linux, or Windows Mail), or through a web interface (such as those provided by Horde or SquirrelMail). These applications only act as a front end to the user, and the task of sending the email across the Internet to its destination is performed by mail servers. In email terminology the client is referred to as the Mail User Agent (MUA).
The main function of the mail server, communicating with other mail servers, is split into two parts. The part that receives incoming emails across the Internet is the Mail Transport Agent (MTA), and the part that sends emails to a remote MTA is called a Mail Delivery Agent (MDA). These could be split across separate programs, but are often implemented by the same application. Common MTA / MDAs include Sendmail, Postfix and Exim which are all available on Linux.
If you are running an email client directly on the server then that is it, although the most common way of doing that now is by web mail. There is however another layer that sits between the MTA and the email client (MAU) for incoming emails. This is normally POP3 or IMAP, which provides a way of retrieving emails from the remote server to a local client.
More Information
For more information see the RFCs (Request for Comments):