Hard vs Soft Bounces: Email Bounces Explained
Learn what an email bounce is, how hard and soft bounces differ, what common bounce codes mean, and how to handle bounces to protect deliverability.
An email bounce is a message that could not be delivered and is returned to the sender with an explanation of why. Every email program produces bounces, but how you respond to them determines whether they stay a harmless side effect or quietly erode your deliverability.
This guide explains what a bounce actually is, how hard bounces differ from soft bounces, what the underlying status codes mean, and the practices that keep bounces from damaging your sender reputation.
What Is an Email Bounce?
When you send an email, your sending server (the Mail Transfer Agent, or MTA) hands the message off to the recipient's mail server. If that server refuses or fails to accept the message, it returns a bounce notification—formally called a Non-Delivery Report (NDR) or Delivery Status Notification (DSN). That notification contains a status code and a human-readable reason describing exactly what went wrong.
A bounce is different from a rejection you never see. Some messages are silently dropped or filtered into spam without any notice. A bounce, by contrast, is an explicit signal you can act on—which is why capturing and processing bounce data is one of the most valuable things a sender can do.
Bounces also arrive at two different moments. A synchronous bounce happens during the initial SMTP conversation, when the receiving server rejects the message before accepting it. An asynchronous bounce arrives minutes or hours later: the server accepted the message, then discovered it could not deliver it and emailed a notification back to your return-path address. A good email platform captures both and feeds them into the same suppression and retry logic automatically.
Final-Recipient: rfc822; jordan@example.com
Action: failed
Status: 5.1.1
Diagnostic-Code: smtp; 550 5.1.1 <jordan@example.com>
User unknown; recipient address rejectedBounces Are Feedback, Not Failure
A single bounce is normal. The problem is ignoring them. Every bounce tells you something about your list quality or your sending setup, and acting on that feedback is what protects long-term deliverability.
Hard Bounces vs Soft Bounces
Every bounce is classified as either hard or soft. The distinction is simple but critical: hard bounces are permanent, and soft bounces are temporary. How you treat each type is completely different.
Hard Bounces (Permanent Failures)
A hard bounce means the message can never be delivered to that address. The failure will not resolve on its own, so retrying is pointless and actively harmful. Common causes include:
- The mailbox does not exist (a typo, or an address that was deleted)
- The domain is invalid or no longer registered
- The receiving server permanently blocks your message
- The address was fabricated or belongs to a spam trap
Hard bounces should be removed from your list immediately and never emailed again. Continuing to send to them is the single fastest way to wreck your sender reputation.
Soft Bounces (Temporary Failures)
A soft bounce means delivery failed for now but might succeed on a later attempt. The address itself is usually valid. Common causes include:
- The recipient's mailbox is full
- The receiving server is temporarily down or overloaded
- The message is too large for the recipient's size limits
- The receiving server is greylisting new senders (a deliberate delay)
Email platforms automatically retry soft bounces on a schedule, typically for 24 to 72 hours. If an address keeps soft bouncing across several sends, most systems eventually convert it to a hard bounce and suppress it.
Hard vs Soft Bounce Comparison
| Attribute | Hard Bounce | Soft Bounce |
|---|---|---|
| Nature | Permanent | Temporary |
| Status code | 5.x.x (e.g. 550) | 4.x.x (e.g. 450) |
| Typical cause | Invalid or blocked address | Full mailbox, server down, message too large |
| Should you retry? | No | Yes, for a limited window |
| Correct action | Suppress immediately | Retry, then suppress if it persists |
Common Bounce Codes and Causes
Bounce notifications carry SMTP status codes that tell you exactly why a message failed. The first digit is the most important: a 5 means a permanent failure (hard bounce), while a 4 means a temporary failure (soft bounce). Here are the codes you will encounter most often.
| Code | Meaning | Type |
|---|---|---|
| 550 / 5.1.1 | Mailbox does not exist (user unknown) | Hard |
| 5.1.2 | Invalid or nonexistent domain | Hard |
| 554 / 5.7.1 | Message refused or blocked as spam/policy | Hard |
| 450 / 4.2.1 | Mailbox temporarily unavailable | Soft |
| 452 / 4.2.2 | Mailbox full / over quota | Soft |
| 421 / 4.4.1 | Server unavailable or not responding | Soft |
| 552 / 5.3.4 | Message exceeds size limit | Soft |
Read the Text, Not Just the Number
Codes are not perfectly standardized across providers. A mailbox-full error can be returned as either 452 or 552, and blocks are sometimes reported with vague messages. Always read the diagnostic text alongside the numeric code before deciding whether to suppress or retry an address.
How Bounces Affect Reputation and Deliverability
Mailbox providers watch your bounce rate closely because it is one of the clearest signals of list quality. A sender who repeatedly hits invalid addresses looks either careless or malicious—both spammers and negligent senders share the same symptom of emailing addresses that do not exist.
Lower Sender Reputation
Every hard bounce chips away at the reputation score that Gmail, Outlook, and others assign to your domain and IP. A damaged reputation means worse inbox placement across the board.
More Mail in Spam
As reputation drops, providers route more of your messages—including those to valid, engaged recipients—straight to the spam folder, quietly reducing the reach of every campaign.
Blocklisting Risk
Sustained high hard bounce rates, especially from hitting spam traps, can land your sending domain or IP on a blocklist, which can halt delivery to entire mailbox providers at once.
Account Suspension
Most reputable email platforms automatically pause or suspend accounts whose hard bounce rates climb past 5 to 10%, protecting the shared reputation of their sending infrastructure.
For benchmarks, thresholds, and tactics focused specifically on the metric itself, see our companion guide on email bounce rate.
How to Handle Email Bounces
Handling bounces well comes down to reacting correctly to each type and preventing them from occurring in the first place. Here is the workflow every sender should have in place.
Suppress Hard Bounces Automatically
A suppression list is a record of addresses you must never email again. As soon as an address hard bounces, add it to suppression so it is silently excluded from every future send. This is the most important control you have—it stops a single bad address from bouncing repeatedly and compounding reputation damage.
Retry Soft Bounces, Then Suppress
Let your platform retry soft bounces on a backoff schedule for a defined window, usually 24 to 72 hours. If an address soft bounces on every attempt across several campaigns, treat it as effectively dead and move it to suppression. Persistent soft bounces are often abandoned mailboxes that will never recover.
Clean Your List Regularly
Roughly 15 to 20% of email addresses go stale every year as people change jobs and abandon accounts. Run a list-cleaning pass every 6 to 12 months to remove long-inactive contacts and re-verify questionable addresses before they turn into bounces or spam traps.
Prevent Bounces at the Source
The cheapest bounce is the one that never happens. Stop bad addresses from entering your list in the first place:
- Use double opt-in so every subscriber confirms a real, working address
- Validate email syntax and domain (MX records) on your signup forms in real time
- Never buy or scrape lists—purchased lists routinely contain 20 to 40% invalid addresses
- Warm up new sending domains and IPs gradually to earn trust before scaling volume
Bitelio Manages Bounces for You
Bitelio automatically processes bounce notifications, suppresses hard bounces, retries soft bounces, and keeps every suppressed address out of future sends—so a bad address can only ever bounce once.