logo
Deliverability

Hard Bounce vs Soft Bounce: What to Do About Each

Hard bounces are permanent, soft bounces are temporary. Learn how to read the codes and the exact action each one needs.

07 Jun 20262 min read
Hard Bounce vs Soft Bounce: What to Do About Each

A bounce is a delivery failure reported by the receiving server. There are two families, and they need different treatment.

Hard bounce: permanent

The address does not exist, the domain is invalid, or the server permanently refuses mail. These usually come with 5xx codes.

Action: remove the address immediately. Retrying only hurts your reputation.

Soft bounce: temporary

The mailbox is full, the server is down, or the message is too large. These come with 4xx codes.

Action: retry for a short period. If the same address soft bounces across several campaigns, treat it as dead and remove it.

Blocks are a third case

Some bounces say the message was blocked because of reputation or content. These are about you, not the address. Check authentication, content and complaint rates.

A simple rule set

  • 1 hard bounce: remove
  • 3 soft bounces in a row: remove
  • Block messages: investigate your sending, do not remove the contact

Prevent them

Verification catches most future hard bounces before you send. Use the email checker or the bulk verifier.

Reading the bounce code

Bounce messages carry a status code that tells you what kind of failure it was. The first digit is the key: 5.x.x is permanent, 4.x.x is temporary.

  • 5.1.1 means the recipient does not exist: a hard bounce, remove the address.
  • 4.2.2 means the mailbox is full: a soft bounce, retry later and stop after a few attempts.
  • 5.7.1 is usually a policy block, often about your sending reputation or authentication, not about the address.

Our error code library explains each code and what to do about it.

A practical suppression rule

  • Remove hard bounces immediately and permanently.
  • For soft bounces, retry up to three times over a few days, then suppress the address if it keeps failing.
  • Treat a policy block (5.7.x) as a sender problem. Do not delete the contact. Fix authentication or reputation, then resend.

Why the distinction pays off

If you treat every bounce as final, you lose customers whose mailbox was only full for a weekend. If you treat every bounce as temporary, you keep sending to dead addresses and damage your reputation. Reading the code is the cheap way to get both right.

Verifying before you send removes most hard bounces before they happen. Start with the bulk verifier.

Mailbite Editorial TeamPractical guides on email verification and deliverability.