How to Verify an Email Address Before You Send

Sending to an address that does not exist costs more than one bounced email. Repeated bounces tell mailbox providers that you do not keep your lists clean, and your next emails start landing in spam. Verifying an address before you send takes seconds. Here is what actually happens during a check, and how to read the result.
Table of contents
Step one: the syntax
The first check is the simplest: is it shaped like an email address? A missing @, a space or a domain without an extension is caught here. It catches typos like name@gmail,com, which are more common than you would think in forms.
Step two: the domain and its mail server
Next, the domain must exist and declare a mail server, through what is called an MX record. A domain without an MX record cannot receive email at all, whatever the address. This also catches misspelled domains such as gmial.com.
Step three: asking the mail server
The decisive check is a short conversation with the recipient's mail server, using the same protocol as a real delivery, but stopping before any message is sent. The server answers whether it would accept mail for that address. "Accepted" means the mailbox exists; "rejected" means it does not.
Some servers refuse to answer, or answer slowly to discourage this kind of check. The result is then inconclusive, and a good verifier says so instead of guessing.
The catch-all problem
Some domains accept mail for any address, real or not. They are called catch-all domains. On those, the server says yes to everything, so a check cannot prove the mailbox exists. We test a random address on the same domain to detect it; more on this in catch-all domains explained.
How to read the result
- Valid: the server confirmed the mailbox. Send.
- Risky: catch-all domain or inconclusive answer. Send if the contact matters, but watch for a bounce.
- Invalid: the domain or mailbox does not exist. Do not send; fix the address or remove it.
- Disposable: a temporary address that will disappear. Fine for a newsletter test, useless for a client.
Cleaning a whole list before a campaign follows the same logic at scale; see how to clean your list before a campaign.
Conclusion
Verifying an address takes a few seconds and protects every email that follows. Do it for any new contact before an important email, and for any list before a campaign.
Frequently asked questions
Does verifying an address send an email to the person?
No. The conversation with the mail server stops before any message is sent. The person receives nothing.
Why is a real address marked as risky?
Usually because its domain is catch-all, or because its server refused to answer. Risky does not mean wrong, it means unproven.
Can I verify a list of addresses at once?
Yes. Upload a CSV file on the verification page and every address is checked.
Verify an address now
Paste an address or upload a list on mailcheck, and know before you send whether it will bounce.
Add to Chrome, freeNo credit card. Unlimited tracking from $9 per month.