ravn
Guide

Bounces, reputation, and how to keep both in check.

A bounce is a message that could not be delivered, and bounces tell mailbox providers your list is out of date. The fix is boring and reliable: verify addresses before you send, remove hard bounces immediately, and watch soft bounces rather than ignoring them.

By Ravn · 3 November 2026

Start free: 1,000 lookups Read the docs

Two kinds

What is the difference between a hard and a soft bounce?

A hard bounce is permanent. The address will never accept mail. Common causes:

  • The mailbox does not exist, often because the person left the company or the address was mistyped.
  • The domain does not exist, or publishes no mail servers.
  • The receiving server has permanently refused mail from you.

A soft bounce is temporary. The address may work later. Common causes:

  • The mailbox is full.
  • The receiving server is down or overloaded.
  • The message is too large.
  • The server is greylisting new senders and wants a retry.

Servers signal the difference with reply codes. Codes starting with 5 are permanent failures; codes starting with 4 are temporary. Your sending platform reads these and labels the bounce for you.

Why it matters

Why do bounces hurt your sender reputation?

Mailbox providers decide where your mail goes, inbox or spam, partly on your track record as a sender. That record is your sender reputation, tracked against your sending domain and IP addresses.

Bounces are one of the clearest signals in that record. A sender who keeps mailing addresses that do not exist looks like someone using an old, bought or scraped list, which is how spammers behave. Spam traps make it worse: some abandoned addresses are turned into traps that exist only to catch senders who never clean their lists.

The damage spreads. A poor reputation does not just affect the bounced addresses; it can push your mail to spam for everyone, including customers who want it. Major providers publish sender guidelines, and deliverability guidance commonly says to keep hard bounces as close to zero as you can. Your sending platform may also pause or close an account whose bounces climb.

Measuring

How do you calculate your bounce rate?

Divide the number of bounced messages by the number you sent, for a single campaign. Track hard and soft bounces separately, because they mean different things. A rising soft bounce rate on one domain can point to a filtering problem; a rising hard bounce rate almost always points to the list.

Look at the trend, not just one send. A list that was clean last year decays as people change jobs and companies close mailboxes, so the same list bounces more each month it sits unused.

Routine

What does a clean-before-send routine look like?

Run this before any send to a list you have not mailed recently.

  1. / 01

    Remove duplicates and obvious junk

    Dedupe on lowercased address, and drop rows with no @ or with placeholder text. Every row you check costs a lookup, so clean first.

  2. / 02

    Verify every address

    Run the list through an email verifier. With Ravn, npx ravn enrich list.csv --tool validate_email --column Email adds status, risk grade and reason columns.

  3. / 03

    Send to the confirmed

    Mail addresses that came back valid with a high grade.

  4. / 04

    Drop the invalid

    Remove invalid addresses and anything with a reason like mailbox_not_found, no_mx or domain_not_found. Do not "try once more".

  5. / 05

    Handle risky and unknown separately

    Catch-all and unknown addresses go in a small, separate batch, or stay out of cold sends. See the catch-all guide.

  6. / 06

    Suppress after sending

    Add every hard bounce to a suppression list straight away. Retry soft bounces a few times, then suppress addresses that keep failing.

At the source

How do you stop bad addresses getting in at all?

Verify at the point of capture. A check on your sign-up or demo form catches typos while the person is still there to fix them, and flags disposable addresses before they reach your CRM. The email verification API answers in one call, so you can run it when the form is submitted.

Use double opt-in for newsletters, where the person confirms by clicking a link. Only real, reachable addresses make it through. For B2B lists, re-verify on a schedule: addresses tied to a job go stale when people move on.

Costs

What does verifying a list cost with Ravn?

Each address uses one lookup from your plan, and verification is one of our own checks, so it needs no provider key. The free plan has 1,000 lookups to start, and the Ravn plan is $24 a month with 10,000 lookups included, then $1 per 1,000. The CLI saves progress every 25 rows and resumes where it stopped if you hit your spending cap. Details are on the pricing page, and the list verification playbook has the full walkthrough. For a handful of addresses, the free email verifier is enough.

FAQ

Common questions.

All questions →

Should I retry a hard bounce?

No. A hard bounce is permanent. Retrying it only adds another failed delivery to your record. Suppress the address straight away.

Can a verified list still bounce?

Yes, a little. Mailboxes close between the check and the send, and catch-all or unknown addresses cannot be confirmed in advance. Verifying shortly before sending keeps this small.

Do soft bounces affect reputation too?

Less than hard bounces, but a soft bounce that repeats for the same address is often a dead mailbox in practice. Retry a few times, then suppress it.

Is it safe to send to role addresses like info@?

They are often deliverable, but they reach shared inboxes and some senders keep them off marketing lists. The verifier flags them so you can choose.