Table of contents

The Bounce Triage Guide: What Each Bounce Type Really Means (and What to Fix)

Hugo Pochet
Co-Founder @Mailpool and Cold Email Expert

Email bounces aren’t just “failed sends.” They’re signals, about list quality, authentication, reputation, infrastructure, and whether inbox providers trust you. Treating every bounce the same is how startups and sales teams quietly tank deliverability.
This guide breaks down the bounce types you’ll actually see (and what they really mean), then gives you a practical triage workflow to fix issues fast, before inbox placement drops.

Quick definitions: bounce vs. block vs. complaint

  • Bounce: The receiving server rejected the message during the SMTP transaction.
  • Block: Often a policy rejection (reputation, authentication, content, rate limits). Many tools still label these as “bounces.”
  • Complaint: A recipient marked your email as spam. Not a bounce, but it’s often the root cause of future blocks.

In practice, you’ll triage them together because they affect the same outcome: email deliverability and inbox placement.

The 60-second triage: what to do first

When bounce rates spike, don’t guess. Run this order of operations:

  1. Check if it’s global or isolated
    • One domain (e.g., only Gmail) vs. multiple domains
    • One mailbox vs. all mailboxes
    • One campaign vs. all campaigns
  2. Classify the bounce type
    • Hard bounce (permanent)
    • Soft bounce (temporary)
    • Block/policy rejection
  3. Stop the bleeding
    • Pause the campaign or reduce volume immediately
    • Remove obvious bad addresses (typos, role accounts, dead domains)
  4. Validate the fundamentals
    • SPF, DKIM, DMARC alignment
    • Sending domain reputation
    • IP reputation (shared vs. dedicated)
    • Rate limits and sending patterns
  5. Fix the root cause, then ramp back up
    • Make one change at a time
    • Warm back up gradually

Bounce types (what they mean + what to fix)

Below are the bounce categories you’ll encounter most often. Your ESP or sending tool may label them differently, but the underlying meaning is usually the same.

1) Hard bounce: “User unknown” / “Mailbox does not exist”

What it really means

  • The address is invalid, deleted, or never existed.

Common SMTP clues

  • 550 5.1.1 User unknown
  • 550 Requested action not taken: mailbox unavailable

What to fix (fast)

  • Suppress immediately (never retry). Repeated sends to invalid recipients damages reputation.
  • Tighten list sourcing: avoid scraped lists, stale exports, and “guessing” email formats.
  • Add pre-send validation (syntax + domain + mailbox checks).

Prevention

  • Confirm email patterns with a smaller sample first.
  • Avoid “catch-all guessing” at scale.
2) Hard bounce: “Domain not found” / “No MX records”

What it really means

  • The domain doesn’t exist, is parked, or isn’t configured to receive mail.

Common SMTP clues

  • 550 5.1.2 Domain not found
  • NXDOMAIN / No MX

What to fix

  • Suppress immediately.
  • Improve enrichment and validation before importing.

Prevention

  • Filter out newly registered or suspicious domains if your list source is noisy.
3) Soft bounce: “Mailbox full” / “Over quota”

What it really means

  • The mailbox exists, but can’t accept mail right now.

Common SMTP clues

  • 452 4.2.2 Mailbox full
  • 552 5.2.2 Over quota

What to fix

  • Retry is okay—but cap retries (e.g., 2–3 attempts over several days).
  • If it persists, suppress to protect metrics.

Prevention

  • Not much you can control; treat it as a list hygiene signal.
4) Soft bounce: “Temporary failure” / “Try again later”

What it really means

  • The receiver had a temporary issue (server load, greylisting, transient routing problems).

Common SMTP clues

  • 421 4.7.0 Temporary system problem
  • 451 4.3.0 Try again later

What to fix

  • Reduce sending rate; spikes can trigger temporary throttles.
  • Ensure your sending tool respects backoff and retry logic.

Prevention

  • Keep sending consistent (avoid “nothing for 2 weeks, then 5,000 emails today”).
5) Block / policy bounce: “Message rejected due to content”

What it really means

  • The receiver’s filters flagged your message as spammy or risky.

Common SMTP clues

  • 550 5.7.1 Message rejected
  • 554 5.7.1 Spam message rejected

What to fix

  • Simplify copy: fewer links, fewer tracking parameters, avoid aggressive claims.
  • Remove URL shorteners and suspicious redirect chains.
  • Align your “from” name + domain with your brand (mismatch can look phishy).

Prevention

  • Test copy on seed inboxes.
  • Keep templates plain-text friendly.
6) Block/policy bounce: “SPF/DKIM/DMARC fail”

What it really means

  • Authentication failed or didn’t align with the domain you’re sending from.

Common SMTP clues

  • 550 5.7.26 Unauthenticated email
  • SPF fail / DKIM fail / DMARC policy

What to fix

  • Verify SPF includes the correct sending sources.
  • Ensure DKIM is enabled and signing the correct domain.
  • Set up DMARC and confirm alignment (especially if using subdomains).

Prevention

  • Re-check DNS after any infrastructure change.
  • Keep SPF under the 10-DNS-lookup limit.
7) Block / policy bounce: “IP reputation” / “Sender reputation”

What it really means

  • The receiver doesn’t trust your IP or domain based on past behavior.

Common SMTP clues

  • 550 5.7.1 IP reputation
  • blocked using [provider]

What to fix

  • Pause or drastically reduce volume.
  • Audit list quality (high hard bounce rates and low engagement are reputation killers).
  • Warm up properly (new domain, new inboxes, new IPs).

Prevention

  • Keep per-inbox sending conservative.
  • Don’t scale faster than engagement can support.
8) Throttling: “Rate limited” / “Too many messages”

What it really means

  • You’re sending too fast for that receiver’s policy.

Common SMTP clues

  • 421 4.7.0 Rate limited
  • 452 4.2.1 Too many messages

What to fix

  • Slow down: lower hourly throughput, add randomized delays.
  • Spread volume across more warmed inboxes and domains.

Prevention

  • Build sending schedules that mimic human patterns.
9) Greylisting (common in B2B)

What it really means

  • The receiver temporarily rejects unknown senders to force retries.

Common SMTP clues

  • 451 4.7.1 Greylisted

What to fix

  • Ensure your system retries correctly.
  • Avoid changing IPs/domains too frequently; consistency helps.

Prevention

  • Warm up and maintain steady sending.
10) “Recipient server misconfigured” / “DNS failure”

What it really means

  • The recipient’s mail server has an issue (rarely your fault).

Common SMTP clues

  • DNS lookup failure
  • Host not found

What to fix

  • Retry with backoff.
  • If it repeats for the same domain, suppress.
11) “Message too large”

What it really means

  • Your email exceeds size limits (attachments, heavy HTML, large images).

Common SMTP clues

  • 552 5.3.4 Message size exceeds fixed maximum

What to fix

  • Remove attachments; use a link to a hosted asset.
  • Compress images and simplify HTML.

12) “Relay denied” / “Not permitted”

What it really means

  • You’re trying to send in a way the server won’t relay (often configuration/auth related).

Common SMTP clues

  • 550 5.7.1 Relaying denied

What to fix

  • Confirm SMTP credentials and sending routes.
  • Verify you’re sending through the correct provider for that domain.

What bounce rate is “too high” for cold email?

For cold outreach, you want bounces to be boring.

  • Hard bounce rate: aim for < 2% (ideally < 1%)
  • Soft bounce rate: depends on volume and targeting, but watch trends
  • Any sudden spike: treat as an incident and triage immediately

If you’re seeing 5–10%+ hard bounces, it’s almost always a list quality problem and continuing to send will quickly cascade into blocks.

A practical “fix it fast” checklist

Use this when you need a clean recovery plan.

  1. Pause sending for 12–24 hours if blocks/reputation errors appear
  2. Remove all hard bounces from future sends
  3. Verify SPF/DKIM/DMARC (and alignment)
  4. Reduce per-inbox daily volume and ramp gradually
  5. Improve targeting (better fit = better engagement = better reputation)
  6. Simplify your template (1 link max, minimal formatting)
  7. Rotate domains responsibly (don’t churn new domains weekly)
  8. Warm up new inboxes before scaling

How to reduce future bounces

  • Validate before you send: syntax, domain, MX, and mailbox checks.
  • Segment by risk: new domains, new inboxes, and new lists should start with lower volume.
  • Keep per-domain density reasonable: avoid stuffing too many inboxes on one domain.
  • Watch your patterns: providers hate sudden changes more than they hate moderate volume.
  • Track bounce reasons, not just bounce counts: “5% bounces” is not actionable; “3% user unknown” is.

Bounces are feedback, use them

Every bounce is a clue. The teams that win at cold email don’t just “send more”, they learn faster. If you can classify bounce types quickly and apply the right fix, you protect your sender reputation, improve inbox placement, and scale without burning domains.

Want help triaging bounces and protecting deliverability?

If you’re scaling cold email and bounce types are getting messy, we can help you build a clean, reliable sending foundation, domains, inboxes, DNS, and deliverability setup included. Book a demo to see how Mailpool can help you reduce bounces and scale outreach safely.

Blog

More articles

Everything about cold email, outreach & deliverability

Get started now

You're just one click away from a top-notch email infrastructure with Mailpool.