guide · updated 2026-10-05
A free mail-tester alternative: test your email’s spam score
Sending a real email to a throwaway address and getting a score out of ten is the fastest way to find out whether your setup is broken. mail-tester.com made the format famous. This article explains what a good spam score test should check, what check.adbtd.com tests and how it scores, and where each tool is the better pick.
Disclosure: check.adbtd.com is built and run by adbtd. It is free and needs no account; it exists because we wanted a stricter test for our own customers.
Why look for a mail-tester alternative
mail-tester.com is a good tool and has been the reference for years. It runs your message through an out-of-the-box SpamAssassin install, checks SPF, DKIM, Sender-ID and DMARC, looks up your IP on common blocklists, tests your links and images, and reverses SpamAssassin’s score so that 10/10 is the goal.
People usually go looking for an alternative for one of three reasons:
- The free allowance. mail-tester allows three free tests per 24 hours. When you are fixing DNS records one at a time, three runs go quickly.
- A 10/10 that is too easy. A message can pass SPF, DKIM and DMARC and look clean to a stock spam filter while its domain still publishes a monitoring-only DMARC policy, a 1024-bit DKIM key and no MTA-STS. Those are exactly the details that separate a working setup from a robust one.
- The 2024 sender rules. Google and Yahoo now require one-click unsubscribe for bulk marketing mail and valid reverse DNS for every sender. A test that scores those explicitly saves you reading the requirements yourself.
How check.adbtd.com works
- Open check.adbtd.com and start a test. You get a one-off address like
test-AB12CD34@check.adbtd.com, valid for 24 hours. - Send a real email to it from the mailbox you want to test: your normal client, your sequencer, your application. Use the actual campaign copy, not “test”, because content is scored too.
- The result page fills in within seconds of the message arriving: a score out of 10, pass / warn / fail for every check, and for each problem, what was observed and how to fix it. Share the link with whoever manages your DNS, or append
?format=jsonto get the result as JSON.
No account, no email address to hand over, and no tracking of the message body: the raw message expires after 24 hours and the body is never rendered on the result page.
What it tests
Around 40 checks in seven groups, plus a full scan by Rspamd, the open-source spam filter many mail servers use.
Authentication of this message
Did the cryptography actually pass for the email you sent, not just exist in DNS?
- SPF passes for the sending IP
- DKIM signature validates
- DMARC passes, with the From domain aligned
- ARC results shown alongside
Authentication records
The quality of what your From domain publishes.
- SPF record published and ending in -all (~all is a warning)
- SPF stays within the 10-DNS-lookup limit of RFC 7208
- DKIM public key published for the selector in the signature
- DKIM key is at least 2048 bits
- DMARC record published
Domain policy
Best practice beyond the minimum.
- DMARC enforces (p=reject passes, p=quarantine warns, p=none fails)
- DMARC applies to 100% of mail and has a rua= reporting address
- MTA-STS published, policy reachable, mode enforce
- TLS-RPT published
- BIMI published (a small bonus, not a requirement)
Identity & headers
The basics receivers expect from a well-formed message.
- From domain has an MX record
- Date, Message-ID, Subject and a parseable From header
- List-Unsubscribe and List-Unsubscribe-Post (one-click, RFC 8058)
Reputation
Each list is queried directly and shown as its own tile, with a link to its lookup page.
- Sending IP: Spamhaus ZEN, SpamCop, Barracuda, SORBS, PSBL, UCEPROTECT-1
- Domains: Spamhaus DBL, SURBL
Network & transport
How the message reached us.
- Sending IP has a PTR (reverse DNS) record
- Forward-confirmed reverse DNS: the PTR hostname resolves back to the IP
- HELO is a fully qualified hostname, ideally matching the PTR
- TLS used on delivery
Content & structure
Shape signals that spam filters weigh, plus a full Rspamd scan.
- Plain-text part alongside HTML
- Enough visible text, not an image-only email
- No URL shorteners
- Subject not in ALL CAPS
- Any other spam symbol Rspamd fires (Bayes, fuzzy hashes, content patterns)
How the score works
The score starts at 10. Each check that fails or warns removes a fixed number of points: a DMARC failure on the message itself costs 4, an invalid DKIM signature 3, a Spamhaus listing 3, a missing PTR record 1.5, a DMARC policy of p=none 1.5, a missing TLS-RPT record 0.4. Spam symbols from the Rspamd scan that no explicit check already covers are deducted at their own weight.
The rule is simple: 10/10 means perfect, every check passed. Between 8 and 10 the message is inbox-ready with room to improve; between 5 and 8 it is likely to land in Promotions or be filtered; below 5 it is likely to be rejected or sent to spam.
That makes check.adbtd.com stricter than the bulk-sender rules themselves. Google accepts p=none as a valid DMARC policy; we still take points off for it because a policy that enforces nothing does not protect your domain. If you only want to know whether you meet the minimum, read the authentication tiles at the top of the result rather than the headline number.
check.adbtd.com vs mail-tester.com
| check.adbtd.com | mail-tester.com | |
|---|---|---|
| Price | Free | Free tier; paid plans from $10 for 50 tests a month |
| Free tests | 10 per IP per 24 hours | 3 per 24 hours |
| Account | None | Optional; keeps results 30 days instead of 7 |
| Spam filter | Rspamd, plus ~40 explicit checks | SpamAssassin (default install) |
| Authentication | SPF, DKIM, DMARC, ARC verdicts plus record quality (SPF lookups, DKIM key size, DMARC policy) | SPF, DKIM, Sender-ID, DMARC, reverse DNS |
| Transport & policy | PTR, FCrDNS, HELO, TLS, MTA-STS, TLS-RPT, BIMI | Reverse DNS |
| Blocklists | 8 lists queried directly, each shown separately | Most-used blocklists for your IP |
| Content | Text / HTML parts, image ratio, shorteners, caps, Rspamd content rules | HTML-to-text ratio, forbidden tags, alt attributes, broken links |
| Machine-readable result | ?format=json on any result | JSON API on paid plans |
| Result kept | 24 hours | 7 days free, 30 days with an account |
mail-tester.com details from its FAQ, pricing and API documentation, as of October 2026.
When mail-tester is the better choice
- You want the score everyone already quotes. “10/10 on mail-tester” is a shorthand clients and colleagues recognise.
- You need results kept longer than a day, or a paid volume plan, API or embeddable tester for an agency workflow.
- You want broken-link checks; check.adbtd.com does not fetch your links.
When check.adbtd.com is the better choice
- You are iterating on DNS and need more than three runs a day for free.
- You want the details behind a robust setup scored: DMARC enforcement, DKIM key size, SPF lookup budget, MTA-STS, TLS-RPT, one-click unsubscribe.
- You want each blocklist shown separately with a link to its lookup tool, and a JSON result without a paid plan.
The five most common failures and how to fix them
- DMARC p=none. Fine for the first weeks while you read aggregate reports. Once every legitimate source passes, move to
p=quarantine, thenp=reject. - SPF over ten lookups. Every
include:costs lookups, and over ten the whole record returns a permanent error. Remove services you no longer send from, or replace includes with explicitip4:ranges. - 1024-bit DKIM key. Rotate to a 2048-bit key with a new selector, publish it, then switch signing over.
- Missing or generic PTR. The reverse DNS of your sending IP should resolve to a hostname that resolves back to the same IP. On shared platforms you cannot change it; on a dedicated IP you should be able to.
- No one-click unsubscribe. Add
List-UnsubscribeandList-Unsubscribe-Post: List-Unsubscribe=One-Clickheaders. Google and Yahoo require them for bulk marketing mail.
For the full picture of what Google, Yahoo and Microsoft now require, see our cold email infrastructure setup guide.
For adbtd customers: scoring through the API
The same scorer is available as POST /api/v1/check on the adbtd API, which takes a raw RFC 5322 message and returns the breakdown as JSON, so you can score templates in CI before they ever go out. Every outbound message sent through an adbtd mailbox is also scored automatically, and the dashboard shows the trend. See the API reference.
Frequently asked
Is check.adbtd.com really free?
Yes. There is no signup and no paid tier for the web test. Each IP address can start 10 tests per 24 hours, which is there to stop warmup bots from hammering it. adbtd customers can also score messages through the API.
How is the score calculated?
Every check has a point value. The score starts at 10 and loses points for each failed or warning check, plus any spam symbol from the Rspamd scan that the explicit checks do not already cover. 10/10 is only possible when everything passes.
Why is my score lower than on mail-tester?
check.adbtd.com is deliberately strict. It deducts points for things that are best practice rather than strict requirements, such as a DMARC policy of p=none, a 1024-bit DKIM key, a missing MTA-STS policy or no one-click unsubscribe header. Each deduction explains what to fix, so a lower score is a to-do list, not a verdict.
Do you keep my email?
The raw message is kept for 24 hours so the result page can be rendered, then it expires. The body is never displayed on the result page; only headers and computed metadata are.
Does a 10/10 score mean my email will reach the inbox?
No test can promise that. A spam score test checks authentication, configuration and content. Inbox placement at Gmail or Outlook also depends on the reputation of your domain and IP and on how recipients engage with your mail, which you can follow in Google Postmaster Tools and Microsoft SNDS.
How many free tests does mail-tester.com allow?
As of October 2026, mail-tester.com allows 3 free tests per 24 hours; paid plans and one-off packs add more. check.adbtd.com allows 10 free tests per IP per 24 hours.
Start from a 10/10 setup
adbtd mailboxes ship with SPF, DKIM, DMARC, MTA-STS, TLS-RPT and BIMI records generated for your domain, on a dedicated IP with reverse DNS already set. Or run the free test first.