Skip to content

Platform

Send: campaigns Send: SMTP relay & Email API Verify Deliver AI Automation All features

Developers

API documentation Email API overview Integrations Custom domains

Solutions

Small businesses E-commerce Agencies Startups & SaaS Creators & individuals

Resources

Blog Help center Free email verifier SPF checker DMARC checker Compare platforms Pricing

Hard bounce vs soft bounce, what the difference means for your list

The difference between hard and soft bounces, what the SMTP codes mean, how blocks and complaints differ, and exactly what to do with each so bounces stop hurting your reputation.

InboxRoads Team· ·6 min read

A bounce is a message the receiving mail server did not accept for delivery. The server replies with a code that explains why, and that code tells you whether the problem is permanent (a hard bounce) or temporary (a soft bounce).

The distinction matters because the right response is opposite. Hard bounces should never be mailed again. Soft bounces usually resolve on their own. Treating one like the other either damages your reputation or throws away good contacts.

The short answer

Hard bounce Soft bounce
Meaning Permanent delivery failure Temporary delivery failure
SMTP reply class 5xx 4xx
Typical causes Address or domain does not exist Mailbox full, server busy, rate limiting, greylisting
Will retrying help? No Often, yes
What to do Suppress immediately Retry; suppress if it keeps failing

What a hard bounce is

A hard bounce is a permanent rejection. The receiving server is telling you this address will not accept mail, now or later.

Common causes:

  • The mailbox does not exist. A typo (jon@ instead of john@), a deleted account or someone who left the company.
  • The domain does not exist or has no mail servers configured, often from a typo like gmial.com or an expired company domain.
  • The address is malformed in a way the server rejects outright.

A classic hard bounce reply looks like this:

550 5.1.1 The email account that you tried to reach does not exist.

What a soft bounce is

A soft bounce is a temporary failure. The server could not accept the message right now but might later. Sending systems normally retry soft bounces automatically for a period before giving up.

Common causes:

  • Mailbox full. The recipient is over quota.
  • Server busy or unavailable. The receiving server is down, overloaded or timing out.
  • Rate limiting. The provider is slowing down mail from your sender, often because volume rose suddenly or reputation is uncertain.
  • Greylisting. Some servers deliberately reject the first attempt from an unfamiliar sender and accept a retry.
  • Message too large for the receiving server's limit.

A typical soft bounce reply:

452 4.2.2 The email account that you tried to reach is over quota.

Reading SMTP bounce codes

Bounce replies carry two codes. The first is the three-digit basic reply code from SMTP (RFC 5321). The second is an enhanced status code in the format class.subject.detail (RFC 3463), which is more specific.

The first digit is what separates the two bounce types:

  • 4xx / 4.x.x is a transient failure. Try again later.
  • 5xx / 5.x.x is a permanent failure. Do not retry.

Some codes you will see often:

Code Meaning Type
550 5.1.1 Bad destination mailbox, user unknown Hard
550 5.1.2 or 5.4.4 Destination domain does not exist or cannot be routed to Hard
452 4.2.2 Mailbox full, over quota Soft
552 5.2.2 Mailbox full, reported as permanent by some servers Treat as soft at first, suppress if repeated
421 4.7.0 Try again later, often temporary rate limiting Soft
450 / 451 4.x.x Temporary local problem or greylisting Soft
550 5.7.1 Delivery not authorized, message refused by policy Block
5.7.26 (Gmail) Unauthenticated mail, failed SPF, DKIM or DMARC checks Block, fix authentication

Two caveats. Servers do not all use codes consistently, and the human-readable text after the code often matters as much as the number. A 5xx reply that says "mailbox temporarily disabled" or "try again later" behaves more like a soft bounce. Good bounce handling looks at both.

Blocks and complaints are separate categories

Not every rejection is about the recipient's address.

Blocks

A block (sometimes called a policy or reputation bounce) happens when the server rejects your message because of who sent it or what it contains, not because the address is bad. Causes include failed authentication, a sending domain or IP on a blocklist, spam-like content, or a poor sending reputation.

Suppressing the recipient does not fix a block. The address may be perfectly valid. Instead, fix the cause. Check authentication with the SPF checker, review SPF, DKIM and DMARC, look at your list sources and content, and slow down volume.

Complaints

A complaint is not a bounce at all. The message was delivered, and the recipient clicked Report spam. Some providers pass complaints back to senders through feedback loops. Gmail shows an aggregate spam rate in Postmaster Tools instead.

Complaints should be suppressed immediately. That person has told you clearly they do not want your mail, and continuing to send is one of the fastest ways to damage deliverability.

What to do with each type

  1. Hard bounce. Suppress the address permanently after the first hard bounce. Do not retry, and do not re-import it.
  2. Soft bounce. Let automatic retries run. If the same address soft bounces across several consecutive campaigns, treat it as dead and suppress it.
  3. Block. Do not suppress the recipient. Investigate authentication, reputation and content, and fix the root cause before sending more.
  4. Complaint. Suppress immediately and review how that contact was collected.

Why hard bounces must be suppressed

Mailbox providers watch how often you send to addresses that do not exist. A sender who repeatedly mails dead addresses looks like one who does not maintain its list, or who bought or scraped it. That affects how your mail to everyone else is treated.

There is also a spam trap risk. Some abandoned addresses are later turned into traps that catch senders who never clean their lists. An address that hard bounces today and keeps getting mailed is exactly the kind of address that can become a problem later.

And if you pay per send, every repeat send to a dead address is wasted money.

How verification reduces bounces

Suppression reacts after a bounce happens. Verification prevents many of them in the first place. Before you send to an imported or older list, verification checks syntax, whether the domain exists and accepts mail, whether it is a disposable service and, where a mailbox-level check is available, whether the mailbox exists. Addresses that would hard bounce are removed before they ever touch your reputation.

Verification does not catch everything. Catch-all domains, temporary server issues and mailboxes that close after the check can all still bounce. It lowers bounces; it does not eliminate them. The full process is in how to verify an email list, and you can run a bulk check through email verification.

How InboxRoads handles bounces

  • Hard bounces are suppressed automatically. They go to your suppression list and are skipped in future campaigns, even if the address is re-imported.
  • Complaints and unsubscribes are suppressed the same way.
  • Campaigns auto-pause if bounce or complaint rates cross set thresholds, so one bad list does not keep damaging your reputation mid-send.
  • Reports show sent, delivered, bounced and unsubscribed counts for every campaign.

FAQ

Is a hard bounce my fault?

Not always. People close accounts and companies change domains. But a high hard bounce rate usually points to an old, unverified or poorly collected list.

How many soft bounces before I remove an address?

There is no universal rule. A common approach is to suppress addresses that soft bounce across several consecutive campaigns. Mailbox-full errors that persist for weeks usually mean the mailbox is abandoned.

Can a hard-bounced address ever become valid again?

Occasionally, for example if a domain is restored. The risk of sending to it again is rarely worth it. Only reintroduce an address if the person re-subscribes.

What is a good bounce rate?

Lower is always better, and there is no official universal benchmark. If bounces jump on a campaign, stop and verify the list before sending more.

Put this into practice with InboxRoads

Verify your list, authenticate your domain and send campaigns from one place. Pay only for the credits you use.

Keep reading