Email Spam Checker
Scan any HTML email with SpamAssassin — the same open-source engine mail servers use — and see a full per-rule breakdown of exactly what's pushing your score up or down.
👋 Free with an account · part of the free Email Readiness score
How scoring works
SpamAssassin tests the email against hundreds of rules. Each rule that fires adds or subtracts points — the running total is your spam score. The standard pass threshold is 5.0: stay below it and most mail servers won't flag the content itself.
The report doesn't just show the number — it lists every rule that fired, its individual contribution (positive = bad, negative = good), and a plain-English description, so you know exactly what to change.
The spam check is one of five checks (23 of 100 points) in the Email Readiness score — free with an account, alongside compatibility, accessibility, and QA.
The rules
SpamAssassin runs hundreds of rules — these eight categories cover the ones that show up most often in real email QA reports.
HTML_MESSAGEEmail uses HTML — expected, low-weight rule.MIME_HTML_ONLYNo plain-text alternative. Consider adding a text/plain part for better deliverability.HTML_FONT_LOW_CONTRASTText colour is very close to background colour — a classic spam obfuscation trick.HTML_MIME_NO_HTML_TAGHTML content is missing the <html> wrapper tag.HTTPS_HTTP_MISMATCHA link displays HTTPS but the actual href is HTTP (or vice versa).HTTP_ESCAPED_HOSTA URL uses an encoded hostname to disguise its destination.URI_HEXA URL contains hex-encoded characters — often used in phishing links.HTML_SHORT_LINKContains a shortened URL (e.g. bit.ly), which spam filters frequently flag.MISSING_SUBJECTNo Subject line. In a real send, always set a subject.MISSING_MIDNo Message-ID header — ESPs add this automatically on real sends.MISSING_DATENo Date header — also added by ESPs on real sends.MISSING_FROMNo From header.SPF_NONEThe sending domain has no SPF record — receiving servers can't verify the sender.SPF_FAIL / SPF_SOFTFAILSPF check failed, or soft-failed — the sending server isn't (fully) authorised by the domain.DKIM_INVALIDA DKIM signature is present but failed validation.DKIM_SIGNEDEmail carries a valid DKIM signature — beneficial, negative score.BAYES_0099%+ confident not spam — large negative score, very beneficial.BAYES_05 / BAYES_20Likely not spam.BAYES_50Uncertain.BAYES_80 / BAYES_95 / BAYES_99Likely or almost certainly spam — high positive scores.RAZOR2_CHECK / PYZOR_CHECK / DCC_CHECKContent matches a known spam fingerprint in a shared database. Only fires if this exact content was previously reported.URIBL_BLOCKEDA DNS blocklist query was blocked — common in sandboxed environments, not necessarily a real spam signal for a preview test.MISSING_UNSUBSCRIBENo unsubscribe link detected — penalised by SpamAssassin and required by CAN-SPAM / GDPR for commercial email.NO_RECEIVEDNo email routing headers — expected, since MailViewr submits HTML directly, not via SMTP.NO_RELAYSNo relay chain info — same reason as above. Both carry zero or negative score.SpamAssassin tests the HTML body in isolation — without real From/To headers, SMTP metadata, or sender reputation. Rules like NO_RECEIVED, NO_RELAYS, MISSING_SUBJECT, MISSING_FROM, MISSING_DATE, MISSING_MID will almost always fire in any preview context. They carry zero or negative score and are noted as expected — a SpamAssassin pass (score under 5.0) is necessary but not sufficient for inbox delivery on its own; domain reputation and SPF/DKIM/DMARC alignment matter just as much.
FAQ
Below 5.0. SpamAssassin sums the score of every rule that fires — positive scores push toward spam, negative scores (like a clean Bayesian read) pull away from it. Scores at or above 5.0 are treated as spam by most mail servers.
The spam check is free with a free account — it's one of the five checks in the Email Readiness score. Preview, the HTML editor, and MJML tooling stay free — 5 previews before you need to sign in.
No. SpamAssassin scores the HTML body in isolation, without real From/To headers, SMTP metadata, or sender reputation. Rules like NO_RECEIVED, NO_RELAYS, MISSING_SUBJECT, MISSING_FROM, MISSING_DATE, and MISSING_MID almost always fire in any preview context and carry zero or negative score — they're expected, not something to fix.
No — it's necessary but not sufficient. A SpamAssassin pass tells you the content itself isn't triggering spam heuristics; actual delivery also depends on sending-domain reputation, SPF/DKIM/DMARC alignment, and list hygiene, which are outside what a content check can see.
Paste your HTML into the Email Builder and get a real SpamAssassin score with the full rule breakdown.