free · no signup · 24h ephemeral

test your email’s deliverability score
in 30 seconds.

send a real campaign email to a one-shot test address. we run the same SPF / DKIM / DMARC / RBL / content checks gmail and outlook do, then hand you a 10/10 score with a per-category breakdown — and a one-line fix for every flag we raise.

we don’t read your email body results expire in 24h 10 tests / day per IP

what we check

authentication

SPF, DKIM, DMARC, ARC alignment with your sending domain.

SPF · DKIM · DMARC · ARC

identity & headers

From / Return-Path / Message-ID hygiene; impersonation, missing headers, freemail mismatches.

From · Return-Path · Message-ID · List-Unsubscribe

reputation

IP & domain checked against Spamhaus, Barracuda, SURBL, Composite Blocking and 12 more lists.

Spamhaus · SURBL · CBL · SORBS · +11

content & structure

HTML / text ratio, link shorteners, attachment risk, Bayes spaminess, image-only body.

Bayes · html/text · links · shorteners

network & transport

HELO greeting, TLS version, reverse-DNS / FCrDNS, MTA-STS, TLS-RPT, EHLO consistency.

HELO · TLS 1.3 · rDNS · MTA-STS · TLS-RPT

how it works

step 01

click start

we generate a one-shot address like test-AB12CD34@check.adbtd.com. it expires in 24h.

step 02

send your email

from your real sending stack — same headers, same DKIM, same IP. we receive on port 25, parse, and score in < 1 second.

step 03

read your score

10/10 is perfect. every flagged item explains why it lowered the score and how to fix it. share the link or curl ?format=json.

frequently asked

what does the score actually mean? +
0–10, higher is better. mail-tester convention. internally we map rspamd’s spam score (where higher = spammier) into a 10-point readability score. 10/10 means the parser had nothing to flag — auth, identity, reputation, content and transport all clean.
do you store my email? +
the raw message lives in redis with a 24-hour TTL, then it’s gone. no backups, no replication beyond the primary, no warm copies. the result page at the same URL expires at the same time.
can you read the email body? +
we never render the body in the result page — only headers and computed metadata (link counts, html/text ratio, image bytes). the raw text exists in redis just long enough to score it.
why the 10/day per-IP cap? +
abuse prevention. inbox-warming bots will hammer this otherwise. legitimate testing rarely needs more. existing adbtd customers score messages through POST /api/v1/check on adbtd.com — no cap, no temp address, JSON in / JSON out.
what if my email never arrives? +
the result page polls for 5 minutes. if nothing shows up, either your sending stack rejected the message before it left, or our edge blocked it (size > 5MB, malformed envelope, blocked TLD). your sending logs will tell you which.
for adbtd customers

score any email straight via API.

skip the temp-address dance. POST your message to /api/v1/check and get the score back in the response. unlimited per workspace, no daily cap.

full API docs →
# score any RFC 5322 message
curl -X POST https://adbtd.com/api/v1/check \
  -H "Authorization: Bearer $ADBTD_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subject":"hi","from":"you@x.com","text":"…"}'
check.adbtd — free email deliverability test