# Email Spam Tester Last updated: 2026-11-03 > Send one email to a disposable address and get 42 technical checks back: > SPF, DKIM, DMARC, TLS, reverse DNS, blocklists, HTML structure, link > reputation and the bulk-sender rules Gmail and Yahoo publish. Every warning > and failure carries the section of the RFC it rests on, quoted, and the page > where the receiver states its own requirement. The first 100,000 reports > are free for everyone: no key, no account, no signup. Built and run by Serhii > Tanichev, an independent developer. The loop is three calls and one email. Reserve an address, send the message you were about to send your list to that address, read the report. The address accepts exactly one message and expires in an hour; the report link is permanent. ## For agents - [Agent guide](https://email-spam-tester.com/skill/): when to reach for this, how to read the report, and which findings are DNS records a person has to change rather than text an agent can edit. - [SKILL.md](https://email-spam-tester.com/skill/SKILL.md): the same as a file, served as plain text, ready to drop into a skills directory. - [MCP server](https://email-spam-tester.com/mcp): streamable HTTP. Four tools — get_test_address, wait_for_report, get_report, get_message_source. wait_for_report blocks until the analysis is done, so there is nothing to poll. - [MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.serg-tanichev/email-spam-tester): listed as `io.github.serg-tanichev/email-spam-tester`, remote server only. - [GitHub](https://github.com/serg-tanichev/email-spam-tester): the README, the changelog and ready-made MCP client configs. ## API - [API reference](https://email-spam-tester.com/api-docs/): the loop, every endpoint, and what the fields in the report mean. - [OpenAPI description](https://email-spam-tester.com/api/openapi.json) - `POST /api/v1/inbox` reserves an address. Optional `lang` sets the language of the fix plan and the findings. - `GET /api/v1/tests/{slug}/status` is the cheap thing to poll. - `GET /api/v1/tests/{slug}` is the report. 202 until a message arrives. - `GET /api/v1/tests/{slug}/message` is the message as delivered: headers in wire order, both bodies, the raw source. ## What the checks are - [Every check explained](https://email-spam-tester.com/docs/): all 42, what each one measures, what it costs when it fails, and the standard behind it. ## Free tools No test message needed. Six read DNS (BIMI also fetches the logo and the certificate the record names) and one reads pasted headers; each explains what it finds. Same results as JSON from `GET /api/v1/tools/{spf,dmarc,dkim,blocklist,mx,bimi}` and `POST /api/v1/tools/header`, plus `GET /api/v1/tools/{ptr,mta-sts,tls-rpt,dnssec,dane,smtp,ns,registration}`. To check a whole domain in one call, with a history and a diff against your last run, use `GET /api/v1/infra/check?domain=example.com&diff=true`. - [All free tools](https://email-spam-tester.com/tools/) - [SPF checker](https://email-spam-tester.com/spf-checker/): the record, every include followed, the count against the ten-lookup limit. `GET /api/v1/tools/spf?domain=example.com` - [DMARC checker](https://email-spam-tester.com/dmarc-checker/): the policy, each tag explained, report addresses and whether they accept reports. `GET /api/v1/tools/dmarc?domain=example.com` - [DKIM checker](https://email-spam-tester.com/dkim-checker/): the public key for a selector, its type and size. `GET /api/v1/tools/dkim?domain=example.com&selector=s1` - [Blacklist checker](https://email-spam-tester.com/blocklist-checker/): an IP or a domain against the DNS blocklists receivers query. `GET /api/v1/tools/blocklist?target=203.0.113.5` - [MX checker](https://email-spam-tester.com/mx-checker/): the mail servers in priority order, the address of each, null MX, CNAME and IP targets, and the MTA-STS and TLS-RPT records. `GET /api/v1/tools/mx?domain=example.com` - [BIMI checker](https://email-spam-tester.com/bimi-checker/): the DMARC policy BIMI needs, the record, the SVG logo against the Tiny PS profile, and the VMC or CMC certificate. `GET /api/v1/tools/bimi?domain=example.com` - [Email header analyzer](https://email-spam-tester.com/email-header-analyzer/): the route hop by hop with delays and TLS, the receiver's SPF, DKIM and DMARC verdict and the alignment of the From, DKIM d= and Return-Path domains. The headers are processed in memory and not stored. `POST /api/v1/tools/header` with `{"headers": "..."}` ## Compared with other testers Each page puts this tool next to one other service: price, limits, checks, inbox placement, API and languages, when the other one is the better pick, and the pages of theirs every fact was read from, with the date. - [All comparisons](https://email-spam-tester.com/compare/): one table across all five services. - [vs Mail-Tester](https://email-spam-tester.com/compare/mail-tester-alternative/) - [vs Unspam.email](https://email-spam-tester.com/compare/unspam-alternative/) - [vs GlockApps](https://email-spam-tester.com/compare/glockapps-alternative/) - [vs MailGenius](https://email-spam-tester.com/compare/mailgenius-alternative/) - [vs GMass](https://email-spam-tester.com/compare/gmass-alternative/) ## Error messages explained One page per error text people paste into a search box: what it means, which of its causes you have, and the change that clears it. - [550 5.7.26 unauthenticated email](https://email-spam-tester.com/fix/550-5-7-26-unauthenticated-email/): Gmail's 550 5.7.26 bounce has three versions with different causes. How to tell which one you got and what to change so Gmail accepts the mail. - [554 5.7.5 Permanent error evaluating DMARC policy](https://email-spam-tester.com/fix/554-5-7-5-permanent-error-evaluating-dmarc-policy/): Why Outlook bounces mail with 554 5.7.5 permanent error evaluating DMARC policy, how to find what is broken in the record, and how to check the fix. - ["Be careful with this message" in Gmail](https://email-spam-tester.com/fix/be-careful-with-this-message-gmail/): Why Gmail puts "Be careful with this message" on your email, which of the reasons applies, and what the sender changes so the banner stops. - [DKIM fail](https://email-spam-tester.com/fix/dkim-fail/): What dkim=fail means in the headers: "body hash did not verify", "signature did not verify" or "no key for signature", and the fix for each. - [DMARC fail](https://email-spam-tester.com/fix/dmarc-fail/): Why DMARC fails even when SPF and DKIM pass, how to read dmarc=fail in the headers, and the fix per sending service, Mimecast's "DMARC Fail" included. - [DMARC policy not enabled](https://email-spam-tester.com/fix/dmarc-policy-not-enabled/): What "DMARC policy not enabled" and "Quarantine/Reject policy not enabled" mean, the record to publish, where it goes, and when to tighten it. - [Email spoofing your domain](https://email-spam-tester.com/fix/email-spoofing-your-domain/): Your real mail flagged as spoofed, strangers sending as your domain, or mail that seems to come from yourself: how to tell which it is and stop each. - [List-Unsubscribe header and one-click unsubscribe](https://email-spam-tester.com/fix/list-unsubscribe-header/): The List-Unsubscribe and List-Unsubscribe-Post headers Gmail and Yahoo require, what one-click needs to work and why the button may not appear. - [Mail Delivery Subsystem bounce](https://email-spam-tester.com/fix/mail-delivery-subsystem/): What a "Mail Delivery Subsystem" email means: how to read the bounce, what to do about bounces for mail you never sent, and how to spot the scam. - [Multiple SPF records](https://email-spam-tester.com/fix/multiple-spf-records/): Why a domain may publish only one SPF record, how a second one appears, and how to merge them into a single record that covers every sender. - [SMTP error 550 5.7.1](https://email-spam-tester.com/fix/smtp-550-5-7-1/): 550 5.7.1 and 554 5.7.1 cover many unrelated refusals. Read the text after the code to tell blocklist, content, DMARC, relay or policy apart. - [SPF softfail](https://email-spam-tester.com/fix/spf-softfail/): What spf=softfail and "domain of transitioning does not designate as permitted sender" mean, softfail versus hardfail, and how to make it pass. - [SPF permerror: too many DNS lookups](https://email-spam-tester.com/fix/spf-too-many-dns-lookups/): Why an SPF record over ten DNS lookups returns permerror, how includes are counted, the void lookup limit, and how to get under ten safely. - ["This message seems dangerous" in Gmail](https://email-spam-tester.com/fix/this-message-seems-dangerous/): Why Gmail puts a red "This message seems dangerous" banner on a legitimate email, what in the message usually causes it, and what the sender can change. - ["We can't verify that this email came from the sender" in Outlook](https://email-spam-tester.com/fix/we-cant-verify-this-email-came-from-the-sender/): Why Outlook says "We can't verify that this email came from the sender", shows a question mark or a "via" tag, and what the sender changes. ## Inbox placement The start screen also offers a placement test: the message goes to real mailboxes at Gmail, Outlook, Yahoo and other providers, and the report shows the folder it reached at each. It says where, the technical report says why. ## Notes - Two scores. `score_ours` is 0 to 100 and weights authentication and infrastructure heavily. `score_compat` is 0 to 10 and reproduces the SpamAssassin-style number for comparison with older tools. - A check status of `skip` is not a pass: it means the check did not apply. `error` means it could not run and is excluded from the score. - `complete: false` means something could not be checked. Treat the score as optimistic until it is true. - Send the message from the platform that will send the campaign. Half the checks read headers the sending platform adds. - A report shows the subject, the sender, the bounce address and the full source to anyone holding the link. Do not test somebody else's mail without asking. - Available in 31 languages under a language prefix, for example `https://email-spam-tester.com/de/`. The API answers in English whatever the page language; `summary_localised` carries the translation when there is one. ## For hosting providers - [cPanel & WHM plugin](https://email-spam-tester.com/cpanel-integration/): customers send a real letter from their own mailbox in cPanel » Email and get the same report, the folder at each provider, and the DNS record or cPanel button for each fix. Optional constant monitoring of every outgoing letter. Free for now. The archive root installs is [latest.tar.gz](https://email-spam-tester.com/cpanel/latest.tar.gz), with its checksum at the same address plus `.sha256`. - [Plesk extension](https://email-spam-tester.com/plesk-integration/) - [WordPress plugin](https://email-spam-tester.com/wordpress-plugin/) - Integrations for [Mailchimp](https://email-spam-tester.com/mailchimp/), [HubSpot](https://email-spam-tester.com/hubspot/), [Zapier](https://email-spam-tester.com/zapier/), [n8n](https://email-spam-tester.com/n8n/) and [ChatGPT](https://email-spam-tester.com/chatgpt/). ## Integrations and platform guides - [Integrations](https://email-spam-tester.com/integrations/): every way to start the test from another tool, in one place, and the guides below. - Guides for sending platforms there is no connection to. Each says where the platform's test send is, why a real campaign to the test address is the truer test, and which DNS records the platform asks for: [Brevo](https://email-spam-tester.com/integrations/brevo/), [SendGrid](https://email-spam-tester.com/integrations/sendgrid/), [Amazon SES](https://email-spam-tester.com/integrations/amazon-ses/), [Klaviyo](https://email-spam-tester.com/integrations/klaviyo/), [ActiveCampaign](https://email-spam-tester.com/integrations/activecampaign/), [MailerLite](https://email-spam-tester.com/integrations/mailerlite/). ## Who runs it - [About](https://email-spam-tester.com/about/): Serhii Tanichev, independent software developer, whose day job is mail infrastructure for an email service provider. Email Spam Tester is his project, started in 2026. - [Blog](https://email-spam-tester.com/blog/): notes on deliverability from real messages, by the developer. RSS at /blog/feed.xml. - [Email Unsubscribe Footer: Examples, HTML & Best Practices](https://email-spam-tester.com/blog/unsubscribe-footer/): Learn how to create an email unsubscribe footer with real examples, copyable HTML, and Gmail & Yahoo requirements. Test your email before sending. - [Email Deliverability News: Latest Gmail, Yahoo & Outlook Updates](https://email-spam-tester.com/blog/email-deliverability-news/): Stay up to date with email sender requirements, deliverability changes, and spam filtering updates. See what changed, who is affected, and what to check. - [Why Are My Emails Going to Spam in Outlook? (And How to Fix It)](https://email-spam-tester.com/blog/outlook-emails-going-to-spam/): Outlook.com, Microsoft 365 and the Outlook app filter mail in different ways. What Microsoft requires since May 2025, what 550 5.7.515 means, and the fixes. - [Mailchimp Emails Going to Spam? How to Test and Fix Deliverability](https://email-spam-tester.com/blog/mailchimp-emails-going-to-spam/): Why Mailchimp campaigns land in spam, what Mailchimp's own test email can't show you, and the DNS records and settings that fix it, checked on a real send. - [WordPress Emails Going to Spam? How to Fix Contact Forms, Notifications and WooCommerce Emails](https://email-spam-tester.com/blog/wordpress-emails-going-to-spam/): Why the emails a WordPress site sends land in spam or never arrive, and how to fix it for contact forms, password resets and WooCommerce orders. - [Google Postmaster Tools: How to Read It Now the Reputation Charts Are Going](https://email-spam-tester.com/blog/google-postmaster-tools/): Setting up Gmail Postmaster Tools, why its charts start empty, what compliance, spam rate and delivery errors mean, and what I do when spam rate climbs. - [How to Test Email Deliverability Before You Hit Send](https://email-spam-tester.com/blog/how-to-test-email-deliverability/): Send a test email the way the campaign really goes out, then check authentication, unsubscribe headers, the sending IP and every link. My routine. - [Best Email Spam Testing Tools](https://email-spam-tester.com/blog/best-email-spam-testing-tools/): The email spam testing tools I actually use for real senders, what each one measures, roughly what it costs, and where the one I built fits, bias included. - [How to Know If Your IP or Domain Is Blacklisted](https://email-spam-tester.com/blog/email-blacklist-check/): How DNS blocklists work, which of them receivers actually consult, how to check an IP or a domain by hand, and what to do when you find yourself listed. - [How to Prevent Emails From Going to Spam in Gmail](https://email-spam-tester.com/blog/how-to-prevent-emails-going-to-spam-gmail/): What Gmail actually weighs, the rules it has enforced since February 2024, and the order I fix things in when a good sender lands in the spam folder. - [SPF, DKIM & DMARC Explained](https://email-spam-tester.com/blog/spf-dkim-dmarc-explained/): What SPF, DKIM and DMARC each actually verify, the failures I keep seeing on live mail traffic, and how to read the three of them in a report. - [Why Are My Emails Going to Spam?](https://email-spam-tester.com/blog/why-are-my-emails-going-to-spam/): A developer who reads mail headers for a living walks through the real reasons a message ends up in spam, from SPF and DKIM alignment to your own reputation. - [Changelog](https://email-spam-tester.com/changelog/): every change with its date. - [Contact](https://email-spam-tester.com/contact/): hi@email-spam-tester.com. - [Privacy](https://email-spam-tester.com/privacy/) and [Terms](https://email-spam-tester.com/terms/). ## Full version - [llms-full.txt](https://email-spam-tester.com/llms-full.txt): the same ground with the whole loop, the report fields and the failure modes in one file.