Free tool · live SMTP check

Email validator

Find out whether an email address is real before you send to it. The check talks to the recipient's mail server, but never sends an email.

Checks syntax, MX records and the mailbox itself over SMTP. No email is sent.

What the validator checks

  1. Syntax: is the address well-formed according to the email standards (RFC 5321/5322)?
  2. Domain and MX records: does the domain exist, and does it have a mail server?
  3. Mailbox (SMTP): does the mail server accept this exact recipient?
  4. Catch-all: does the server accept any address, so a “yes” means little?
  5. Disposable: is it a temporary inbox such as Mailinator or 10 Minute Mail?
  6. Role address: is it a shared inbox like info@, sales@ or support@?
  7. Free provider: is it a personal webmail address (Gmail, Yahoo …) rather than a company domain?
  8. Typos: is the domain a likely misspelling, such as gmial.com?

How to read the result

ResultMeaningWhat to do
DeliverableThe mailbox exists and accepts emailSend
RiskyCatch-all domain or disposable addressSend with care, or ask for another address
UndeliverableMailbox or domain does not existDo not send: it will bounce
UnknownThe mail server did not give a clear answerRetry later

The quality score (0–100) combines these signals: a deliverable personal address on a company domain scores highest, disposable addresses and suspected typos score lowest.

Validate emails in your app

curl "https://api.emailvalidation.io/v1/info?email=name@company.com" \
  -H "apikey: YOUR-API-KEY"

Call it when a user signs up or submits a form, and before you import a list into your email tool. Guides: JavaScript, Python, PHP.

Frequently asked questions

How can I check if an email address exists without sending an email?

The validator connects to the domain's mail server and starts an SMTP conversation up to the RCPT TO step, where the server says whether it accepts the recipient. It then disconnects before any message is sent, so the person never receives anything.

What does catch-all mean?

A catch-all server accepts mail for every address on its domain, even made-up ones, so the SMTP check cannot prove that a specific mailbox exists. Such addresses are marked risky: they may work, or the mail may bounce or land in an unread inbox.

Why is the result unknown?

Some mail servers do not answer, rate-limit unknown senders or use greylisting (they reject the first attempt on purpose). The address may still be valid; try again later or treat it as risky.

Is the email validator free?

Yes, for single checks on this page. To validate addresses in your sign-up form or CRM, use the email validation API, which includes 100 free checks per month.

Do you store the email addresses I check?

Results are cached for up to a week so repeated checks are fast and do not contact the mail server again. See the privacy policy for details.

Email validation API

Validate emails in your app

emailvalidation.io checks syntax, MX records and the mailbox over SMTP, flags disposable, role and free addresses and returns a quality score, in one request.

Read the docs

100 free validations every month. No credit card required.

GET https://api.emailvalidation.io/v1/info?email=name@company.com

{
  "email": "support@emailvalidation.io",
  "domain": "emailvalidation.io",
  "format_valid": true,
  "mx_found": true,
  "smtp_check": true,
  "disposable": false,
  "role": true,
  "free": false,
  "score": 0.64,
  "state": "deliverable",
  "reason": "valid_mailbox"
}

Free email tools

Start using our email validation software today!

Get 100 validations per month for free