Wontbounce logo Wontbounce
Get Started

Blog

Hard bounce vs soft bounce

A hard bounce is permanent. A soft bounce is temporary. The code on the refusal tells you which one you have, and whether to delete the address or try again.

6 min read

Hard bounce vs soft bounce

Both are refusals. The receiving server did not accept the message. The difference is whether that refusal can change.

A hard bounce is permanent. The mailbox does not exist, the domain cannot receive mail, or the server will not accept a retry. Sending it again does not fix the address. It tells Gmail and Yahoo that you mail people who are not there.

A soft bounce is temporary. The mailbox may be real. The server was busy, the inbox was full, or the message was too large for that attempt. Retry it. If the same address keeps failing, stop treating it as temporary.

Hard bounce

Remove the address after one failure. It is a list problem. Verification is how you find these before the campaign, not after the report.

Soft bounce

Retry over the next day or two. If hard bounces are near zero and soft bounces are most of the rate, slow the send and check authentication before you blame the file.

SMTP codes that separate them

Mail servers answer with a status code. A 5xx code is permanent. A 4xx code is temporary. Your sending tool may translate that into the words hard and soft. Read the code when the label is vague.

Code Kind What it usually means
5.1.1 Hard The mailbox does not exist. A typo, an invented address, or a closed account.
5.1.2 Hard The domain has no mail servers.
5xx policy Hard The recipient's policy blocks you for good. Do not retry that address.
4.2.2 Soft Mailbox full. The person may still be real.
4xx Soft Server busy, greylisting, a message that is too large, or a short-lived block.

A message in the spam folder is not either of these. The server accepted it. Bounce rate only counts refusals. The formula, the calculator, and the 2% and 5% bands are on Email bounce rate.

What to do with each one

Suppress every hard bounce before the next send. Leaving a 5.1.1 address in the file is how a bad rate becomes a reputation problem. Google's sender guidelines allow unsubscribing people whose mail keeps bouncing. They also say to confirm an address before you subscribe someone.

A soft bounce on one send is a retry. Check the size of the message and whether you just jumped the volume. A new domain that suddenly sends ten times its usual amount looks like a compromised account, and the server defers mail that would have been accepted yesterday.

If hard bounces are most of the rate, the addresses were never real. A syntax check will still call a well-formed string valid. name@gmail.com can be perfectly formatted and still not exist. The mailbox check, without sending a message, is what removes those rows. One Gmail address is free on the free Gmail checker. The rest of the provider list is the bulk check on How we test.

Free credits for a sample file are compared on Free email verification. Authentication and complaints, which a bounce code will not explain, are in email deliverability best practices.

When a soft bounce should be removed

Three soft bounces across separate sends is enough. A mailbox that is “temporarily” full forever is not a customer. Suppress it the same way you suppress a hard bounce.

Do not convert a single 4xx into a deletion, and do not keep a repeating one because the code still says temporary. The pattern is the signal. One busy afternoon is a retry. The same address failing the next three campaigns is a dead row wearing a soft code.

A catch-all company domain can accept the message and bounce later, which looks like a clean send followed by a refusal. That limit is separate from the hard-versus-soft split. Catch-all email verification explains which of those domains can still be resolved.

Common questions

Remove the hard bounces before the next send

100 free credits, no card required. The rate, the calculator, and the 2% line stay on Email bounce rate.

Start verifying free