← All posts

How to reduce your email bounce rate (and keep it down)

Jul 17, 2026 · 6 min read

A bounce is not just a failed delivery. Gmail, Outlook and every serious mailbox provider watches the percentage of your mail that hard-bounces, and uses it as a direct signal of whether you are a careful sender or a spammer with a scraped list. Cross their tolerance — the commonly cited line is around two percent — and the mail that doesn't bounce starts landing in spam instead.

Most teams attack this backwards: they wait for a campaign to bounce, then prune. By that point the reputation damage is done. The durable fix has three parts — stop bad addresses at capture, clean lists before every send, and treat ambiguous addresses honestly.

Where bounces actually come from

Hard bounces are almost never random. They come from typos at signup (gamil.com, hotmial.com), from role addresses that got retired (info@, sales@), from employees who changed jobs — B2B lists decay fast as people move — and from disposable addresses someone used to grab a coupon two years ago.

Each of those failure modes is detectable before you ever send, which is the entire point of verification: the bounce you prevent never touches your reputation.

Step one: verify at the point of capture

The cheapest bad address is the one that never enters your list. Wire verification into every place an email crosses the threshold — signup forms, checkout, newsletter boxes, lead magnets. A real-time check catches the typo while the user is still there to fix it, which recovers the signup instead of silently losing it.

A proper check goes far beyond regex: it confirms the domain exists and has MX records, asks the receiving server about the specific mailbox with an SMTP handshake, and flags disposable and role addresses so you can decide policy per form.

Step two: clean the list before every meaningful send

Verification is not a one-time baptism. Addresses that were valid at signup die continuously — mailboxes close, domains lapse, companies migrate providers. Run the full list through bulk verification before campaigns that matter, and on a schedule for lifecycle mail.

Segment the result honestly: send to deliverables, drop undeliverables, and quarantine the risky middle rather than gambling your domain on it.

Step three: handle catch-alls like an adult

Catch-all domains accept mail for any address during the handshake, then bounce the bad ones later — so no verifier on earth can promise certainty from a single probe. What a good one can do is probe the domain with a deliberately fake address, compare behaviour, map the provider behind it, and give you a calibrated risk score instead of a false 'valid'.

Treat catch-alls as their own segment: warm them with low-volume, high-engagement sends before adding them to the main list.

The checklist

  • Verify on every capture form, with a real SMTP check, not just syntax.
  • Block disposable domains where the signup gates something of value.
  • Bulk-verify the whole list before campaigns and quarterly for lifecycle mail.
  • Drop hard-undeliverables immediately — no second chances.
  • Segment catch-alls and risky addresses; warm them separately.
  • Watch your bounce rate per campaign, and treat any spike as an incident.

What this looks like with Trumailo

Trumailo runs eight deliverability signals per address — syntax, MX, real SMTP RCPT TO handshake, catch-all probe, disposable list, role detection, provider mapping and domain reputation — and returns a verdict fast enough to sit inline in a signup form, with cached responses under ten milliseconds. Bulk lists run through the same engine asynchronously. It is open source, and free during the public beta.