Guide · Lead data
How to verify an email list before a cold email campaign
What verification results mean, a six-step cleaning routine, and how to treat catch-all and unknown addresses.
The short answer
Verify every address shortly before a campaign, send only to addresses marked valid, and treat catch-all and unknown results as a separate, smaller test group. Remove duplicates and obvious bad data first, and watch the bounce rate closely in the first days of sending.
Verification does not make a list relevant, and it does not guarantee delivery. It removes one avoidable risk: sending to addresses that do not exist.
Why bounces matter
When you email an address that does not exist, the receiving server rejects it with a hard bounce. Mailbox providers notice when a sender produces many of these, because it suggests the list was bought, scraped or left to go stale. A high bounce rate can hurt the reputation of your sending domains and mailboxes, which affects every later email, including the ones to valid addresses.
Many sending platforms also set their own limits. NeverBounce, for example, gives separate advice for senders whose provider requires a bounce rate below 4%. Check the limits of your own platform before you start.
What verification results mean
Verification tools check each address against its mail server without sending an email. The names vary slightly between tools, but most return these groups:
| Result | What it means | Send? |
|---|---|---|
| Valid | The address exists and is accepting mail | Yes |
| Invalid | The address does not exist or is not accepting mail, so it will bounce | No |
| Disposable | A temporary address, usually created to avoid giving a real one | No |
| Catch-all (accept-all) | The domain’s server accepts every address, so the individual address cannot be confirmed | With care, see below |
| Unknown | The server did not give a clear answer in time | Re-verify first |
The table follows NeverBounce’s result codes. ZeroBounce, MillionVerifier and similar tools use comparable groups.
A six-step verification routine
- Start from a targeted list. Build the list against a clear ideal customer profile. Verification cannot fix a list of people who have no reason to hear from you.
- Remove duplicates. De-duplicate by email address, and check the list against your CRM, past campaigns and your opt-out list. Never re-contact someone who asked you to stop.
- Clean obvious problems. Remove addresses with typos, missing domains or spaces, and addresses that clearly do not belong to the person named.
- Review role addresses. Generic inboxes such as info@ or sales@ are shared, rarely reach a decision-maker and are more likely to generate complaints. Most teams leave them out of personal outreach.
- Verify close to the send date. People change jobs and companies change email systems, so a list verified months ago is no longer reliable. Verify again if the list has been sitting unused.
- Split the results. Send the main campaign to valid addresses only. Remove invalid and disposable addresses permanently. Keep catch-all and unknown addresses in a separate group.
Handling catch-all and unknown addresses
Many catch-all addresses are real, but the verifier cannot prove it. Unknown results are not negative; the server simply did not answer clearly.
- Re-verify unknown addresses after a few hours. Many become valid or invalid on the second check.
- Send to catch-all addresses in small batches from the same sending setup, and stop if bounces rise.
- Prioritise catch-all contacts from sources you trust, such as data you enriched yourself, over addresses from unknown origins.
- Never mix a large catch-all group into the main campaign, where a bad batch would affect everything else.
After the campaign starts
- Check bounce rates daily in the first week, per mailbox and per domain.
- Remove every address that hard-bounces, and add it to a suppression list so it is never imported again.
- Watch spam complaints as well as bounces. Google asks senders to keep the spam rate shown in Postmaster Tools below 0.3%, and recommends staying under 0.1%.
- If bounces rise suddenly, pause the campaign and check which list segment they came from before sending more.
For the sending side of a campaign, see our cold email infrastructure checklist.
Introductory call
Let’s talk about your outreach and follow-up.
A 30-minute call to understand your requirements, current challenges and goals — and whether we’re a good fit.
- Pick a time that suits your time zone
- Talk through your setup and goals
- Discuss possible approaches — no obligation