10 min read Alle Artikel auf Deutsch Tous les articles en français Todos os artigos em português

Email Verification: How It Works and Fails

The short answer

Email verification checks whether an address can receive mail without sending anything to it. A verifier checks the syntax and looks up the domain's MX records. Then it opens an SMTP session, sends RCPT TO and reads the server's reply. An acceptance means the address exists. A permanent "user unknown" rejection means it doesn't. Catch-all domains and greylisting don't give a clear answer, so treat those addresses as unknown. Verify right before you import a list and drop the invalid ones.

In this article

What is email verification?

Email verification tests whether an address exists and can accept mail. It does this without delivering a message. It isn't the same as the double opt-in confirmation link a newsletter sends, which proves that a person controls the inbox and agreed to receive mail. Verification only asks the receiving mail server whether it would take a message for that address. Here's an example. Your prospect list has the address j.weber@example-logistics.com. A verifier finds that example-logistics.com publishes an MX record. It connects to that server and asks to deliver to j.weber. The server rejects the request permanently with "User unknown", so the address is marked invalid. If you'd sent to it anyway, the server would have bounced the message, and that hard bounce would count against your sending domain. In cold outreach, nobody on your list asked for your mail, so the list never went through that opt-in confirmation. Verification is the only check you get before the first send.

How does an email verifier check an address?

Most verifiers run the same sequence, whether it's a free checker or a paid bulk service. Each step can end the check early.

  1. Syntax check: the address has to follow the format rules that the SMTP and Internet Message Format standards set for a mailbox. A missing @ sign, a space or a double dot in the domain fails here.
  2. Domain and DNS check: the verifier looks up the domain's MX records. If there's no MX record, the SMTP standard lets a sender fall back to the domain's A record. If neither exists, the domain can't receive mail.
  3. Disposable and role check: the domain is compared with lists of throwaway-mail providers. The part before the @ is checked for role names like info, sales or support, which reach a team rather than a person.
  4. SMTP probe: the verifier connects to the mail server and sends EHLO, then MAIL FROM, then RCPT TO with the address. It reads the reply and sends QUIT before the DATA command, so no message is ever sent.
  5. Catch-all test: the verifier also sends RCPT TO for a made-up address at the same domain. If the server accepts that too, it accepts everything, and the real address can't be confirmed.

Don't run the SMTP probe at volume from the server you send cold email from. Lots of RCPT TO commands with no DATA command look like a directory harvest attack, and receiving servers can throttle or block the probing IP because of it.

What do email verification results mean?

Verifiers name their categories differently, but every category comes down to what the receiving server answered. Here's how to read each one and what to do with it:

Result What the server did What to do with the address
Valid / deliverable Accepted RCPT TO for the address and rejected a made-up address at the same domain Keep it. It's only valid as of the moment of the check
Invalid / undeliverable Returned a permanent rejection such as user unknown, or the domain has no MX or A record Remove it before any send or follow-up
Catch-all / accept-all Accepted both the real address and a made-up one Treat it as unknown. Send only in small batches, or confirm the person from a second source
Unknown Timed out, returned a temporary refusal, or refused the verifier's connection Check again later. Don't count it as valid
Risky: role or disposable Mailbox may exist, but it's a shared team inbox or a throwaway domain Drop it for one-to-one outreach

Catch-all domains cause the most confusion, because many companies set them up on purpose so that misspelled addresses still arrive.

Free email checker or bulk verification: which tool?

Which option fits depends on whether you're checking one address you're unsure about or a whole list before import. The table compares the option types by the same properties. Vendors are named only where their own page titles in Google's current US search results describe that offer.

Option Named examples What it suits Where it stops
Free single-address checker in the browser QuickEmailVerification, EmailListVerify and Cleanlist all title their pages as a free email checker or verifier Spot-checking an address before you write to one person One address at a time, and you paste prospect data into a third-party site
Bulk list verification by file upload Verifalia (title names list cleaning), MillionVerifier (describes itself as an email verification service) Cleaning a whole prospect list before import Results are a snapshot. A list left sitting for weeks needs another pass
Verification by API at the point of capture Offered by bulk services. Check each vendor's documentation Checking addresses as they enter your CRM or a form Needs integration work and still can't resolve catch-all domains
Manual check with dig and an SMTP session dig or nslookup for MX, a raw SMTP connection Seeing how one domain behaves, or working out why a result looks odd Doesn't scale, and probing from your sending IP puts that IP at risk
As of October 2026. Vendor descriptions come from their page titles in Google's US search results, not from feature tests.

To see where verifiers sit next to seed tests, blocklist monitors and Postmaster data, look at deliverability tools sorted by job.

Where does email verification stop working?

Verification gives you one server's answer at one moment. Here are the cases where that answer is wrong or useless, and why:

  • Greylisting: the server sends unknown senders a temporary refusal on purpose. The verifier then reports unknown, even if the mailbox exists.
  • Accept-then-bounce servers: some servers accept every RCPT TO and only bounce after the message has arrived. The address passes verification and still bounces later.
  • Blocked verifier IPs: large mailbox providers rate-limit or refuse SMTP probes. Results for their domains can come back unknown in bulk.
  • Ageing data: people change jobs and companies close mailboxes, so an address that was valid at import can bounce a few weeks later.
  • Inbox placement: a valid address says nothing about whether your mail lands in the inbox or in spam. The receiving server decides that from authentication, reputation and complaints.
  • Consent: verification shows that an address exists. It doesn't give you permission to email it.

When a verified address bounces anyway, the Status and Diagnostic-Code fields in the bounce notice tell you whether it was a permanent failure or a deferral. Our guide to bounce codes and their causes explains how to read them.

Is email verification allowed under GDPR?

An email address that identifies a person, like firstname.lastname@company.com, is personal data under the GDPR. Verifying it counts as processing, so you need a legal basis for it. If you upload the list to an outside verification service, that service processes the data on your behalf, and the GDPR requires a data processing agreement with it. Find out where the service processes the data, because the GDPR sets its own conditions for transfers outside the EU. Verification is a separate question from whether you may send at all. In Germany, the Act Against Unfair Competition (UWG) generally requires the recipient's prior express consent for advertising by email, and a valid address doesn't change that. In the US, CAN-SPAM works on an opt-out basis instead. Whether your outreach meets these rules depends on how you build and use the list. No verifier and no sending tool settles that for you.

Verifying a list before it goes into EmailFlow OS

EmailFlow OS, a EmailFlow OS product, is personalised AI video email for B2B cold outreach. You record one video and upload it. You connect your Brevo account and your sending domain, then import your prospect list into EmailFlow OS. From that one recording, EmailFlow OS makes a personalised version for each recipient, not one per company. Each version goes out from your own inbox, through your own Brevo account and on your own sending domain. No shared platform sender sits in between.

The list lives in EmailFlow OS and every message carries your domain, so every bad address on the list turns into a bounce on your own domain. That's why verification belongs before the import. Run the list through a verifier and remove the invalid and risky results. Hold catch-all and unknown addresses back, or send to them in small batches. If a list has been sitting since its last check, re-verify it before you import it.

How verification ties into deliverability, follow-ups and timing

Cold email deliverability: what does verification change?

The receiving server decides cold email deliverability. It weighs SPF, DKIM and DMARC alignment, your domain's reputation, complaints, bounces and volume per mailbox. Verification only touches the bounce part. It removes addresses that would come back as permanent hard bounces, and those bounces count against a domain that writes to people who never asked for mail. It doesn't fix missing DNS records, a new domain that hasn't been warmed up, or spam complaints.

Email deliverability rate: how do bad addresses affect it?

Delivery rate is accepted messages divided by sent messages. Inbox placement is measured separately. Every unverified address that hard-bounces is a message that was sent but not accepted, so it pulls the delivery rate down directly. A high delivery rate still doesn't mean the mail reached the inbox. The server can accept a message and file it as spam.

Sales follow up email template: what to check before using one

Before you send any follow-up template, check that the first email didn't bounce. A follow-up to a hard-bounced address just bounces again. Here's a short template you can use: "Hi [first name], following up on my note from [day] about [one specific problem]. Would a short call on [date] make sense, or is someone else the right person?" Send it as a reply in the original thread, so the In-Reply-To header links it to the first message.

Follow up sales email: when should you stop?

Stop a sales follow-up sequence for an address as soon as it returns a permanent bounce, a reply or an opt-out. A deferral is a temporary refusal and can be retried. A user-unknown bounce is permanent. Remove that address from the list itself, not just from the current sequence, so the next import doesn't bring it back.

Best times to send cold emails: does timing matter if addresses are bad?

The best time to send cold emails is during working hours in the recipient's time zone, not yours. But timing only matters once the address accepts mail. An invalid address bounces at any hour. Verify the list first, then schedule by recipient time zone.

Questions people ask

Can you verify an email address without sending an email?
Yes. A verifier opens an SMTP connection and sends EHLO, MAIL FROM and RCPT TO. It reads the reply and disconnects with QUIT before the DATA command, so no message content is ever sent. An acceptance means the server will take mail for the address, and a permanent user-unknown rejection means the mailbox doesn't exist. Catch-all servers accept every address, so this method can't confirm addresses on them.
Is a free email checker accurate enough for cold outreach?
For a single address, a free checker runs the same syntax, MX and SMTP steps as a paid bulk service. The difference is scale, not method. You check one address at a time and paste prospect data into a third-party site. A bulk upload or an API suits a whole list better, and either one needs a data processing agreement under the GDPR.
How often should I re-verify a prospect list?
Re-verify right before each import or send, not on a fixed schedule. A verification result is a snapshot of one server's answer on one day, and addresses go invalid when people leave a company. A list that passed a few weeks ago can now hold addresses that return permanent hard bounces.
Why does a verified email still bounce?
There are three common causes. Some servers accept every RCPT TO during the check and only bounce after the message arrives. The mailbox may have been deleted between the check and the send. Or the message was rejected for reputation or authentication reasons, which no verifier tests. The Diagnostic-Code line in the bounce notice tells you which one it was.

Share

LinkedIn X

Keep reading

All articles