Test a template
Send templates/welcome.html through our staging mailer to a test address and tell me what fails.
DKIM passes, but d= is the relay's domain, so DMARC does not align.
Claude Code
One command in the terminal. After that Claude Code can send a transactional template through your relay, read what the receiver saw, and change the template or tell you which record to fix.
42 checks · No key · No account
The server is hosted, so nothing gets installed and no key goes into your environment.
https://email-spam-tester.com/mcpclaude mcp add --transport http email-spam-tester https://email-spam-tester.com/mcpSame server, plus a skill that tells the agent how to run the loop.
/plugin marketplace add serg-tanichev/email-spam-tester-mcp
/plugin install email-spam-tester@email-spam-testerTest a template
Send templates/welcome.html through our staging mailer to a test address and tell me what fails.
DKIM passes, but d= is the relay's domain, so DMARC does not align.
Find the header
Get the message source for this slug and show me which header our code should be setting: [slug]
List-Unsubscribe-Post is missing. It belongs in mailer.ts, line by line below.
Compare two runs
Fix what the report names, test again with a fresh address and compare the two scores.
Second run done. I will put both scores side by side.
The template compiled.
That says nothing about the inbox.
A template change, a test run, a report naming the header that went wrong, all in the session where the code is already open.
/mcpget_test_addressReserves a one-hour address. With placement switched on, you also get a list of mailboxes at different providers.
wait_for_reportHolds until the checks finish, then returns the scores, the failed and warned checks with their evidence, and the fix plan.
get_reportReads an existing report by its slug, including how far the folder check has got.
get_message_sourceReturns the email as it arrived, headers in wire order, for an hour after delivery.
About half of the checks read what the sending platform adds: the DKIM signature, the path through its servers, the unsubscribe headers. Pasted text has none of those, so the model would be guessing.
What you send to the test address. The raw message stays for an hour after it arrives and then only the report remains, at a link anyone with the slug can open. Test mail you would be fine showing a colleague, and read the privacy policy for the rest.
Yes. It is the same analysis and the same report page, so a run from a chat can be compared with one from the home page.
Yes, when you can. A staging relay usually signs with another key and sends from another IP, so the checks would describe the wrong setup.
No. The server takes no key, so .mcp.json holds only the address.
The command adds the tools. The plugin adds the same tools and a skill, so the agent also knows that skip does not mean pass.