How to Clean an Email List Before a Cold Email Campaign
A cold email list is the riskiest kind of list to send to. Nobody on it asked to hear from you, the addresses came from a finder or a spreadsheet rather than a signup form, and the domain you send from is probably new. Every bad address on that list costs you twice: once as a bounce that damages the domain, and once as a contact you thought you had and did not.
Cleaning the list before the first send is the single highest-return hour in a cold email campaign. Here is the process, in order, with what to remove and what to keep at each step.
Step 1: Deduplicate and fix the obvious
Before verifying anything, remove duplicates (case-insensitive: John@ and john@ are the same mailbox), strip whitespace, and drop rows with no @ sign. Lists exported from finders and CRMs often have the same person twice with different capitalisation, and sending twice to one person is a fast way to get a complaint.
Fix common domain typos while you are at it: gmial.com, hotmal.com, outlok.com. A verifier will flag these as invalid domains, but the person behind them is real, and the corrected address may be worth keeping.
Step 2: Verify every address
Upload the list to a verifier. It checks each address's syntax, confirms the domain has mail servers, and then asks the mail server whether the mailbox exists, without sending anything. Each address comes back in one of four groups. How to handle each:
| Result | Meaning | What to do |
|---|---|---|
| Deliverable | The server confirmed the mailbox exists | Send |
| Undeliverable | No mailbox, no domain, or the server rejected the address | Remove |
| Risky | Catch-all domain, or a role or disposable address | Segment; decide per type (below) |
| Unknown | The server would not answer: greylisting, timeout, or it blocked the check | Keep in a separate batch; re-verify later |
Step 3: Decide what to do with the risky segment
Risky is not a verdict; it is a flag with a reason. The three reasons need different handling.
Catch-all domains
The domain's server accepts mail for any address, so the verifier cannot confirm the mailbox. On B2B lists this is a big group, often a quarter or more of company domains, and many of the addresses are real. Do not discard them. Send to them after your deliverable segment, in smaller batches, and remove anything that bounces. Prefer addresses with a plausible name pattern over generic ones. The full reasoning is in is it safe to send to catch-all emails.
Role addresses
info@, sales@, support@ and similar. For cold outreach these are rarely worth sending to: they reach a shared inbox or a ticket queue, and they are the addresses most likely to report you. Remove them from the outreach list, and if you want to reach the company, find a named person. See role-based email addresses for the exceptions.
Disposable addresses
Temporary inboxes from services like Mailinator. These should not appear on a B2B list; if they do, remove them. They will never reply and may be spam traps.
Step 4: Handle Unknown honestly
Unknown means the verifier could not get an answer. Common causes are greylisting (the server asks every new connection to come back later), a temporary outage, or a provider that refuses verification connections. Yahoo and Outlook.com in particular reject connections from unfamiliar IPs, so a cold list with many consumer addresses may have a large Unknown group.
Do not treat Unknown as Deliverable, and do not delete it either. Keep it as its own segment, re-verify it a day later (greylisting clears), and send to what remains in a small test batch after the deliverable segment has gone out clean. Watch the bounce rate on that batch and stop if it climbs. For why some addresses stay Unknown, see greylisting explained.
Step 5: Remove what verification cannot see
Some addresses are technically deliverable and still should not be on a cold list:
- Anyone who has unsubscribed or complained before. Keep a permanent suppression list across every tool you use and apply it to every new list.
- Competitors, partners and existing customers who would be confused or annoyed to get a cold pitch.
- Contacts outside your target. A relevant list of 500 outperforms an irrelevant list of 5,000 on replies and does far less reputation damage.
- Addresses in jurisdictions where cold B2B email is restricted. Rules differ by country; know the ones that apply to your recipients.
Step 6: Send in the right order
- Deliverable addresses first, at your warmed-up daily volume.
- Catch-all addresses with a name pattern next, in smaller batches.
- Re-verified Unknowns last, as a test batch.
This order means your domain's first impression on each mailbox provider is a batch with near-zero bounces, and any problems with the riskier segments show up after you have built some history. Check the bounce rate after each batch with the bounce rate calculator; the target is under 2%.
How often to repeat this
B2B addresses decay quickly because people change jobs. A list verified three months ago is not clean today. Re-verify before every new sequence, and re-verify any list older than 60 days before using it again. For the rest of the deliverability picture, including authentication and warmup, see why cold emails land in spam.
InboxSure gives you the four groups above with the reason for each address, and lets you download any combination of them as separate files, so the segments in this guide are a few clicks. Lists of up to 50 addresses are free.
Frequently asked questions
Related reading
Ready to clean your email list?
InboxSure verifies emails via web, bulk CSV upload, or API — security-first and GDPR-friendly.