Understanding Email Protocols: POP3, IMAP, and SMTP
Wednesday February 12, 2020
Which Email Protocol do I choose? IMAP or POP3?
Email is, by far, the most common means of online communication these days. Believe it or not, email dates back nearly 50 years and has seen little change in that time. An email sent in the early 1970s would look much as it would today. The key to email’s success is that it is based on a series of well-defined standards with a decentralized design that will likely help email remain in wide-spread use for a very long time.
Email operates using a classic client-server model. A client is a program that end-users (you) interact with. Common email clients are Outlook, Thunderbird, various email clients built into operating systems (like Microsoft Mail and Apple Mail), and web-based email clients (Hotmail, Gmail, to name a couple). This is where incoming messages are read and outgoing messages are composed.
The server is another program that makes the whole system work behind the scenes (at least from the end-user point of view). Email clients connect to the server regularly to check for new messages and to dispatch outgoing emails. Each email server connects to the global network of email servers in order to route mail all over the world, making sure each message is delivered to the correct server, and eventually to the recipient when their client connects to their own server.
Configuring Your Email Client
Inbound and outbound email messages are handled by different protocols, and often – especially with larger email systems – by separate servers. Configuration of the client requires you to know the hostname and port used for both inbound (new mail) and outbound (sent) messages. This information is often found on the mail server’s interface, if you are managing your own email server. Otherwise, it can be requested from the server’s administrator.
Outbound (sent) messages are handled almost universally by SMTP, so we’ll address that first.
SMTP (Simple Mail Transport Protocol)
Outgoing email configuration is usually as simple as specifying the SMTP server, network port, and supplying credentials for authentication. The SMTP server is the device your email client connects to in order to relay messages sent by you to the email server corresponding to the recipient’s email account. It is typically something like smtp.domain.com or mail.domain.com.
A network port is a thread of a network connection. If you transmit data on port xyz, it will come out port xyz on the other end. SMTP historically uses port 25, but modern systems tend towards port 587 these days. Occasionally you will see 465 (deprecated), 2525 (non-standard), or less commonly a unique port number.
Finally, you will need to authenticate with your SMTP server to prove that you are authorized to send email through this email relay server. This will be the same username and password you use to log into your email account.
Configuring a client for incoming email is a bit more complex because there are two commonly-used methods to choose between. Some email servers may only support one method, so your decision has already been made for you.
POP3 (Post Office Protocol)
POP3 is a protocol that mail clients use to download email messages from an email server and store them on the local machine. This is the original protocol that is used to fetch email from a mail server and the most widely available. When using POP3 your mail client will contact the mail server to check for new messages. If any are found, they are downloaded to the email client and deleted from the server (there is often a setting to delay this deletion).
POP3 was at its prime during the age of dial-up and transmits a minimal amount of data between client and server. It also keeps the space used by your email account low since messages are only stored on the server until they are downloaded by the client. While these were both big selling points when dial-up was the norm, they are pretty much inconsequential now unless you are dealing with a poor or spotty internet connection.
POP3 can be problematic when using multiple clients to access the same email account. Since messages are deleted after delivery, by default, they only appear on the client that downloaded them. This can lead to some messages on your phone client, and others on your desktop client, though this can be mitigated somewhat by delaying the deletion on the server. Additionally, POP3 clients lose all messages if the data on your client device is lost or destroyed with no way to recover them if you don’t have a backup.
Configure POP3 on your client by entering the server name, network port, and authentication. POP3 typically uses port 110 for unencrypted connections, and port 995 when encryption is used.
IMAP (Internet Message Access Protocol)
IMAP differs from POP3 in that it leaves email on the server. When a client connects to check for new mail, the latest messages are synchronized with the server, downloading copies of new messages. IMAP clients often cache a number of messages on the client for off-line access, but local storage use is minimal. This fits well with the always-online reality of today, and doesn’t bog down mobile devices with large email archives, where storage can be at a premium. You can access your mail from any number of IMAP clients and see the same messages, and losing a device or upgrading to a new one doesn’t cost you your email history.
In most ways, IMAP is superior to POP3, but it may suffer when your internet connection is spotty or you want to have access to your entire email account off-line.
Configuration of a client for IMAP uses the typical server name, network port, and authentication we’ve seen before. In this case, the standard ports are 143 for a standard connection, and 993 for an encrypted one.
Which do I choose? IMAP or POP3?
POP3 is an old protocol and it has had its time and place. As a result, IMAP was designed to address the shortcomings of POP3 and keep up with how email is used in this modern day and age. Given a choice, go with IMAP. There are a few situations where POP3 may be prefered, and in some cases is the only option available. Should you find yourself having to use POP3, do yourself a favor and set it to put off email deletion on the server for as long as possible (indefinitely, if you can).
Hopefully, this guide has helped you better understand how email works – which is a good thing, because it will likely be around for a long time. I find it interesting to see how the protocols that facilitate client-server communication have evolved to keep up with the times, yet the appearance of an email message has remained essentially unchanged.