This directory documents every SMTP error code you are likely to encounter, from common 421 soft bounces to obscure server-specific 554 rejections from Nemesis, Comcast cmsmtp, GoDaddy osplibsmtp, and other production MTAs. Each entry has its own page with the exact error message, root causes, step-by-step fixes, and provider-specific notes.
Use the search bar to find your exact error message, or filter by category (Spamhaus, reverse DNS, user unknown, relay, content filter, etc.). Cards marked Coming soon are documented in the registry but the detail page is still being written, check back regularly as the catalog grows.
421 — Service availability (soft bounces)
450 / 451 / 452 — Temporary failures (soft bounces)
453 / 454 — Relay denials
471 — Temporary spam classification
500 – 521 — Auth, policy, connection (hard)
550 — Mailbox unavailable (hard)
550 with enhanced status codes (hard)
551 — User not local (hard)
553 — Mailbox name not allowed (hard)
554 — Transaction failed (hard)
585 — Enhanced recipient rejection (hard)
How to diagnose any SMTP error
Every SMTP error response follows the same structure: a three-digit status code, an optional enhanced status code (RFC 3463 format like 5.7.1), and a human-readable message. The first digit tells you the category, the second digit the subject area, and the third digit the specific condition. The enhanced code adds machine-readable precision on top.
The first digit tells you everything about retry behaviour
- 2xx, Success. The server accepted your command. No action needed.
- 3xx, Intermediate. The server is waiting for more data (e.g. DATA command needs message body).
- 4xx, Soft bounce. Temporary failure. The MTA will retry automatically following its retry schedule (typically 30 minutes, then exponential backoff for up to 5 days). Read more on soft vs hard bounces.
- 5xx, Hard bounce. Permanent failure. Do not retry; the address or sending infrastructure needs intervention before the message can ever be delivered.
The second digit narrows down the cause
- x0x / x1x, Syntax problems with commands or addresses.
- x2x, Connection or status info.
- x3x, Reserved (rarely used).
- x4x, Reserved (rarely used).
- x5x, Mail system problem (mailbox, storage, recipient).
- x7x, Security or policy (auth, SPF/DMARC, blocklists, reputation).
The enhanced status code (RFC 3463) is the most useful field
The enhanced code follows the format class.subject.detail. For example, 5.1.1 means permanent failure (5), addressing problem (1), bad destination mailbox address (1). 5.7.1 means permanent failure (5), security or policy (7), delivery not authorized (1). Once you can read enhanced codes, you can diagnose most errors without even reading the text message.
Quick cheat sheet
For a high-level overview, the table below maps the most common 3-digit codes to their meaning. For the full message and detailed fix steps, click into the corresponding entry in the directory above.
| Code | Family | Meaning | Action |
|---|---|---|---|
| 220 | Greeting | SMTP service ready (welcome banner). | Normal, proceed. |
| 221 | Closing | Server closing connection politely. | Normal end of session. |
| 250 | Success | Message accepted for delivery. | None needed. |
| 354 | Intermediate | Server is waiting for message body after DATA command. | Send the message body. |
| 421 | Soft | Service temporarily unavailable. | Wait, retry automatically. |
| 450 | Soft | Recipient mailbox temporarily unavailable. | Retry, monitor blocklists. |
| 451 | Soft | Local error or greylisting in progress. | Wait and retry. |
| 452 | Soft | Recipient over storage quota. | Retry, then suppress if persistent. |
| 500-504 | Hard | Syntax error or unrecognized command. | Fix MTA configuration. |
| 521 | Hard | Server refusing all connections from your IP. | Investigate IP-level block. |
| 530 | Hard | Authentication required or failed. | Verify SMTP credentials. |
| 550 | Hard | Mailbox unavailable; often non-existent recipient. | Clean list; verify addresses. |
| 551 | Hard | User not local; relay denied. | Use authenticated relay. |
| 553 | Hard | Mailbox name not allowed; bad reverse DNS. | Fix address syntax or PTR record. |
| 554 | Hard | Transaction failed; often spam or reputation block. | Investigate blocklists and reputation. |
| 585 | Hard | RFC 5248 enhanced rejection. | Remove address. |
Frequently asked questions
What is the difference between a 4xx and a 5xx SMTP error?
4xx codes are soft bounces: temporary failures where the MTA will retry automatically following its retry schedule. 5xx codes are hard bounces: permanent failures that require intervention (fix authentication, delist from a blocklist, remove the address from your list) before delivery can succeed. Treating a hard bounce as a soft bounce by retrying makes the reputation problem worse.
What is an enhanced status code?
An enhanced status code (defined by RFC 3463 and extended by RFC 5248) is a structured machine-readable code in the format class.subject.detail, for example 5.7.1. It supplements the legacy three-digit code with more precision: where 550 alone could mean many things, 550 5.1.1 tells you specifically that the recipient mailbox does not exist, and 550 5.7.1 tells you the sender is unauthorized for security or policy reasons.
How do I find the exact cause of a 550 error?
Read the full error message after the 550 code. The text usually contains keywords like zen.spamhaus.org, User unknown, Anti-Spoofing policy, STARTTLS, cannot find your hostname, or the name of a specific blocklist. Search this directory by that keyword to find the exact entry with diagnostics and fix steps.
Why do some servers return 550 and others 554 for the same problem?
Both codes mean a permanent rejection, but the distinction is historical: 550 traditionally signals recipient-side mailbox issues, while 554 signals a generic transaction failure (most often spam, reputation, or policy). In modern practice, individual MTAs (Postfix, Exim, Exchange, Proofpoint, Barracuda) choose between them based on their internal configuration. Same underlying cause, different choice of code.
What is the most damaging type of SMTP error for sender reputation?
High rates of 550 5.1.1 User Unknown and equivalent recipient-unknown errors are the most damaging because they indicate poor list hygiene, a signal that mailbox providers and blocklist operators (Spamhaus, Microsoft SNDS, Google Postmaster Tools) use to deprioritize or block your sending IP. Cleaning your list with email verification before sending is the single most effective protection against this entire class of errors.
Don’t forget to clean your list. Boost your inbox rate.
SMTPing catches what regex misses: disposable addresses, role-based emails, catch-all domains, syntax errors, and 9 more invalid types. Free tier renews every day, no card required.
About the Author

Alaa · LinkedIn
Email infrastructure specialist with 8+ years of hands-on experience in SMTP, deliverability, and email verification. I’ve configured and troubleshot mail systems across Postfix, Exchange, and cloud relays, managed IP reputation and warmup campaigns, and built verification pipelines processing millions of addresses. My work spans DNS authentication (SPF, DKIM, DMARC, BIMI), bounce handling, blocklist monitoring, and compliance frameworks including CAN-SPAM and GDPR. I write every article on SMTPedia to give email professionals, developers, and marketers the accurate, RFC-grounded reference they need.
About SMTPedia
SMTPedia is an independent email industry reference covering SMTP, IMAP, POP3, email deliverability, marketing platforms, DNS authentication, and email verification. Every article is researched from official provider documentation, IETF RFCs, and industry best practices. Settings and configurations are verified quarterly.
We are cited as a source by ChatGPT, Microsoft Copilot, and thousands of email professionals worldwide. Learn more about our editorial process.

