What Is SMTP?
SMTP stands for Simple Mail Transfer Protocol. It is the standard communication protocol used to send email messages across the internet. Defined originally in RFC 821 in 1982 and updated by RFC 5321, SMTP governs how email clients and mail servers transmit outgoing messages from a sender to one or more recipients. Every email you send, whether from Gmail, Outlook, a marketing platform, or a custom application, relies on SMTP to move the message from your device to the destination mail server. If you are ready to set up your own server, see our SMTP server setup guide for step-by-step instructions.
SMTP is exclusively a push protocol, meaning it is responsible for sending and relaying email. It does not handle retrieving messages from a mailbox. That job falls to protocols like IMAP and POP3, which we cover later in this guide. Think of SMTP as the postal service for the internet: it picks up your letter, routes it through a series of relay stations, and delivers it to the correct post office. The recipient then uses a different mechanism (IMAP or POP3) to open their mailbox and read the letter.
SMTP operates on a client-server model. The SMTP client, often called the Mail User Agent (MUA), initiates a connection to an SMTP server, often called the Mail Transfer Agent (MTA). The MTA accepts the message and either delivers it locally (if the recipient is on the same server) or relays it to another MTA that is closer to the destination. This relay process can involve multiple hops, with each MTA adding a Received header to the message for traceability.
How SMTP Works: The 5-Step Process
Understanding how SMTP delivers an email helps you diagnose problems, configure servers correctly, and appreciate why authentication and reputation matter. Here is the complete five-step process that occurs every time you send an email.
Step 1: Connection Establishment
When you click send in your email client or your application triggers an outbound email, the sending mail client opens a TCP connection to the SMTP server. This connection typically uses port 587 for authenticated submission or port 25 for server-to-server relay. The client performs a DNS lookup to find the SMTP server's IP address, then initiates a TCP handshake. Once the TCP connection is established, the SMTP server responds with a 220 status code and a greeting message, indicating it is ready to begin the SMTP conversation.
Step 2: SMTP Handshake (EHLO/HELO)
After receiving the server's greeting, the client introduces itself by sending an EHLO (Extended HELO) or HELO command followed by its hostname or IP address. The EHLO command is preferred because it asks the server to list its supported extensions, such as STARTTLS for encryption, AUTH for authentication, SIZE for maximum message limits, and PIPELINING for sending multiple commands without waiting for individual responses. The server responds with a 250 status code and a list of capabilities. If the server supports STARTTLS and the client requires encryption, the TLS handshake occurs at this point, upgrading the plain-text connection to an encrypted channel. After TLS negotiation, the client sends EHLO again over the encrypted connection.
Step 3: Message Envelope
With the handshake complete, the client specifies the message envelope, which is separate from the message headers visible to the recipient. The client sends MAIL FROM followed by the sender's email address, and the server acknowledges with a 250 response. Then the client sends one or more RCPT TO commands, each specifying a recipient address. The server validates each recipient and responds with 250 for accepted addresses or an error code for rejected ones. This envelope information is what the SMTP servers use for routing, it does not necessarily match the From or To headers inside the email body.
Step 4: Message Data Transfer
Once all recipients are specified, the client sends the DATA command. The server responds with a 354 status code, indicating it is ready to receive the message content. The client then transmits the full email, including headers (From, To, Subject, Date, MIME-Version, Content-Type) and the message body. The message can include plain text, HTML, attachments encoded in Base64, and inline images. The end of the message is indicated by a single line containing only a period (.). Upon receiving this terminator, the server processes the message and responds with a 250 status code confirming acceptance, along with a unique queue ID for tracking.
Step 5: Connection Termination
After the message is accepted, the client can either send another message using the same connection (which is more efficient for bulk sending) or close the connection by sending the QUIT command. The server responds with a 221 status code and closes the TCP connection. The message now sits in the server's outbound queue. The MTA performs a DNS MX lookup for the recipient's domain, connects to the destination mail server, and repeats a similar SMTP conversation to deliver the message. If delivery fails temporarily, the MTA will retry at increasing intervals, typically for up to 72 hours before generating a bounce notification.
SMTP Ports Explained (25, 465, 587)
SMTP uses specific TCP ports for different purposes. Choosing the correct port is essential for proper email delivery and security. Here is a breakdown of the three main SMTP ports and when to use each one.
| Port | Purpose | Encryption | Authentication | When to Use |
|---|---|---|---|---|
| 25 | Server-to-server relay | Opportunistic STARTTLS | Typically none | MTA-to-MTA relay only. Blocked by most ISPs and cloud providers for end-user sending. |
| 465 | Authenticated submission (implicit TLS) | SSL/TLS from connection start | Required | When your application or client supports implicit TLS. Re-standardized in RFC 8314. |
| 587 | Authenticated submission (STARTTLS) | STARTTLS upgrade | Required | The recommended port for all client-to-server email submission. Widely supported. |
Port 25 is the original SMTP port, assigned by IANA in 1982. It was designed for server-to-server communication and remains the standard for MTA relay. However, because spammers historically abused port 25 to send unsolicited email directly, most internet service providers and cloud hosting platforms now block outbound connections on port 25 for residential and standard compute instances. If you are setting up a mail server, you will need port 25 open for inbound mail delivery, but your application should never use port 25 for outbound sending.
Port 587 is the modern standard for email submission, defined in RFC 6409. It requires authentication (username and password or OAuth) before accepting messages, which prevents unauthorized use. Port 587 starts as a plain-text connection and upgrades to TLS via the STARTTLS command. This is the port you should use when configuring your email client, CMS, or application to send email through an SMTP server.
Port 465 has a complicated history. It was originally assigned for SMTPS (SMTP over SSL) in the 1990s, then deprecated in favor of STARTTLS on port 587, and finally re-standardized in 2018 by RFC 8314 for implicit TLS submission. Unlike port 587, which starts unencrypted and upgrades, port 465 establishes TLS encryption immediately upon connection. Some older applications and email clients prefer port 465, and it remains a valid option when your software supports it.
SMTP vs IMAP vs POP3
Email relies on multiple protocols working together. SMTP handles outbound delivery, while IMAP and POP3 handle inbound retrieval. Understanding the differences is important for configuring email correctly.
| Protocol | Direction | Function | Ports | Key Feature |
|---|---|---|---|---|
| SMTP | Outbound (push) | Sends and relays email between servers | 25, 465, 587 | Handles all email transmission from sender to destination server |
| IMAP | Inbound (pull) | Retrieves and manages email on the server | 143, 993 | Keeps email on server, supports folders, search, and multi-device sync |
| POP3 | Inbound (pull) | Downloads email to a local device | 110, 995 | Downloads and typically deletes from server, best for single-device use |
SMTP (Simple Mail Transfer Protocol) is used exclusively for sending email. When you compose a message and click send, your email client connects to an SMTP server, transmits the message, and the SMTP server routes it to the destination. SMTP is a push protocol; it moves messages forward through the system. It does not store messages or allow you to read your inbox.
IMAP (Internet Message Access Protocol) is used for reading and managing email on the server. When you open your inbox in an email client, IMAP connects to the mail server and displays your messages. The key advantage of IMAP is that emails remain on the server, so you can access them from multiple devices (phone, laptop, tablet) and they stay synchronized. IMAP also supports server-side folders, search, and flags.
POP3 (Post Office Protocol version 3) is an older protocol for retrieving email. POP3 downloads messages from the server to your local device and, by default, deletes them from the server. This means your email is accessible only on the device that downloaded it. POP3 is simpler than IMAP but is not suitable for users who access email from multiple devices. Some configurations allow POP3 to leave copies on the server, but synchronization is still not supported.
In a typical email flow, SMTP delivers the message from the sender to the recipient's mail server. The recipient's email client then uses IMAP or POP3 to retrieve the message from that server. All three protocols work together, but SMTP is the only one involved in the actual sending and delivery of email.
Common SMTP Commands
SMTP communication follows a structured request-response model. The client sends commands, and the server responds with numeric status codes. Here are the most important SMTP commands you should know.
EHLO mail.example.com -- Client identifies itself and requests extensions
MAIL FROM:<sender@example.com> -- Specifies the envelope sender address
RCPT TO:<user@recipient.com> -- Specifies a recipient address
DATA -- Signals start of message content
QUIT -- Terminates the SMTP session
RSET -- Resets the current transaction
VRFY user@example.com -- Verifies if a mailbox exists (often disabled)
NOOP -- No operation, keeps connection alive
AUTH LOGIN -- Initiates authentication
STARTTLS -- Upgrades to encrypted TLS connection
EHLO (Extended Hello) is the first command sent after connecting. It identifies the client to the server and requests a list of supported extensions. The older HELO command performs the same introduction but without extension negotiation. Modern SMTP servers expect EHLO.
MAIL FROM specifies the envelope sender, also known as the return path or bounce address. This is where bounce notifications (non-delivery reports) are sent if the message cannot be delivered. The envelope sender can differ from the From header visible to the recipient.
RCPT TO specifies the recipient of the message. You can send multiple RCPT TO commands to add multiple recipients to a single message. The server validates each recipient and may reject addresses for unknown users, domains, or policy violations.
DATA tells the server you are ready to transmit the message content. After the server responds with 354, you send the full email including headers and body. End the message with a line containing only a single period (.).
QUIT closes the SMTP session gracefully. The server responds with 221 and terminates the connection. Always send QUIT rather than simply dropping the TCP connection to avoid being flagged by rate limiters.
STARTTLS upgrades the connection from plain text to TLS encryption. After a successful TLS handshake, all subsequent communication is encrypted. The client must send EHLO again after STARTTLS to re-negotiate extensions over the secure connection.
AUTH initiates authentication. Common mechanisms include AUTH LOGIN (Base64 encoded username and password), AUTH PLAIN (single Base64 string), and AUTH XOAUTH2 (OAuth 2.0 token). Authentication is required on submission ports (587 and 465) and prevents unauthorized email sending.
Common SMTP Error Codes
SMTP servers respond with three-digit status codes. The first digit indicates the category: 2xx means success, 3xx means the server needs more information, 4xx means a temporary failure (retry later), and 5xx means a permanent failure (do not retry). Here are the most common error codes you will encounter.
| Code | Category | Meaning | Action |
|---|---|---|---|
| 220 | Success | Server ready | Proceed with EHLO command. |
| 250 | Success | Requested action completed | Command was successful. Continue the session. |
| 354 | Intermediate | Start mail input | Server is ready to receive the message body after DATA command. |
| 421 | Temporary | Service not available, closing connection | The server is temporarily unavailable. Retry after a delay. Often caused by rate limiting, maintenance, or resource exhaustion. |
| 450 | Temporary | Mailbox unavailable (busy or temporarily blocked) | Retry later. The recipient's mailbox may be locked, over quota temporarily, or subject to greylisting. |
| 550 | Permanent | Mailbox unavailable (does not exist or policy rejection) | Do not retry. The address is invalid, the domain does not accept mail, or the message was rejected by policy (spam filter, blocklist). |
| 553 | Permanent | Mailbox name not allowed (invalid syntax) | Check the email address for formatting errors. The address syntax is not valid according to the server. |
Error 421 is a temporary rejection that usually means the receiving server is overloaded, undergoing maintenance, or throttling your connection because you are sending too fast. Proper SMTP implementations automatically retry after a waiting period, typically starting at 15 minutes and increasing exponentially. If you see persistent 421 errors, check whether your sending IP is being rate-limited or temporarily blocked.
Error 450 indicates a temporary mailbox issue on the recipient side. This often occurs with greylisting, a spam prevention technique where the server intentionally rejects the first delivery attempt from an unknown sender and expects the legitimate MTA to retry. If your SMTP server has proper retry logic, greylisting is handled automatically. Persistent 450 errors may indicate the recipient's mailbox is full or their server has a configuration issue.
Error 550 is the most common permanent failure. It means the recipient mailbox does not exist, the domain does not have valid MX records, or the receiving server has rejected your message based on a policy decision such as a spam filter, DNS blocklist match, or missing authentication records. When you receive a 550 error, you should remove the address from your mailing list and investigate the specific rejection reason provided in the error message. Continuing to send to addresses that return 550 damages your sender reputation.
Error 553 indicates the email address you specified in MAIL FROM or RCPT TO has invalid syntax. Double-check the address for typos, missing @ symbols, or illegal characters. Some servers also return 553 when the sender address does not match an authorized domain for the authenticated user.
Why Businesses Need a Professional SMTP Service
While anyone can technically set up a basic mail server, businesses that depend on email for operations, customer communication, and revenue need a professional SMTP service for several critical reasons.
Deliverability and Inbox Placement
Consumer email services like Gmail and Yahoo impose strict sending limits and were never designed for business-volume email. Sending marketing campaigns or transactional notifications through a personal email account will quickly result in throttling, bounces, and messages landing in spam. A professional SMTP service provides dedicated IP addresses with established reputations, proper authentication setup (SPF, DKIM, DMARC), and intelligent routing that maximizes inbox placement rates. At QUEENSMTP.COM, our customers typically achieve inbox placement rates above 99 percent because our infrastructure is purpose-built for email deliverability.
Sending Volume and Speed
Business email needs range from a few hundred transactional emails per day to millions of marketing messages per month. Consumer email accounts typically limit you to 500 or fewer messages per day. A professional SMTP service scales with your needs, providing the throughput to send thousands of emails per minute with connection pooling, parallel delivery, and queue management. Whether you need to send order confirmations for an e-commerce peak or deliver a newsletter to 500,000 subscribers, the infrastructure handles the volume without degradation.
Reliability and Monitoring
When a customer's password reset email fails to arrive, or an invoice notification bounces, it directly impacts your business. Professional SMTP services offer real-time monitoring dashboards, delivery logs, bounce tracking, and alerting. You can see exactly what happened to every email: whether it was delivered, deferred, bounced, or marked as spam. This visibility is impossible with basic email setups and is essential for maintaining customer trust and troubleshooting issues quickly.
Security and Compliance
Business email often contains sensitive information such as account details, financial documents, and personal data. A professional SMTP service enforces TLS encryption for all connections, supports DKIM signing to prevent message tampering, and provides DMARC reporting to detect unauthorized use of your domain. For businesses subject to regulations like GDPR, HIPAA, or PCI-DSS, a managed SMTP service simplifies compliance by handling encryption, access controls, and audit logging.
Reputation Management
Sender reputation is the single most important factor determining whether your emails reach the inbox or land in spam. Reputation is built over time and tied to your sending IP addresses and domain. A professional SMTP service actively manages your IP reputation through IP warming schedules, feedback loop processing, automatic suppression of bouncing addresses, and complaint handling. Damaging your sender reputation by sending from poorly configured infrastructure can take months to recover from, a risk no business should take.