Email outreach

Email verification before you send: bounces and catch all domains

By Asen Levov, co-founder of Sellinger. Reviewed by Viktorio Shopov. Published . Last updated . 7 minute read.

Verify every email address before an agent sends to it, because a bounce is a public mark against your sending domain and Google tells senders to reduce volume when messages start bouncing. A verifier can check the syntax, whether the domain can receive mail, and usually whether the mailbox exists. It cannot be sure about catch all domains, which accept every address, so treat those as risky rather than valid and send to them last, slowly, or by another channel.

An AI agent will send to whatever is in the queue. A person copying addresses by hand tends to notice a typo; an agent does not. That is the reason verification moves from a nice habit to a step you cannot skip once sending is automated. This post covers what a verifier does, where it stops, and a routine you can follow.

Why do bounces matter?

A hard bounce means the receiving server said the address does not exist or cannot receive mail. Each one tells the mailbox provider that you sent to an address you did not check. Providers watch for senders who do that, because mass mailers with stale or scraped lists are the main source of unwanted mail.

Google's sender guidelines say it plainly: "If messages start bouncing or start being deferred, reduce the sending volume until the SMTP error rate decreases." The page also asks senders to keep the spam rate in Postmaster Tools under 0.30%, and below 0.10% as a goal. Bounces and complaints are separate measures, and both come from the same root, which is who you chose to send to.

For a new mailbox the effect is larger, since there is no history to outweigh a bad first week. The companion post, email warmup is not enough, puts bounces in the wider checklist.

What does a verifier check?

Most tools run a sequence of checks from cheap to costly:

  1. Syntax. Is the address formed correctly, with one @ sign and a valid domain? This removes typos like name@gmial.com only if the tool also checks common misspellings.
  2. Domain and mail servers. Does the domain exist, and does it publish MX records, which say where its mail goes? A domain with no mail servers cannot receive anything.
  3. Mailbox. The tool connects to the mail server and asks, without sending a message, whether the mailbox would accept mail. The depth and reliability of this step vary a lot.
  4. Flags. Is the address on a disposable email service, a role account such as info@ or sales@, or a known spam trap list?

The output is usually a status: valid, invalid, risky or unknown. Different tools use different words, so read the definitions in your own tool and map them to three actions: send, do not send, and handle with care.

Why can a catch all domain not be verified?

A catch all domain is set up so its mail server accepts mail for every address at the domain. Ask it about real.person@company.com and nobody.at.all@company.com, and both get "accepted". The verifier cannot tell the two apart from the outside.

So a catch all result means "the server will not bounce this at the connection stage", not "this person exists". Some of those messages will still be rejected later or land in a mailbox no one reads. Treat them as uncertain.

How should you handle each result?

Table
ValidThe mailbox appears to existSend as normal
InvalidThe address or domain cannot receive mailRemove it from the send list, keep the lead
Catch all or unknownThe server accepts everything or would not answerSend in a small batch, last, or use another channel
DisposableA throwaway addressDo not send
Role accountA shared address such as info@Send only if the role is the right audience

Two notes on that table. Keep the lead. A lead with a wrong email is still a person, and in many cases you can reach them on LinkedIn instead. And mark the reason so that nobody imports the same bad address next month.

How do you build the routine?

  1. Enrich first. Fill missing addresses before verifying, using a source you trust. Sellinger's lead enrichment finds verified emails and phone numbers at $0.01 per lookup from a database of 700M+ contacts. Read more about what enrichment does and does not do.
  2. Verify the whole list, not a sample, immediately before the first send. Data goes stale, so a list verified three months ago is not verified.
  3. Split by result. Valid goes into the main send. Catch all goes into a separate, smaller segment. Invalid goes out.
  4. Start with a small batch of the valid group, in approval mode, and read the first messages.
  5. Check the bounce rate after the first day. If it is above the line you set in advance, stop and find the cause before you continue.
  6. Re-verify older leads before a new campaign, and before a follow up that comes weeks after the first message.

What is a sensible stop rule?

Write one before you send. We publish no universal threshold, because the right number depends on the list, but the shape is always the same:

  • A line for bounces: "If more than X in 100 sends bounce in a day, pause that mailbox".
  • A line for complaints: "If the spam rate in Postmaster Tools passes 0.10%, cut the volume in half".
  • A way back: "Resume at half the volume, and raise it only after three clean days".

Having this on paper means the decision is made when you are calm, not when the numbers are bad.

What does this look like in practice?

In the Shelly installer programme, the agent emailed 3,940 installers in 111 countries between 11 May and 9 October 2026, asked four questions in the body of an email in the installer's language, and 360 installers genuinely replied. The case study counts out of office and delivery notices as not replies. That distinction is built into Sellinger: bounce notices, helpdesk replies and automatic answers are recognised as machine mail, so a bounce is never mistaken for an answer and the agent does not write back to it.

The lesson for your own list is to keep the two apart. A reply rate computed on addresses that never received the mail is a wrong reply rate, and a flattering one.

When should you not send an email at all?

If the lead has a LinkedIn profile and the email is unknown or risky, use LinkedIn. A connection request does not bounce. The post on which channel to start with covers the choice, and LinkedIn plus email cadence shows how to combine them.

A checklist

  • [ ] Missing emails are filled in from a source I trust.
  • [ ] The whole list is verified within days of the first send.
  • [ ] Invalid addresses are removed from the send list but the lead is kept.
  • [ ] Catch all and unknown results are in a separate, smaller segment.
  • [ ] Disposable addresses are not sent to.
  • [ ] The first batch is small and goes through approval.
  • [ ] I wrote a stop rule for bounces and complaints before sending.
  • [ ] Bounce notices are not counted as replies.

Common questions

What does an email verifier check?
Usually four things: that the address is written correctly, that the domain exists and has mail servers, whether the mailbox appears to exist, and whether the address is disposable or a role account such as info@. The depth of the mailbox check varies by tool.
What is a catch all domain?
A domain whose mail server accepts mail for any address, real or not. A verifier cannot tell whether the specific person exists, so the result is unknown or risky, not valid.
What bounce rate is acceptable?
We publish no number. Google advises reducing volume when messages start bouncing or deferring and not raising it until the error rate falls. Choose a stop rule in advance and write it down.
Is verifying enough to protect my domain?
No. A verified address can still mark you as spam. Verification removes one cause, bad addresses, and the other items in the sender reputation checklist remain.
Should I send to risky or unknown addresses at all?
Often, yes, in a small controlled batch, or by another channel. If the lead has a LinkedIn profile, reaching them there avoids the bounce risk entirely.

How Sellinger helps

Read how it works on See lead enrichment, or see a real campaign in Read the Shelly installer programme case study.

Sources

See it on your own accounts

Start with a 30 day free trial, no card. Nothing is sent without your approval unless you turn that on.

Unit4ShellyRocket.ChatGetAcceptPeopleForce

Teams that have used Sellinger

Start free trial