uCheckeruChecker
Blog/Verification
5 min read

Email Validation Secrets: What Validators Won't Tell You

Email validation has a catch. You run your list through a service, get green checkmarks across the board, send the campaign, and half the messages bounce. Here's why that happens and where the traps are, based on what we've seen firsthand.

Syntax checking is not validation

"I already validate the format in my signup form — why do I need a validator?" We hear this constantly. Format checking catches vasya@@gmial and stops there. An address can look perfectly valid and point to a mailbox that was deleted two years ago.

Real verification works differently. The validator connects to the mail server over SMTP and asks: "Will you accept a message for ivan@company.com?" The server replies with a code — 250 (yes) or 550 (no). No email is actually sent. Just a handshake.

Catch-all: the server that says yes to everything

Send to abcdef999@company.com and the server responds "ok, accepted." That mailbox does not exist. The server is simply configured to accept anything addressed to the domain. This is catch-all, and it is a headache for any validator.

There is no way to tell a real address from a made-up one when the server nods at everything. So an honest validator puts catch-all in a separate category. uChecker marks those addresses as "risk."

What to do with them? Do not delete them outright. But do not dump them into your main send list either. Send to them as a separate segment and watch the bounce rate. If it stays below 2%, carry on.

Greylisting: "no" does not always mean no

Greylisting is an anti-spam technique. The receiving server rejects the first connection with a temporary error (code 450). The assumption is that a legitimate MTA will retry in a few minutes, while a spam sender will not bother.

A validator is not a spammer, but it is not a full MTA either. Cheap services make one request, get a 450, and mark the address as invalid. A real subscriber gets deleted. That stings.

At uChecker we retry with a delay. It is slower, but the result is more accurate. If your current validator does not handle greylisting, you are losing real people without knowing it.

info@, admin@, support@ — technically alive, practically useless

Role-based addresses are job-title inboxes. Behind info@ could be an intern, a receptionist, or nobody at all. The message will arrive. But no one is waiting for it, no one subscribed, and whoever reads it will hit "mark as spam" without a second thought.

ESPs like Mailchimp and Brevo warn about this directly: sending to role-based addresses damages your domain reputation. Rebuilding sender reputation after it takes weeks.

Disposable addresses: 10 minutes of life

Guerrilla Mail, Temp Mail, Mailinator — there are hundreds of disposable email services. Someone enters the address, downloads your lead magnet, and vanishes. Ten minutes later the mailbox is gone.

An SMTP check at signup will return "good." An hour later there is no mailbox, so your next send bounces. That is why SMTP alone is not enough. You need a current database of disposable domains. There are over 50,000 of them right now, and new ones appear every week.

One more thing worth tracking: if more than 5% of your list is disposable, that is a signal. People want your content but do not trust you enough to give a real address. Might be worth reconsidering what you are asking for in exchange.

100% accuracy is a lie

If a validator promises 100% accuracy, close the tab. Here is why in 30 seconds: catch-all servers say yes to everything. Greylisting rejects live addresses temporarily. Some servers do not respond to VRFY or RCPT TO at all, so you get "unknown." And a mailbox can be valid right now and gone in an hour because someone left the company.

95–98% is the realistic ceiling for a good service. The remaining couple of percent is a grey zone that no algorithm will close. Only ongoing monitoring and common sense bridge that gap.

An "unknown" result is not a death sentence

Unknown means the server did not respond: timeout, dropped connection, overload. It does not mean the address is dead. It does not mean it is live.

The first thing to do is recheck after 2–3 hours. In our data, around 60% of unknowns resolve to valid or invalid on a second pass. The server was just busy.

If the status still does not change, move those addresses to a separate segment. Send to them, but watch the bounce rate. Above 5%? Remove them.

Your list decays faster than you think

2–3% of addresses in a typical list go dead every month. People change jobs, companies close, Gmail suspends abandoned accounts. After six months without a check, you can easily lose 20% of your list.

Verify at least once a quarter. Before any large campaign, always. Checking 100K addresses costs a few dollars. Rebuilding a damaged domain reputation costs weeks and lost revenue.

What actually works

Double opt-in. It sounds obvious because it is. Disposable addresses, typos, someone else's email — all of it gets filtered at the confirmation step before it ever reaches your list.

Segment by result. "Good" — send. "Bad" — delete with no hesitation. "Risk" (catch-all, disposable) — separate group, lower frequency, under watch. Hard bounce — remove immediately, no waiting for the next validation cycle.

Pick a validator that does not hide catch-all and unknown inside the "good" bucket to make the report look prettier. That is not accuracy; it is cosmetics.

At uChecker we split results into five categories: valid, invalid, catch-all, unknown, and disposable. No smoothing, no cosmetics. Try it free — 30 checks, no payment required.

email validationcatch-all domainsSMTP verificationdisposable emailgreylistingemail deliverabilityrole-based addressesemail list hygiene