Skip to content

Home Topics Email Deliverability Bounce handling

Email Deliverability · Bounce handling

Email bounce handling examples: what good and bad look like

Short answer

A good email bounce handling implementation follows these steps: Parse DSN codes: 5.1.x means the address does not exist (hard); 4.x.x means temporary (soft); Suppress hard bounces after one failure and soft bounces after three. A bad one typically treating 'mailbox full' as a hard bounce and losing valid contacts.

Bounce handling is the automated processing of delivery failure notices (DSNs) to classify hard versus soft bounces and suppress addresses accordingly.

What good looks like#

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

What bad looks like#

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

How to move from bad to good#

Work through the good list in order and re-verify after each change. Most teams find one or two items from the bad list already present; fixing those usually produces the largest improvement.

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