Eight checks.
Ten milliseconds.
Trumailo runs every signal that decides whether your email arrives, then tells you what it learned and how confident it is. Real SMTP handshake. Catch-all probe. Provider mapping. Cached responses under ten milliseconds.
Every signal that decides
whether you bounce.
Most verifiers stop at format and MX. We go all the way to the recipient’s SMTP server, then surface the verdict, the reason, and the confidence in one flat JSON envelope.
- Format and RFC-correctness checks
- MX lookup, cached per domain
- Real SMTP RCPT TO handshake to the recipient server
- Catch-all probe with a single canary address
- Role detection (admin@, info@, noreply@…)
- Disposable provider list, 30k+ domains, refreshed daily
- Provider mapping from the MX chain (Google, Microsoft 365, Yahoo, Zoho, Proton)
- Levenshtein typo suggestions for the long tail of fat-fingered domains
Single digits or
it’s a bug.
Three layers, optimised for the path most requests actually take. Cached lookups complete in single-digit milliseconds. Heavy SMTP work runs async on a NATS queue without blocking your response. Result hashes get stored, never the raw addresses.
Validate
Regex, MX, disposable list, role detection
Pure in-memory checks. Returns instantly. No network calls.
Cache
MX, provider, reputation lookups
Redis-backed. 6 to 24 hour TTLs per signal class. Sub-10ms p95.
Deep verify
Real SMTP RCPT TO, catch-all probe
Async via NATS. Webhook fires when the verdict is ready.
One header.
One POST.
Sits in front of every outbound send. Any language, any framework, any queue. Provider-agnostic — works alongside Resend, Postmark, SendGrid, SES, Mailgun, and anything else that takes an SMTP address.
curl -X POST https://api.trumailo.com/v1/verify \
-H "Authorization: Bearer tm_•••" \
-H "Content-Type: application/json" \
-d '{"email": "you@launch-day.com"}'What checks do you actually run?
Eight per address. Syntax, MX, SMTP RCPT TO handshake, catch-all probe via canary, role detection, disposable list, provider mapping, and Levenshtein typo suggestions. Cached responses are sub-10ms; full SMTP is async.
Is it really free?
During public beta, yes. 100 requests per minute per account. We'll announce paid tiers before charging anyone, with at least 30 days' notice.
What happens to the emails I verify?
We hash addresses with SHA-256 before storing them for analytics. Raw addresses live in memory only during the verification request itself, never on disk.
Can I self-host it?
Yes. The full stack is open source: Go API + worker, Next.js dashboard, Postgres + Redis + NATS. Spin it up with Docker Compose on any VPS. Cloud is for convenience, not lock-in.
What's the SLA?
99.95% target uptime during beta. Cached responses run sub-10ms p95. SMTP responses depend on the recipient server, but typically resolve in 1 to 3 seconds.
Does it work with Resend / Postmark / SendGrid?
Yes. Trumailo is provider-agnostic. Call our API before any outbound send, regardless of which email platform actually ships the mail.
Cheaper than every benchmark.
By a lot.
7-day free trialon every paid plan when you sign up. No card required. We don’t run countdown timers — prices below what the rest of the market charges, and more credits at every tier. Annual billing trades you two months for paying upfront.
5M+ verifications, 99.99% SLA, dedicated customer success, custom data residency. Quote in 24h.
If you don't love it inside 30 days, email us and we'll refund the full charge. No countdown timers, no “limited time” pressure — this offer holds while we're in public beta.
Catch the bad sends
before you make them.
Free during beta. 100 requests per minute. No card. Drop us a line when you outgrow it and we’ll find a price that fits.