Email bounces occur when a receiving server rejects your message. Hard bounces (5xx codes) are permanent — the address doesn't exist or the domain is invalid. Soft bounces (4xx codes) are temporary — the mailbox is full, the server is down, or you're being rate-limited. Hard bounces should trigger immediate removal; soft bounces get retried.
Email Bounces Explained: Hard vs Soft and Every Bounce Type
Bounce Basics
When you send an email, the receiving server either accepts it or rejects it. A rejection is a bounce. The type of bounce depends on the SMTP response code the server returns.
Understanding the difference matters because your handling strategy depends entirely on the bounce type. Handle them wrong and you'll either damage your reputation (by continuing to send to dead addresses) or lose valid subscribers (by removing temporary failures).
Hard Bounces (5xx)
Hard bounces are permanent. The receiving server is telling you the delivery cannot succeed, now or ever.
Common hard bounce codes:
| Code | Meaning | Action |
|---|---|---|
| 550 | User not found / mailbox doesn't exist | Remove immediately |
| 551 | User not local, no forwarding | Remove immediately |
| 552 | Mailbox storage exceeded (permanent) | Remove after 30 days |
| 553 | Invalid mailbox name/syntax | Remove immediately |
| 554 | Transaction failed / permanent block | Investigate, likely remove |
Causes:
- The email address doesn't exist (typo, employee left, account deleted)
- The domain doesn't exist or has no MX records
- The receiving server has permanently blocked your sending IP or domain
Practitioner note: The most common hard bounce I see is the "left the company" bounce — addresses that were valid when collected but the person is gone. This is why B2B lists degrade fast. Expect 2-3% annual attrition from employee turnover alone.
Soft Bounces (4xx)
Soft bounces are temporary. The server is saying "not right now, try again later."
Common soft bounce codes:
| Code | Meaning | Action |
|---|---|---|
| 421 | Service not available, try later | Auto-retry |
| 450 | Mailbox busy | Auto-retry |
| 451 | Local processing error / rate limited | Auto-retry, check reputation |
| 452 | Insufficient storage | Auto-retry, remove if persistent |
Causes:
- Recipient's mailbox is full
- Receiving server is temporarily down
- You're being rate-limited (sending too fast)
- Greylisting (intentional temporary rejection to test retry behavior)
- DNS lookup failures on the receiving end
Most ESPs retry soft bounces automatically over 24-72 hours before converting them to permanent failures.
Block Bounces
Some bounces aren't about the address — they're about you. These are content or reputation-based rejections:
| Code | Meaning | Action |
|---|---|---|
| 550 (with block message) | IP/domain blacklisted | Check blacklists |
| 554 5.7.1 | Message rejected, policy reasons | Check authentication, content |
| 421 4.7.0 | Temporary rate limit from ISP | Slow down, check reputation |
Block bounces require investigation, not just address removal. If you're getting blocked at Gmail or Outlook, the problem is your reputation or authentication, not the recipient address.
Practitioner note: When a client tells me "we're bouncing at Gmail," the first thing I check is Google Postmaster Tools. Nine times out of ten, it's a reputation issue triggering 421 deferrals, not actual bounces. The distinction matters — removing those addresses won't fix the problem.
Bounce Handling Strategy
Immediate Actions
- Hard bounces: Remove the address from your list after the first occurrence. Never retry.
- Soft bounces: Let your ESP retry automatically (most retry 3-5 times over 24-72 hours).
- Block bounces: Investigate the cause. Check authentication, reputation, and blacklist status.
Ongoing Management
- Track bounce rate per campaign: Watch for sudden spikes
- Track bounce rate per segment: New subscribers bouncing? Your signup form might be collecting junk.
- Convert persistent soft bounces: If an address soft-bounces across 3-5 consecutive sends, treat it as hard
Red Flags
| Pattern | Likely Cause | Fix |
|---|---|---|
| Sudden spike in hard bounces | List has aged addresses or purchased contacts | Audit list source |
| High soft bounces to one domain | Server issues or you're rate-limited | Throttle sends, check reputation |
| Block bounces from Gmail | Domain reputation drop | Check Postmaster Tools |
| Bounces on previously valid addresses | Employee turnover or domain expiration | Regular list cleaning |
Practitioner note: One pattern that catches people off guard: a domain you've been sending to successfully suddenly starts hard-bouncing everything. The company let their domain expire or migrated to a new domain. Their old MX records are gone. It's not your problem, but you need to catch and remove these quickly before you rack up bounce rate penalties.
Impact on Deliverability
High bounce rates directly hurt your sender reputation:
- ISP perspective: High bounces signal you're sending to an unmaintained list
- Blacklist perspective: Sending to many non-existent addresses suggests you're using a scraped or purchased list
- ESP perspective: Most ESPs will suspend accounts with bounce rates above 5-10%
Keep your total bounce rate below 2% per send. Hard bounce rate should stay under 0.5%. If you're exceeding these, your list needs a hygiene overhaul — check our list hygiene guides for step-by-step cleaning processes.
If your bounce rates are elevated and you're not sure why, schedule a deliverability audit — I'll trace the bounces to their source and fix the underlying problem.
Sources
- RFC 5321: Simple Mail Transfer Protocol
- RFC 3463: Enhanced Status Codes for SMTP
- Google: Email Sender Guidelines
- M3AAWG: Senders Best Common Practices
- Validity: State of Email Report
v1.0 · April 2026
Frequently Asked Questions
What is a hard bounce in email?
A hard bounce is a permanent delivery failure, indicated by a 5xx SMTP response code. Common causes include non-existent email addresses (550), invalid domains, and permanent blocks. Hard bounced addresses should be removed from your list immediately.
What is a soft bounce in email?
A soft bounce is a temporary delivery failure, indicated by a 4xx SMTP response code. Common causes include full mailboxes (452), temporary server issues (421), and rate limiting (451). Your ESP will automatically retry soft bounces.
What is an acceptable bounce rate?
Keep total bounce rate below 2% per campaign. Hard bounce rate should be under 0.5%. Rates above these thresholds signal list quality problems and can trigger blacklisting or ESP suspension.
Should I remove soft bounced addresses?
Not immediately — soft bounces are temporary. But if an address soft-bounces consistently across 3-5 sends over 30 days, treat it as a hard bounce and remove it.
Why am I getting bounces from valid email addresses?
Valid addresses can bounce due to full mailboxes, server-side rate limiting, content filtering rejection, IP/domain blacklisting at the receiving server, or authentication failures (missing SPF/DKIM).
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.