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.

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