04 · Software · infrastructure · Aug – Sep 2026

Email verification engine

An in-house SMTP verifier on a server I run, so we stop paying per check and stop trusting verdicts we can't explain.

122 of my commits in this codebase[20] Sourcescripts/export-commits.mjsAs of2026-09-26StatusVerifiedAll sources →
Addresses fall through the verifier's gates and land in four honest bands.

The decision

No verdict without evidence

A paid verifier told us addresses were fine that then bounced. When I traced our bounces, 23.5% of "catch-all" verdicts bounced against 1.8% of valid ones. So I built our own, with one rule at its core: it never calls an address dead without a positive signal from the receiving server. Some mail gateways never disclose anything, so the engine now recognises them and stops spending probes on them instead of retrying forever.[44] Sourcebounce trace for one client campaign, 2026-09-18 (133 of 159 bounces were catch-all verdicts)As of2026-09-18StatusVerifiedAll sources →

What I built

  • The verification worker, the retry ladder and catch-all scoring, on a self-managed VPS.[34] Sourceprovena-data-intelligence repoStatusVerifiedAll sources →
  • Honest bands instead of a yes/no: deliverable, catch-all, gateway risk, undeliverable.
  • Per-receiver rate limits, set from measurement, so the sending reputation of the prober itself is protected.

What was hard

Some receivers never tell you the truth

Large mail gateways accept every address during the SMTP conversation. A naive prober reads that as valid. The engine treats a non-disclosing gateway as its own band and never pretends to know.

Probing costs reputation

Every probe spends a little of the server's standing with the big providers. I measured it, raised the limits only where the numbers allowed, and wrote the reasoning into the commits.

What I learned

  • An absence of evidence is not a verdict. Every system I build now has an honest "we don't know".
  • The cheapest check is the one you don't run. Knowing when to stop is part of the design.

Results

  • Zero cost per check.[34] Sourceprovena-data-intelligence repoStatusVerifiedAll sources →
  • Catch-all addresses no longer reach a sending campaign. They wait in a hold queue until the scorer can back them.