Email Deliverability13 min read

Hard Bounce vs Soft Bounce: What to Fix First

Understand hard bounce vs soft bounce causes, what each means for deliverability, and how to decide whether to retry, suppress, or verify.

B
The Bounceable Team
Mail sorting station showing one stopped envelope and one retrying envelope

If you send email at scale, you need to understand hard bounce vs soft bounce before you decide what to retry, suppress, or investigate. The wrong action can waste sends, inflate your email bounce rate, and damage sender reputation.

A hard bounce usually means “stop sending.” A soft bounce usually means “retry carefully, then decide.”

Hard bounce vs soft bounce: the quick difference

A hard bounce is a permanent delivery failure, while a soft bounce is a temporary or conditional delivery failure.

That is the simple version. In practice, your email service provider may classify bounces differently based on its own rules, the SMTP response, and past behavior from the recipient domain.

Bounce typeWhat it meansTypical actionExample
Hard bouncePermanent failureSuppress the addressMailbox does not exist
Soft bounceTemporary or conditional failureRetry with limitsMailbox full or server temporarily unavailable
Unknown bounceNot enough signalInvestigate or treat cautiouslyAmbiguous SMTP response
Policy rejectionMessage blocked by policyFix cause, then decideAuthentication, reputation, or content issue

Hard bounces are permanent failures

A hard bounce means the receiving system rejected the message in a way that suggests future sends will fail too.

Common examples include:

  • The mailbox does not exist.
  • The domain does not accept mail.
  • The address has a typo.
  • The recipient address was disabled.
  • The receiving system says the user is unknown.

If an address hard bounces, you should usually stop sending to it. Keeping it active creates avoidable delivery failures.

Soft bounces are temporary or conditional failures

A soft bounce means the receiving system could not accept the message at that moment, but the address may still be valid.

Common examples include:

  • The mailbox is full.
  • The receiving server is busy.
  • The sender hit a rate limit.
  • The message is too large.
  • The domain is using greylisting.
  • The message failed a temporary policy check.

Soft bounces need more context. One soft bounce does not always mean the address is bad. Ten soft bounces over multiple campaigns probably does.

Bounce classification varies by provider

Do not assume every provider labels bounces the same way.

One platform may call a rejection a hard bounce because the SMTP response looked permanent. Another may call the same event a soft bounce because the domain is known to return vague or misleading errors.

When you can, inspect:

  • SMTP status code
  • Enhanced status code
  • Bounce reason text
  • Number of previous failures
  • Recipient domain
  • Campaign type
  • Recent authentication or reputation changes

The label matters. The reason matters more.

Common hard bounce causes

Hard bounces usually come from bad recipient data or addresses that no longer accept mail.

You should treat most hard bounce causes as list-quality problems, not campaign problems.

Invalid or nonexistent mailbox

This is the classic hard bounce.

The mailbox never existed, was deleted, or was disabled. The receiving server accepts mail for the domain but rejects that specific user.

Example reasons may look like:

  • user unknown
  • mailbox not found
  • recipient does not exist
  • invalid recipient

These addresses belong on your suppression list. Do not keep retrying them.

Expired, typoed, or fake email address

Some addresses hard bounce because the user entered bad data.

Examples:

  • jane@gmial.com
  • alex@company.con
  • test@test.com
  • nope@fake-domain.example

Typos are common on signup forms. Fake addresses are common when users want a gated asset but do not want follow-up.

Hard bounce prevention starts before the send. Catch obvious typos and invalid domains at collection time.

Domain that no longer accepts mail

Sometimes the mailbox may look reasonable, but the domain cannot receive email.

This can happen when:

  • The company shut down.
  • The domain expired.
  • MX records were removed.
  • The domain was parked.
  • The domain accepts web traffic but not email.

These failures often appear when you email old lists. A list that was clean two years ago can still become risky today.

Blocked or rejected addresses that should be suppressed

Some bounces are not simple “user unknown” failures. The receiving system may reject mail because it does not want traffic from you, your IP, your domain, or your provider.

These can include:

  • Known spam trap-like patterns
  • Recipients that previously complained
  • Addresses blocked by internal policy
  • Domains that reject your sending infrastructure

Be careful here. A policy rejection may point to a sender-side issue. But if a specific address repeatedly rejects mail and never engages, it can still become a suppression candidate.

Common soft bounce causes

Soft bounces usually mean the recipient system could not accept the message right now.

You should retry soft bounces, but you need guardrails. Unlimited retries create noise and can hurt deliverability.

Full mailbox, temporary server error, rate limiting, or greylisting

Many soft bounces come from temporary receiving-side conditions.

Typical causes include:

  • Mailbox storage is full.
  • Receiving server is down or overloaded.
  • Recipient domain rate-limited your traffic.
  • Greylisting delayed the first delivery attempt.
  • Connection timed out.

Greylisting is common on some domains. The receiving server temporarily rejects the message and expects your sending server to try again later. Legitimate mail systems retry. Poor senders often do not.

Rate limiting is different. It can mean you sent too fast to a domain. Large mailbox providers may slow acceptance when they see unusual volume, low engagement, or reputation concerns.

Some soft bounces happen because of the message itself.

Watch for:

  • Large attachments
  • Heavy images
  • Broken or suspicious links
  • URL shorteners
  • Content that triggers temporary filtering
  • Too many recipients in one message

A content-related soft bounce does not always mean the address is invalid. It may mean that message could not be accepted under current policy.

If many recipients at the same domain soft bounce on the same campaign, compare that campaign against recent successful sends.

Temporary reputation or authentication issues

Soft bounces can also point back to your sending setup.

Common sender-side causes include:

  • SPF failure
  • DKIM failure
  • DMARC alignment problem
  • New sending domain with low history
  • Sudden volume spike
  • Poor engagement
  • Recent complaint increase
  • Blocklist or filtering event

These deserve fast investigation. Retrying without fixing authentication or reputation can turn a temporary issue into a broader inbox placement problem.

If soft bounces spike across many domains at once, do not assume the list went bad overnight. Check authentication, DNS, campaign content, and sending volume first.

What to do after a hard bounce

After a hard bounce, suppress the address immediately in most cases.

That is the safest default. A hard-bounced address has already told you it is not deliverable. Repeated sends add no upside.

Suppress hard-bounced addresses immediately in most cases

Add the address to your suppression list after the first clear hard bounce.

Your suppression record should include:

  • Email address
  • Bounce type
  • Bounce reason
  • Source campaign or workflow
  • Timestamp
  • Provider or system that reported it

This helps you avoid re-importing the same bad address later.

Avoid repeated sends that damage sender reputation

Mailbox providers track failed delivery patterns.

If you repeatedly send to invalid users, you look careless. That can affect how providers treat the rest of your mail, including messages sent to valid subscribers.

Repeated hard bounces suggest:

  • Poor list acquisition
  • Weak signup validation
  • Old or stale contacts
  • Scraped or purchased data
  • Bad CRM hygiene

The fix is not to retry harder. The fix is to stop sending to bad addresses.

Use verification before importing, reactivating, or sending to old lists

Verify addresses before you send when risk is higher.

That includes:

  • Old newsletter lists
  • Dormant customer segments
  • CRM imports
  • Event attendee uploads
  • Sales prospect lists
  • Partner-sourced contacts
  • Reactivation campaigns

Real-time verification helps you catch invalid, disposable, typoed, and risky addresses before they produce bounces. This is where a tool like Bounceable fits well: you can verify an address before it enters a form, workflow, or bulk send.

What to do after a soft bounce

After a soft bounce, retry only within a defined limit.

One temporary failure is normal. Repeated temporary failures become a deliverability signal.

When retrying is reasonable

Retrying is reasonable when the bounce reason suggests a temporary condition.

Good retry candidates include:

  • Mailbox full
  • Server temporarily unavailable
  • Connection timeout
  • Greylisting
  • Temporary DNS issue
  • Rate limit response

Most email platforms already retry soft bounces automatically for a period of time. You still need a policy for what happens after those retries fail.

How many retries are too many

There is no universal number. Your limit should depend on your sending frequency, audience, and risk tolerance.

A practical rule:

  • Retry normal transactional messages for a short window.
  • Retry marketing campaigns less aggressively.
  • Stop retrying after repeated failures across multiple sends.
  • Suppress if the address soft bounces repeatedly and never engages.

For marketing mail, many teams treat 3 to 5 consecutive soft bounces as a review or suppression trigger. For high-value transactional email, you may keep a shorter retry window but alert the user through another channel if possible.

Signals that repeated soft bounces should become suppression candidates

A repeated soft bounce becomes more serious when it appears with other negative signals.

Suppress or quarantine the address when you see:

  • Multiple consecutive soft bounces
  • No opens, clicks, logins, or purchases
  • Old signup date
  • Risky domain type
  • Previous complaints
  • Vague or suspicious rejection text
  • No successful delivery in recent history

Do not let “soft” become an excuse for endless sending.

How bounce types affect sender reputation

Mailbox providers use bounce patterns to judge whether you send wanted mail to valid recipients.

A high email bounce rate tells providers that your list quality is weak. That can reduce trust in your mail stream.

Why mailbox providers track failed delivery patterns

Mailbox providers want to protect their users and infrastructure. Failed delivery patterns help them identify poor senders.

They may look at:

  • Invalid recipient rate
  • Unknown user rate
  • Complaint rate
  • Spam trap hits
  • Engagement
  • Authentication pass rates
  • Sending consistency
  • Domain-level rejection patterns

Bounces are not the only factor. But they are an important one because they reveal how well you know your audience.

How high bounce rates can reduce inbox placement

High bounce rates can lead to:

  • More throttling
  • More spam placement
  • Lower domain reputation
  • Lower IP reputation
  • More temporary failures
  • Harder recovery after a campaign mistake

Many senders aim to keep bounce rates below roughly 2%. Lower is better, especially for cold outreach or reactivation sends where risk is naturally higher.

Track bounce rate by campaign, domain, source, and list age. Aggregate bounce rate hides the segment that is causing the damage.

Why stale lists, scraped contacts, and disposable emails create avoidable risk

Bad sources create bad bounces.

High-risk inputs include:

  • Purchased lists
  • Scraped contacts
  • Old exports from a CRM
  • Webinar lists with no consent trail
  • Co-marketing lists with unclear origin
  • Disposable or burner email domains
  • Catch-all domains with no mailbox confirmation

Disposable addresses are especially risky for lifecycle marketing. They may work once, then disappear. They also tend to produce low engagement.

A clean email list is not just “valid syntax.” It is a list of people who can receive mail and have a reason to expect it.

How to prevent both hard and soft bounces

The best bounce handling happens before the campaign leaves your system.

You prevent hard bounces with validation and verification. You reduce soft bounces with better list hygiene, authentication, sending patterns, and segmentation.

Verify emails at signup and before bulk campaigns

Use two layers:

  1. Real-time verification at capture

    • Signup forms
    • Checkout flows
    • Demo requests
    • Lead forms
    • Trial creation
  2. Batch verification before risky sends

    • Old lists
    • Imported contacts
    • Reactivation campaigns
    • Cold outreach
    • CRM cleanup

Real-time checks stop bad data at the door. Batch checks clean up what already exists.

Catch typos, disposable domains, role accounts, and risky catch-all results

Not every deliverable address has the same risk.

A good verification process should identify:

  • Invalid syntax
  • Missing MX records
  • Nonexistent mailboxes
  • Typoed domains
  • Disposable domains
  • Role accounts like info@ or support@
  • Free providers
  • Catch-all domains
  • Unknown or risky results

Catch-all domains need special handling. A domain may accept any address at the SMTP level, even if the mailbox is not real. That makes the address harder to classify.

Here is an illustrative verification result:

{
  "email": "jane@gmial.com",
  "verdict": "undeliverable",
  "risk": "high",
  "reason": "invalid_domain",
  "suggestion": "jane@gmail.com",
  "disposable": false,
  "role": false,
  "catch_all": false
}

The important part is not the field names. It is the decision you make from the result.

Maintain suppression lists and remove inactive or stale contacts

Email list hygiene is an ongoing process.

Your hygiene routine should include:

  • Suppressing hard bounces
  • Reviewing repeated soft bounces
  • Removing known complainers
  • Excluding unsubscribed contacts
  • Cleaning old imports
  • Segmenting inactive subscribers
  • Verifying stale records before reactivation
  • Blocking disposable domains where they create abuse

A suppression list protects you from repeating old mistakes. Treat it as shared infrastructure, not a marketing preference.

Bounce handling rules you can copy

You need written bounce rules so marketing, sales, lifecycle, and engineering make the same decisions.

Use these as a starting point and adjust based on your platform, audience, and sending risk.

SituationRecommended ruleWhy
Clear hard bounceSuppress immediatelyPermanent failure. Retrying hurts reputation.
Typo detectedCorrect if user-confirmed or suggested confidentlyPrevents avoidable invalid sends.
Disposable domainBlock, flag, or segment based on use caseOften low value and short-lived.
Role accountAllow for B2B if expected; flag for reviewMay be valid but lower engagement.
Catch-all resultTreat as risky unless mailbox can be probedSMTP acceptance does not prove mailbox exists.
One soft bounceRetry normallyTemporary failures happen.
3–5 consecutive soft bouncesQuarantine or suppress if no engagementRepeated failure suggests persistent risk.
Unknown resultSend cautiously or verify again laterAvoid over-trusting ambiguous data.
Old inactive contactVerify before reactivationStale data drives bounces.

Document bounce policies for every team

Your policy should answer:

  • What counts as a hard bounce?
  • What counts as a soft bounce?
  • When do you suppress?
  • Who can remove an address from suppression?
  • How do you handle imported lists?
  • How do you handle catch-all domains?
  • How often do you clean inactive contacts?
  • What bounce rate triggers investigation?
  • What happens when one domain starts rejecting mail?

Keep the policy short. Make it operational. Store it where campaign builders and RevOps can find it.

Where Bounceable fits into a pre-send workflow

Use verification before addresses hit your sending platform.

A simple workflow looks like this:

  1. User submits an email address.
  2. You verify it in real time.
  3. You block or correct invalid and typoed addresses.
  4. You flag disposable, role, catch-all, risky, or unknown results.
  5. You store the verdict in your CRM or database.
  6. You suppress hard failures and risky records based on policy.
  7. You re-verify stale records before large sends.

Bounceable can return deliverability verdicts, bounce risk, disposable-domain detection, role-account flags, catch-all signals, and typo suggestions through an API or integrations. That gives you cleaner data before your ESP ever has to process a bounce.

Catch bad addresses before they bounce.
Verify your list free

Frequently asked questions

Keep reading