Cleaning a list is repairing something. The address was typed wrong, or invented, or entered by a bot, and your form accepted it and wrote it to a database. Everything afterwards is dealing with that decision.
There are four sources of junk at a form and they need different answers. Genuine typos, where someone meant gmail.com and typed gmial.com. Deliberate fakes, from people who want the download and not the newsletter. Bots filling forms automatically. And role addresses, which are frequently legitimate and worth flagging rather than blocking.
A format check catches none of these. asdf@asdf.com is perfectly well formed. So is a real-looking address at a domain that has never existed.
The fixes are cheap and they stack. Each one removes a different category, and together they turn list cleaning from a recurring project into an occasional one.
The stack that works
A loose format check first, to catch a pasted sentence. Keep it permissive: plus addressing and apostrophes are legal and rejecting them turns away exactly the technical users you want.
An MX lookup on the domain, which is one DNS query and eliminates typo domains entirely. This is the highest-value check per unit of effort on the whole list.
A typo suggestion for near-miss domains. Someone who typed gmial.com will accept a prompt asking whether they meant gmail.com, and will leave if you tell them their address is invalid.
A real-time verification call where the stakes justify it, with a short timeout and a rule that a non-answer never blocks the signup. Accept and flag instead.
A honeypot field and a rate limit for bots, which cost nothing and remove most automated submissions.
Confirmed opt-in for anything with an incentive attached. A free download invites a fake address, and requiring confirmation before releasing the file removes almost all of them.
Where this argument costs us something
The short version
- Add the MX lookup first: it is one query and removes typo domains completely.
- Never block a registration because a verification call timed out.
- Suggest corrections rather than rejecting, because the person is still on the page and willing to fix it.
Questions people ask
Should verification block a signup?
No. Accept the address, flag it, and decide later. A server that refused our probe is common and blocking that person costs you a customer over somebody else's policy.
Does confirmed opt-in hurt conversions?
It reduces list size and raises list quality. For a marketing list that is usually worth it. For a purchase flow it is not, and the two should not use the same rule.