How can I verify email addresses for cold outreach?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

You've pulled together a list of a few thousand contacts and you're ready to send. Before you do, it's worth spending 20 minutes on verification. Not because it'll magically fix your deliverability, but because sending to a list full of dead addresses is one of the fastest ways to tank your sender reputation before a single person even reads your email.

Here's how email verification actually works, step by step.

Step 1: Syntax check

This is the most basic pass. It checks that each address follows a valid format (name@domain.com). It's a simple filter, and most tools run it automatically. Don't expect this to catch much on a well-sourced list, but it will catch typos like john@@company.com or missing domain extensions.

Step 2: Domain check

This confirms the domain actually exists and has MX records pointing to a mail server. No MX record means no inbox, full stop. Any email sent there becomes a hard bounce, and enough of those will get your domain flagged.

Step 3: Mailbox-level check (SMTP ping)

And this is where verification tools earn their price. They connect to the receiving mail server and ask, without actually sending anything, whether the specific mailbox exists. Think of it as knocking on the door before walking in. If the server says the address doesn't exist, that's your clearest signal to suppress it.

There's a catch, though. Some servers, especially large corporate ones and Microsoft-hosted domains, use catch-all configurations. That means they'll accept mail for any address at that domain regardless of whether the mailbox is real. A catch-all result doesn't mean the address is good. It means the server won't confirm either way. Most tools label these separately, and you'll need to decide your own risk tolerance. (For cold outreach, suppressing catch-alls is generally the safer call.)

Step 4: Risk classification

Good verification tools go a layer deeper and flag addresses that are technically valid but likely to hurt you. This includes disposable addresses (temp-mail services), role-based addresses like info@ or abuse@, known spam trap patterns, and addresses associated with domains that have high complaint histories. These won't always bounce, but sending to them is still a bad idea.

Tools worth trying

For bulk verification before a cold send, ZeroBounce, NeverBounce (now ZeroBounce), and Hunter.io are the most commonly used. They all run syntax, domain, and SMTP checks, and classify results into categories like Valid, Invalid, Catch-all, Disposable, and Unknown. Pricing is usually per-credit, so a one-time clean before a campaign is affordable.

If you'd rather not manage vendor relationships, RME Clean does the same job and hands you back seven sorted files (Valid, Monitor, Suppress, and more) so you know exactly which segment goes where. No guessing. See how it works here.

What verification won't do

So this part matters. Verification tells you whether an address can receive mail. It does not tell you whether the person wants your email, whether you have legal grounds to contact them, or whether your message will land in the inbox rather than spam. Recycled spam traps (old real addresses repurposed by blocklist operators) will often pass SMTP checks because the mailbox technically exists. No tool catches all of them.

Verification is hygiene, not strategy. It reduces your hard bounce rate and removes obviously bad addresses. The rest, permission, relevance, legal basis, sending behavior, is still on you.

If you're unsure about the legal side of your cold outreach list, the question on legitimate interest assessment is a good next read. And if you want to go a step further on validating B2B contacts specifically, the next question in this series covers exactly that.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Build my verification workflow

I have a list of contacts I want to cold email. Based on my situation below, help me plan a verification workflow before I send. Tell me which verification steps matter most, what to do with catch-all results, how to handle the addresses flagged as 'Unknown', and what I should still be cautious about even after a clean verification pass.

Edit the yellow boxes, then send to the AI of your choice.