Check before review
Test the invoice email changed in this branch and list anything that got worse.
One check got worse: the text part is now empty.
GitHub Copilot
Add one server in VS Code and Copilot in agent mode can run a real spam test on the mail your project sends.
42 checks · No key · No account
Check before review
Test the invoice email changed in this branch and list anything that got worse.
One check got worse: the text part is now empty.
Fix the failures
Work through the failed checks in this report and change what can be changed in code: [report link]
Two fixes are in code. The third is a DNS record for you.
Add it to CI
Add the Email Spam Tester GitHub Action to our workflow for changes under templates/.
Workflow added. It needs three repository secrets.
The file goes in the root of the workspace, so the whole team gets it with the repo.
https://email-spam-tester.com/mcp{ "mcpServers": { "email-spam-tester": { "type": "http", "url": "https://email-spam-tester.com/mcp" } }}That file has its own format. The top key is servers.
{
"servers": {
"email-spam-tester": {
"type": "http",
"url": "https://email-spam-tester.com/mcp"
}
}
}Code review reads the diff.
Nobody reads the headers.
Nothing in a test suite fails when DMARC alignment stops holding. With the server in the repo's config, everyone on the project has the same test a prompt away, and nobody has to set up a key for it.
/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.
No. The server takes no key, so the config can be committed.
Yes, tool calls go through VS Code's usual confirmation unless you have allowed them.
Use the GitHub Action. It fails the job when authentication fails or the score drops.