Skip to content

Home Topics Email Deliverability Bounce handling

Email Deliverability · Bounce handling

Email bounce handling not working? Troubleshooting guide

Short answer

When email bounce handling fails, check in this order: the DNS or platform configuration is published and resolves; the sending system is actually using it; the domain in headers aligns with what you published; and the receiver's verdict in Authentication-Results or bounce messages.

Symptoms#

  • Messages landing in spam despite previously good placement
  • Bounces mentioning policy, authentication, or reputation
  • Provider dashboards showing a drop in reputation or authentication pass rate

Diagnosis steps#

  1. Confirm the configuration is live: query DNS from an external resolver and check the sending platform's settings page.
  2. Send to a seed mailbox and read the full headers, especially Authentication-Results.
  3. Compare the domains in From, Return-Path, and DKIM d= for alignment.
  4. Check provider dashboards (Google Postmaster Tools, Microsoft SNDS) for reputation and error rates.
  5. Review recent changes: new vendors, DNS edits, list imports, volume spikes.

Likely causes#

  • Treating 'mailbox full' as a hard bounce and losing valid contacts.
  • Ignoring 'blocked by policy' bounces that signal a blocklist or DMARC failure.

Fix and re-verify#

  1. Parse DSN codes: 5.1.x means the address does not exist (hard); 4.x.x means temporary (soft).
  2. Suppress hard bounces after one failure and soft bounces after three.
  3. Route bounce notifications to a monitored mailbox or webhook.
  4. Review bounce reasons weekly for patterns like 'blocked' that indicate reputation issues.

Frequently asked questions#

What is the difference between a hard and soft bounce?

Hard bounces are permanent failures (bad address). Soft bounces are temporary (full mailbox, server down). Suppress hard immediately.

Analyse your own setup

All analysers
Technical analysis

Email header analyser

Read authentication, DMARC alignment, and hop-by-hop delays from raw headers.

Runs in your browser

Keep reading on Bounce handling