How it works

How our email verification pipeline works

Syntax validation, DNS/MX discovery, and SMTP probes—honest tools return unknown when providers block certainty.

Syntax and normalization

We parse the address structure and normalize common forms so obviously invalid formats fail fast—before any network call.

Domain and MX records

We confirm the domain resolves and locate mail exchanger (MX) hosts. Domains without MX cannot receive mail in the usual SMTP sense.

SMTP conversation (when permitted)

Where firewalls and remote policies allow outbound SMTP, we negotiate with the MX and interpret RCPT responses. Temporary failures and greylisting can yield unknown until retries.

Catch-all awareness

Domains that accept arbitrary local parts are flagged as riskier for list hygiene; we classify those separately from confidently non-catch-all acceptance.

Why “unknown” is a feature

Policy blocks, rate limits, and non-committal SMTP codes are not forced into a false yes/no—we keep your expectations honest.

Example Results

Here is how to understand verification results without using real personal email addresses.

Example A — Valid Format

  • Input: name@example.com
  • Status: Example only
  • Reason: This sample demonstrates a correctly formatted email address.

Example B — Invalid Format

  • Input: wrong@@example.com
  • Status: Invalid
  • Reason: Email addresses cannot contain two @ symbols.

Example C — Domain Issue

  • Input: user@example-invalid-domain.test
  • Status: Undeliverable
  • Reason: The domain does not appear to accept email.

Example D — Catch-All / Risky

  • Input: user@catchall-example.com
  • Status: Risky
  • Reason: Some domains accept many addresses, making exact verification difficult.

For definitions of classifications and status codes, see the email verification FAQ.