
To clean your email list, you verify every address before you send and remove the invalid, risky and disposable ones. A high number of bounces harms your sender reputation, which reduces the number of emails that reach the recipient's inbox.
Bounces aren't the only problem. Sending to spam traps, frequent complaints and low engagement also harm your sender reputation.
mailbox, disposable or catchAll.The best option is to send an opt-in email once a new prospect gives you an email address. This validates the existence of the email address and also helps your marketing emails to get delivered to the prospect's inbox instead of promotions or spam.
Segment your email list by engagement and remove emails with no engagement over time.
Sending opt-in emails is not always possible. You might have an existing email list or emails were collected offline.
Email verification tools help you to clean and maintain a high-quality email list. They run a series of checks on each address to tell you whether it's safe to use for email marketing.
Here's what CampaignKit checks for every address, and what the result looks like. Other tools work along similar lines, but the codes below are ours.
The core checks:
n/a when the mailbox can't be verified.Every address gets a score from 0 to 10:
| Score | What it means |
|---|---|
| 0 | The email will bounce. |
| 2 | The email can be used, but it looks risky, for example a temporary (disposable) address. |
| 6 | The mail server didn't let us verify the mailbox (verifyRejected), so its existence is unconfirmed. |
| 9 | The address passed, but its domain is catch-all (it accepts mail for any address), so this mailbox can't be confirmed individually. |
| 10 | The address passed all checks, and the server will accept email for it. |
These are reference points, not the only possible values.
When an address doesn't get a clean pass, a result code tells you why:
| Code | What it means |
|---|---|
syntax |
The address isn't correctly formatted. |
domain |
The domain doesn't exist or has no MX record. |
mailbox |
The mail server reported the recipient as unknown. |
verifyRejected |
The mailbox couldn't be verified because the recipient's mail server rejected verification attempts. |
blacklist |
The address was found on our blacklist. |
disposable |
The address or its domain belongs to a temporary email service. |
role |
A role-based address such as sales@ or info@, rather than a person's own mailbox. |
catchAll |
The domain is catch-all: it accepts mail for any address, so this specific mailbox can't be verified on its own. |
didYouMean |
The address failed, but its domain looks like a typo of a well-known provider, so we suggest a correction. |
The 2022 version of this post mixed these up, so it's worth being precise:
catchAll.sales@, contact@ or info@ belongs to a function or team, not a person. It can sit on any domain, catch-all or not. CampaignKit flags it with role.An address can be one, both or neither. Treat them as separate questions when you decide what to keep.
After the free validations, pricing is pay-as-you-go, from $6 for 2,500 emails. Credits never expire, and one credit pool covers both email validation and Email Finder. See email validation pricing for all volumes.
If you want to clean lists automatically, for example as part of an import, you can create the same bulk jobs through the API. The Validation Jobs API docs cover uploading a file, checking the job status and downloading results.
Using Mailchimp? There's a separate guide on cleaning your Mailchimp email list.
Once the job has finished, read the results in this order:
syntax or domain.verifyRejected). Low scores such as 2 mean the address is usable but risky, for example disposable. Deductions stack, so an address with several issues scores lower. Check the result code before you remove anything.Download the results as CSV and import the cleaned list back into your email tool.
A valid-looking address got a middling score. Check the result code. If it's verifyRejected, the recipient's mail server didn't let us verify the mailbox, so the address typically scores 6. The address may be fine. It just can't be proven. If it's also a role address (role), the deductions stack and the score drops further.
An address failed, and there's a suggested correction. That's didYouMean. When an address fails and its domain closely resembles a well-known provider (for example gmai.com instead of gmail.com), the result includes a suggested address and domain. It's only a suggestion: it never appears for an address that passed, and it won't "correct" a domain that is already on the list of known providers. Confirm with the contact rather than rewriting addresses silently.
The job's results are gone. Bulk validation jobs are deleted 30 days after they're created. Download the CSV before then, and re-run the list if you need fresh results.
Regular email verification belongs in every marketer's toolbox. It protects your sender reputation and gives you more reliable numbers on the people you actually reach.
Start by checking a handful of addresses in the free email verifier. Then clean the full list with a bulk upload: new accounts get 200 free validations, no credit card required, and pricing is pay-as-you-go after that. To automate it, use the Validation Jobs API.
Start with 200 free validations. Upgrade only when you're ready.
No credit card required • Cancel anytime