Email Bounce Codes Explained: SMTP Error Reference
· 5 min read
When a mail server cannot deliver your message, it answers with an SMTP reply code and usually a short explanation. Your email platform turns that answer into a bounce. Reading the code tells you whether the problem is permanent or temporary, and whether the fix is to remove the address, wait, or look at your own sending setup.
This guide is a reference for the codes you will see most often, with what each one means and what to do about it.
How to read a bounce code
A typical bounce line looks like this:
550 5.1.1 The email account that you tried to reach does not exist.
- The first number (550) is the basic SMTP reply. A code starting with 4 means a temporary failure: the server may accept the message later. A code starting with 5 means a permanent failure: sending the same message again will fail again.
- The second number (5.1.1) is the enhanced status code. Its first digit repeats the class (4 temporary, 5 permanent). The middle digit says what kind of problem it is: 1 is the address, 2 is the mailbox, 3 is the receiving mail system, 4 is network or routing, 5 is the mail protocol, 6 is the message content, and 7 is security or policy.
- The text is written by the receiving server. It often contains the most useful detail, such as a link to the provider's help page.
In practice, 4xx codes become soft bounces and 5xx codes become hard bounces. There are a few important exceptions, covered below. For the bigger picture, read hard bounce vs soft bounce.
Common bounce codes
| Code | What it means | Type | What to do |
|---|---|---|---|
| 421 | The server is not available right now, often because it is busy or is slowing down your messages. | Soft | Let your platform retry. If it happens a lot, send more slowly. |
| 450 | The mailbox is unavailable at the moment, for example busy or temporarily blocked. Also used for greylisting. | Soft | Retry later. Remove the address only if it keeps failing over several sends. |
| 451 | The server hit a local error or deferred the message. Greylisting and temporary policy checks often use this code. | Soft | Retry later. Most of these deliver on a later attempt. |
| 452 | The server or mailbox is out of storage, or you sent to too many recipients at once. | Soft | Retry later. If the same mailbox is full for weeks, treat it as abandoned. |
| 550 5.1.1 | The mailbox does not exist. The most common hard bounce. | Hard | Remove the address now. Check for a typo first. |
| 550 5.1.2 | The domain does not exist or cannot receive mail. | Hard | Remove the address. Check for a domain typo such as gmial.com. |
| 550 5.7.1 | Delivery was refused for policy reasons: your message, server or domain was blocked or failed a check. | Block | Do not delete the address automatically. Read the text, check authentication and blocklists. |
| 552 | The mailbox is full (5.2.2) or the message is too large (5.3.4). | Usually soft | For a full mailbox, retry later. For a size error, make the message smaller. |
| 553 | The address is not allowed, often because its format is invalid (5.1.3). | Hard | Remove or correct the address. |
| 554 | The transaction failed. Often a spam or reputation block, sometimes a dead mailbox. | Block or hard | Read the text. If it mentions spam, policy or a blocklist, treat it as a block. |
The exact wording differs between providers. Gmail, for example, uses 550 5.7.26 when a message fails its authentication checks, which points at your SPF, DKIM or DMARC setup rather than at the recipient.
Hard bounces: remove the address
Codes like 550 5.1.1, 550 5.1.2 and 553 say the address itself is the problem. Sending to it again will never work, and repeated hard bounces damage your sender reputation. Most email platforms suppress these automatically after the first bounce; make sure that setting is on.
Before removing a customer's address, check for an obvious typo. If you have another way to reach them, such as a phone number or their account page, ask them to update it.
Soft bounces: wait, then decide
4xx codes are temporary by definition. Your platform will normally retry for a day or two. If the same address soft bounces across several separate sends, it is probably abandoned, and you should treat it like a hard bounce.
Greylisting is a common cause of 450 and 451 codes. Some servers reject the first attempt from an unfamiliar sender on purpose and accept the retry. That is normal and needs no action.
Blocks: fix your side, not the list
Policy codes such as 550 5.7.1 and many 554 replies are about you, not the recipient. The address may be perfectly good. Common causes:
- Missing or broken SPF, DKIM or DMARC. See SPF, DKIM and DMARC explained.
- Your sending IP or domain is on a blocklist.
- A high complaint rate or many recent bounces have hurt your reputation.
- You are not meeting a provider's sender rules. See Gmail, Yahoo and Outlook bulk sender requirements.
If many recipients at the same provider block you at once, stop and fix the cause before sending more. Deleting those addresses would remove real people and not solve anything.
Prevent bounces before they happen
The easiest bounce to handle is the one that never happens. Checking addresses before you send removes most hard bounces in advance:
- Test a single address with the free email checker, or run a full mailbox check with the email verifier.
- Clean a whole list with bulk email verification before a large send.
- Check addresses as they are entered, using the email verification API.
For a step-by-step plan, read how to reduce your email bounce rate.