This article is for those interested in learning details of the email transmission process and diving into the history of SMTP. We will outline what is important to know about SMTP when working with emails. We will also provide you with a list of related resources about the email infrastructure.
In simple words, SMTP is a simple mail transfer protocol — a most common standard for mail servers to send and receive messages over the internet. It was first introduced in 1982, almost 40 years ago. That is a long period of time in terms of technology development. Why do we still use it? How has it changed over the years and what can be expected?
History of email and SMTP evolution
Emails existed even before the SMTP protocol was invented. The first email reference goes back to the early 1960s. Back then, it looked like sharing files on a common disk or exchanging messages between terminal users. The MAILBOX system used in MIT (Massachusetts Institute of Technology) is considered one of the first of that type.
However, that was not exactly an email, as it allowed exchanging messages inside one terminal (computer). At that time, there were no networks and no email addresses.
The first email between different computers was sent in 1971 through ARPANET, a network established by the US Department of Defense. Here, we should mention the first name in our historical journey: Ray Tomlinson. He is known as the inventor of email, and it was he who created the first email client. He is also a father of the integral email attribute — the “@” sign used to signify message users on specific machines (user@computer).
Ray Tomlinson, 1998 © Henry Horenstein
The ARPANET-based email system was a forerunner of the modern internet and SMTP protocol, in particular. The SMTP protocol was introduced ten years later by Jon Postel, the “god of the Internet” of that time. He was also working on the implementation of the ARPANET protocols in the early 1970s. In November 1981, he published RFC788 with a title “Simple Mail Transfer Protocol”. Here is how its history officially began.
Jon Postel. Photo by Irene Fertik, USC News Service. Copyright 1994, USC
At the same time, the first mail transfer agent (a software that transfers electronic messages between computers with SMTP) was released. It was Sendmail, which had become the main version (and is still used today).
SMTP hasn’t drastically changed over the years. However, in the 1980s electronic messages were used internally, mostly by governmental and educational institutions. Their transmission with SMTP was fast and reliable but didn’t contain any security mechanisms.
Model for SMTP use presented in RFC788
With the development of the internet and digital business in the early 1990s, SMTP usage became more widespread and commercial. Sales and advertising also went online, and spam thereby became a problem.
To cope with the new reality and requirements, a framework for extending SMTP was introduced in 1995. ESMTP, the Extended Simple Mail Transfer Protocol, was described in RFC1869. There were three main changes:
- The new EHLO command for starting an SMTP session was introduced instead of HELO. Both should be still accepted by any SMTP server, but EHLO is required to inform the receiving server that it supports ESMTP extensions.
- A registry of SMTP service extensions defined optional EHLO keywords and verbs.
- Additional parameters to the SMTP MAIL FROM and RCPT TO commands were announced.
The next important stage of the SMTP evolution was the introduction of the message submission standard (RFC2476). This happened at the end of 1998. The message submission standard was designed to separate messages into submissions and transfers.
Initially, SMTP was created to only transfer messages (with the help of MTAs — mail transfer agents). This was enough for a successful and reliable message exchange in terms of one organization.
Be liberal in what you accept, and conservative in what you send.Jon Postel
RFC-1122 (originates in RFC760)
But then the message sending process became more complicated and involved MSAs — message submission agents. They were required to control rewriting the original messages to fix formatting issues when sending messages outside the organization. The message submission standard first introduced authentication for email sending.
In the beginning of 1999, SMTP Service Extension for Authentication (RFC2554) was presented as well. It actually defined the AUTH command and authentication mechanism.
The modern SMTP is the ESMTP version, which was last updated in 2008 as stated in RFC5321.
There are many SMTP-related words and terms that are often confused, such as SMTP server, SMTP relay, MTA, etc. To understand the difference, let’s figure out how SMTP actually works and what’s going under the hood of the email sending process.
Electronic messages transmission is often compared to offline delivery by a postman. The model is also very similar to the international courier service.
Imagine that you need to send a package to your customer (a contract, invoices, product samples, etc.). You prepare the content of your message and put it in an envelope indicating your name and address along with the recipient’s. In an electronic world, the envelope is provided by your mail user agent (MUA) and the rules of writing “From” and “To” addresses are defined by the SMTP protocol.
Then you call a courier (MUA, your email client) to pick up your envelope or deliver this package to the courier service office yourself (your own email app).
Then your package has to be delivered to the freight forwarding hub (an SMTP server) by a truck or an airplane (mail transfer agent, MTA). For emails, this part of the delivery process is called SMTP relay. Then your package has to be processed and assigned for delivery to the recipient. The procedure of its retrieval is regulated by customs (IMAP4 or POP3 protocol to receive emails).
- SMTP server is an application for sending emails. It receives emails from email apps or clients (MUAs) and relays to other servers that can retrieve messages.
- SMTP relay is a process of transferring between SMTP servers hosted on different domains (Gmail and Yahoo, for example).
- MTA is a sendmail program that processes and transfers emails.
Of course, this is a very simplified explanation of the email delivery process. To dive into the technical details, read our following articles:
- What is SMTP Server
- What is SMTP Relay
- Difference Between IMAP, POP3, and SMTP Email Protocols
- What is an MTA?
SMTP role, or other ways of sending emails
SMTP is the main protocol used for sending emails. Actually, it is the only dedicated method of email sending. Regardless of the way of sending emails, SMTP at some point will be involved.
However, there are two common methods of managing email sending from your application: integrating an SMTP server or using an email API.
Email API is not actually dedicated to email sending — it is just a name for using HTTP protocol for email sending. HTTP is the common web protocol used for transferring data on all types of computer networks. API stands for the Application Programming Interface and incorporates functionality of the third-party service to handle your emails.
You can choose whether you want to set up your own SMTP server or use a cloud-based solution, but API is always provided by a third party.
Each of these methods has its peculiarities and pros and cons, which we have explained in How to Send Email Using API or SMTP. If you don’t want to study this topic in detail, here are a few major insights:
- SMTP is easier to integrate and is suitable for casual senders
- Email API integration requires coding skills
- SMTP is platform-independent and easy to test
- Email API provides better deliverability and wider analytics options
- SMTP is mostly used for integration with a CRM system or mail client
- Email API is preferred by app developers and bulk senders
Final words and a list of useful articles
We have thoroughly inspected these email infrastructure topics and explained them in many articles on our blog. This post was intended to get you acquainted with the most common SMTP terms, its usage, and tell you the story of its evolution. If you need more technical information and want to advance your knowledge of SMTP and email infrastructure in general, we recommend reading the following articles:
- All About SMTP Ports
- Email Testing Checklist
- Free SMTP Servers List: 10 options to Send High Volume Emails
- Postfix vs. Sendmail vs. Exim
- Send Emails with Gmail API
- Set Up SMTP Server
- Test SMTP Relay
- What the SMTP Authentication Is and Why You Can’t Ignore It
- What SMTP Queue Is and How to Manage Your Emails
- WordPress SMTP Settings