Email Protocols·Lesson 2 of 8
SMTP
What SMTP Is
When you write an email and hit send, something has to carry it from your app to the other person's mail server, possibly hopping across several servers on the way. That something is — the Simple Mail Transfer Protocol. It is the rulebook every mail server uses to hand a message onward until it reaches its destination. SMTP is a push protocol: it always moves mail forward, away from the sender, toward wherever it needs to go.
The one-line summary
SMTP is a push protocol for outgoing mail. It moves a message from your app to your mail server, and from server to server — but it can never reach into a mailbox and pull messages out. Fetching mail is POP3 or IMAP's job.
The delivery van, not the mailbox
Picture a postal delivery van. Its whole purpose is to pick up letters and carry them forward — from your local office to a sorting center to the destination town. It hands mail off; it never opens someone's mailbox to take letters out. SMTP is that van: it pushes mail along the chain of servers, but collecting mail from your box is a completely different task.
How the Conversation Works
SMTP is text-based, which means a sending machine and a receiving machine exchange short, readable commands — almost like a scripted conversation. The sender greets the server, says who the mail is from, says who it's for, then sends the actual message body. In plain terms, the exchange goes like this:
A simplified SMTP exchange
- HELO / EHLO — the sender introduces itself and says hello to the server
- MAIL FROM — the sender states the sender's email address
- RCPT TO — the sender states the recipient's email address (repeated for each recipient)
- DATA — the sender sends the message itself: headers like the subject, then the body
- QUIT — the sender says goodbye and the connection closes
Why the commands are readable
SMTP was designed to be simple and human-readable so that servers from any vendor could interoperate and engineers could debug mail by hand. That simplicity is exactly what the "Simple" in Simple Mail Transfer Protocol refers to.
Two Places SMTP Is Used
SMTP shows up at two distinct points in an email's journey, and it helps to keep them separate in your head. First when you send, and again every time one server passes the mail to the next:
Submission
Your email app hands your finished message to your own mail server. This first hop, from client to server, is called submission.
Relay
Your mail server forwards the message on to the recipient's mail server, sometimes through other servers in between. Server-to-server hops are called relaying.
The Ports SMTP Uses
A port is just a numbered doorway on a server that tells incoming traffic which service it's meant for — like an apartment number on top of a street address. SMTP has a few standard port numbers depending on whether the connection is a client submitting mail or a server relaying it, and whether the connection is encrypted:
| Port | Used for | Encryption |
|---|---|---|
| 25 | Server-to-server relay | Usually none (legacy default) |
| 587 | Client submission | Yes, upgraded with STARTTLS |
| 465 | Client submission | Yes, encrypted from the start |
Which port matters when
Modern email apps submit mail on port 587 (or 465 for always-encrypted connections). Port 25 still exists but is now used mainly for one server relaying to another, and many providers block it for regular clients to cut down on spam.
What SMTP Cannot Do
This is the single most important thing to remember about SMTP: it only sends. Once a message lands in the recipient's mailbox on their mail server, SMTP's job is finished. To actually open that mailbox and read the mail, the recipient's app uses a different protocol — either or . SMTP pushes mail to the doorstep; those two carry it inside.
“"SMTP is used to both send and receive email."”
Q:Why is SMTP called a push protocol, and what port do modern clients use to send mail?
A: It's called a push protocol because it only moves mail forward — from the client to a server and from server to server — never pulling messages out of a mailbox. Modern email clients submit outgoing mail on port 587 (using STARTTLS to encrypt the connection) or on port 465 (encrypted from the start). Port 25 is now used mainly for server-to-server relay.
Quick Revision Cheat Sheet
SMTP: Simple Mail Transfer Protocol
Job: Send and relay outgoing mail (push only)
Cannot: Retrieve or read mail from a mailbox
Submission port: 587 (STARTTLS) or 465 (implicit TLS)
Relay port: 25 (server to server)
Style: Text-based commands: HELO, MAIL FROM, RCPT TO, DATA, QUIT
Pair with: POP3 or IMAP for receiving