Your cart is currently empty!
Hard Bounce vs Soft Bounce: What’s the Difference?

Hard Bounce vs Soft Bounce, Not all email bounces are created equal. If you’ve been emailing for a bit, you’ve probably seen some messages “bounce back” or get returned undelivered. These bounces come in two flavors: hard bounces and soft bounces. Understanding the difference is crucial for managing your email campaigns and keeping your sender reputation intact. In this post, we’ll explain hard vs soft bounces in plain English – what they are, why they happen, and how to handle each.
Hard Bounce vs Soft Bounce
- ❌ Hard Bounce – a permanent delivery failure. The email could not be delivered, and it won’t work on retry. Essentially, the address is a no-go (e.g. it doesn’t exist, or your server is blocked).
- ⚠️ Soft Bounce – a temporary delivery issue. The email didn’t go through this time, but might succeed if tried later. In other words, the address itself is probably okay, but something like a full inbox or server issue got in the way (biscred.com).
In short: hard bounce = dead end, soft bounce = come back later. Now let’s dig into what causes each and what those cryptic SMTP error codes mean.
What is a Hard Bounce?
A hard bounce is an email that cannot be delivered due to a permanent reason. Think of it like sending a letter to an address that doesn’t exist – the mail comes back to you marked “undeliverable, address unknown.” Common causes of hard bounces include:
- Non-existent email address: The recipient’s address is invalid. Maybe it has a typo or the account was deleted. (If Joe leaves a company, [email protected] might be deactivated – any email to it will hard bounce as “user not found.”)
-
Domain doesn’t exist: The domain part of the email (after @) isn’t a real, active domain. For example, if someone entered
[email protected]
, andnope.example
isn’t a working domain, that’s a hard bounce (domain not found). - Email server rejection: The recipient’s mail server outright rejected your message for a permanent reason. This could be because your sending domain/IP is blocked or blacklisted on their end (ouch!), or their server doesn’t accept emails at all.
- Invalid email format: This one usually gets caught on your side, but if somehow an email with an invalid format was attempted, it would hard bounce (e.g. missing an “@” or so).
- Blocked content or policy: In some cases, a hard bounce code can occur if the email was blocked due to policy (though often that yields a specific error). For instance, a recipient server might send a 550 bounce saying “spam message rejected” – effectively a permanent refusal.
When a hard bounce happens, you’ll typically see an SMTP error code in the 500 range. For example:
- 550 5.1.1 – “Requested action not taken: mailbox unavailable.” This is a common code meaning the email address doesn’t exist on that server.
- 551 – “User not local; please try forwarding.” Meaning the address isn’t hosted on that server.
- 552 – “Mailbox full” – actually this one (552) indicates their mailbox is over quota (could be considered either a hard bounce or a persistent soft bounce; often if a mailbox is consistently full, it’s treated as hard).
- 554 – “Transaction failed.” A general failure often used when an email is blocked for policy reasons (spam, etc.). It’s a permanent rejection unless you change something.
The key thing about hard bounces: don’t keep sending to those addresses! They are telling you “this will never succeed.” Continuing to send can harm your reputation. In fact, mailbox providers track your hard bounce rate – if you keep trying dead addresses, they might think you’re not maintaining your list (a spammy trait). Best practice is to immediately remove or suppress hard-bounced emails from your list.
Most email services will automatically drop a hard-bounced address after one or two tries. But if you manage your own lists, be vigilant. The moment you get that bounce notice with a 5xx error (“user unknown” etc.), take that address off your mailing list.
What is a Soft Bounce?
A soft bounce is an email that wasn’t delivered, but due to a potentially temporary issue. Think of it as knocking on the door and nobody answers – but you suspect they’re home and you can try again later. Causes of soft bounces include:
- Mailbox full: The recipient’s inbox is at capacity. They need to clear out emails before they can receive new ones. Your message couldn’t get delivered because there’s no room. This is often indicated by an error like “552 mailbox full” or “422 recipient’s mailbox is over quota”.
- Recipient server down or unavailable: The email server on the recipient’s end was offline, busy, or not responding. This can produce codes like 421 (“service not available, try again later”) or 451 (“temporary local problem”). In plain terms, maybe their email service was having a hiccup or maintenance.
- Temporary DNS issues: Perhaps the sender’s mail server couldn’t find the recipient’s server momentarily (network blip). There’s an error code 432 for an Exchange server connection issue, for instance.
- Message too large: Some servers will bounce emails that exceed a certain size. If you sent a huge attachment, the server might respond with something like 552 (exceeded storage allocation – which can also mean mailbox full) or a specific “message size exceeds limit” error.
- Greylisting: Believe it or not, some mail servers intentionally reject first attempts from unknown senders with a temporary error (like a 451) to test if it’s a legitimate sender that will retry. This is called greylisting. Legit mail servers will try again after a delay, at which point the receiving server accepts the mail. Spam bots often won’t retry, so it’s a trick to cut down spam. If you’ve been greylisted, your first attempt soft bounces but later ones succeed.
- Spam filter temporary rejection: Sometimes a spam filter might issue a temporary bounce (4xx code) if, say, the volume from your IP suddenly spiked. It’s saying “not now, try later.” Reputable senders with warm IPs rarely see this, but it can happen in certain cases (some spam appliances use 4xx as a throttling signal).
Soft bounces usually come with 4xx SMTP codes. Examples:
- 421 – Service not available, closing transmission channel. (The other server was unavailable/busy).
- 450 – Mailbox unavailable. (Often means the user’s mailbox couldn’t be accessed at that moment).
- 451 – Local error in processing. (A catch-all for a temporary error on their side, could be spam filter or routing issue).
- 452 – Insufficient system storage. (Like a disk full error on their server, or too many emails being processed at once).
The general rule: 4xx errors = soft bounce (temporary), 5xx errors = hard bounce (permanent).
One important note: if a soft bounce keeps happening repeatedly for the same address over time, it effectively becomes a hard bounce. For instance, if you attempt to email Bob three times over two weeks and each time his server says “mailbox full” or no response, you should treat that as a permanent failure (Bob isn’t clearing his mailbox or the account is abandoned). In fact, many systems will convert a soft bounce to a hard bounce after X number of tries without success.
Impact of Bounces on Deliverability
Both hard and soft bounces affect your sender reputation, but hard bounces are worse. Here’s how:
- Hard bounces: These are a strong signal of poor list hygiene if in large numbers. If 10% of your emails hard bounce, ISPs see that as “this sender doesn’t maintain their list, possibly spamming random addresses.” It can quickly lead to emails going to spam or being throttled. You want to keep hard bounce rates as low as possible (well under 2%, ideally <1%). Remove hard bounces immediately.
- Soft bounces: A few soft bounces are normal (servers have hiccups, mailboxes get full). ISPs know that and don’t punish occasional soft bounces. However, a high soft bounce rate could indirectly indicate issues (for example, if you keep sending to addresses that always soft bounce, like long-term full mailboxes, it looks like poor hygiene too). Also, if your soft bounces come from content issues (like temporary blocks), that’s a sign to check your sending practices. Generally, attempt re-delivery of soft bounces a bit later – many email providers automatically retry soft bounces over 24-72 hours.
In practice, you should:
- Remove addresses after a certain number of soft bounces. E.g., if an address soft bounces 3 times in a row over a period, it’s likely a dead address (or one you should stop trying).
- Monitor bounce metrics. If your overall bounce rate (hard+soft) exceeds 5%, it’s a red flag. Many ESPs will warn or suspend accounts that consistently bounce too much, because it affects their IP reputations (sendrella.com).
- Use a bounce checker tool or email verification ahead of time. This cannot be stressed enough – using a service (like Sendrella’s verifier) to pre-validate emails can prevent bounces in the first place by weeding out bad emails. Prevention is better than cure!
How to Handle Bounces (Best Practices)
Now that we know the difference, how should you handle hard vs soft bounces practically?
- Immediately remove hard bounces from your active mailing list. Do not attempt to resend to a hard bounce address. If a critical address hard-bounced (like a client’s email), you might reach out via another channel to get an updated email, but don’t email that address again.
-
For soft bounces: Most ESPs will automatically retry sending to a soft-bounced email a few hours later. You don’t need to panic on a single soft bounce. However:
- Keep an eye on repeat offenders. If the same email keeps soft bouncing over multiple campaigns (say “mailbox full” for 2 months), consider it unresponsive and suppress it.
- If the soft bounce was due to content/attachment, try resending a simpler email. For example, if you got a “message too large” bounce, reduce the size and resend to that contact.
- If you suspect greylisting, just ensure your mail server retries properly – it usually will.
- Monitor bounce reasons: Many ESPs provide the bounce reason in reports. Learn from them. If you see a lot of “Blocked” or “Spam suspicion” bounces (often 5xx codes), that’s telling you something is wrong beyond the addresses (maybe your content or IP is an issue). If you see “mailbox full” (4.2.2 errors) frequently, that suggests many abandoned mailboxes – time to do a list cleanup or sunset old addresses.
- Use double opt-in for signups. This isn’t directly about bounces, but it ensures the address is valid (since they have to click a link). It prevents a lot of typos and fake signups that would become hard bounces later. It’s a proactive way to keep bounce rates low.
- Leverage tools: Many email marketing services and CRMs have built-in bounce handling and even list cleaning integrations. Some, like SendGrid, have an Email Validation API that you can plug in to check addresses in real-time. And of course, dedicated verifiers (Sendrella, ZeroBounce, etc.) can be used periodically to clean your list of potential hard bounces before you send.
A Quick Look at Bounce Codes (for the Curious)
(If you’re not interested in technical details, you can skip this little section! But for those wondering about those numbers like 5.1.1 or 4.2.2 in bounce messages, here’s an overview.):
- Traditional SMTP status codes are three digits. 4xx = temporary (soft), 5xx = permanent (hard).
- Enhanced bounce codes have three numbers separated by dots (like 5.1.1). For example, 5.1.1 means bad destination email address (user doesn’t exist). 5.2.2 often denotes mailbox full. 4.2.1 might mean service not available, etc. The first digit is 4 or 5 for temp/permanent, the second digit and third give more detail (like 5.1.x is about address errors, 5.2.x about mailbox issues, 5.7.x about security/policy issues, etc.).
- You don’t have to memorize codes. Just know to look at that bounce message text. It usually says something human-readable after the code, like “<user>@<domain>: host said: 550 5.1.1 User unknown”. Now you can confidently interpret: 550/5.1.1 = hard bounce, user doesn’t exist – time to remove that email.
Conclusion
Understanding the difference between hard and soft bounces helps you take the right action and keep your email campaigns healthy. Hard bounces are brick walls – address gone, do not pass go. Soft bounces are speed bumps – slow down, maybe try again later. Both types should be monitored, but hard bounces demand immediate cleaning, while soft bounces demand a bit of patience and observation.
By managing bounces well – and using verification tools to avoid as many as possible – you’ll maintain a good sender reputation and improve your chances of reaching the inbox. Remember, a few bounces here and there are normal for everyone; the goal is to minimize them and respond appropriately. Happy emailing!
Sendrella’s Features include a robust bounce detection and list cleaning functionality. It can identify emails likely to hard bounce before you send, saving you from those dreaded “user unknown” messages. Check out our Blog for a deeper dive into interpreting bounce codes, and see our Home page if you’d like to try a free bounce report on your own list.
Leave a Reply