Back to blog
Content··3 min read·WillItInbox Team

Email spam trigger words: what SpamAssassin actually scores

See why isolated words rarely decide placement, which structural and phrase combinations score, and how to test the final message.

ContentSpamAssassinCopywriting

Every "500 spam words to avoid" listicle is half wrong. SpamAssassin doesn't have a magic word list; it has a few hundred rules that score on patterns, context, and combinations. Knowing how the engine actually thinks lets you write effective subject lines without typing around imaginary tripwires.

If you want the broader content map, the content hub groups trigger phrases, MIME structure, plain-text alternatives, and accessibility checks into one guide.

How SpamAssassin scores content

Each rule has a name (HTML_IMAGE_ONLY_28, MISSING_HEADERS, etc.) and a numeric weight. A message's total score is the sum of triggered rules. Above 5.0 is typically marked spam; the threshold is configurable per receiver.

CategoryTypical weightExamples
Structural1.0–4.0Image-only, missing headers, broken MIME
Authentication1.0–3.5DKIM fail, SPF fail, DMARC fail
URL/link0.5–3.0URL shorteners, mismatched anchors, raw IPs
Vocabulary0.05–1.5Trigger phrases, all-caps, exclamations
Bayesian−1.5 to +3.5Learned per-receiver, hardest to predict
Rule categories by weight.

The phrases that actually score

RuleTriggerWeight
UPPERCASE_50_75Subject is mostly UPPERCASE1.4
SUBJECT_EXCESS_QP5+ exclamations or question marks1.0
MONEY_BACK"100% money back" + close keywords1.0
URGENT_ACTION_NEEDED"Act now" + "limited time" + others0.8
FREE_OFFER"Free" near "offer" near "call now"0.8
PYZOR_CHECKBody matches known spam corpus1.5
SpamAssassin rules that fire on common marketing phrases.

Notice the pattern: most content rules require a combination of signals to fire. "Free" alone is fine. "FREE!!! Act now! Limited time!!" stacks five rules.

What the listicles get wrong

  • "Click here" — not a trigger. Used in millions of legitimate emails daily.
  • "Buy now" — fine in context. Triggers only when stacked with urgency phrases.
  • "Cash" — neutral. Spam phrasings are more specific ("cash bonus," "cash prize").
  • "Discount" — common in legitimate retail mail. Not scored.
  • "Sale" — fine. Subject "50% OFF SALE!!!" is the problem, not "sale."

What you should actually avoid

  1. ALL CAPS subjects. Even partial capitalization (>50%) triggers UPPERCASE_50_75.
  2. Multiple exclamation marks in subject or first paragraph.
  3. Stacked urgency phrases. "Act now," "limited time," "don't miss out" within the same paragraph.
  4. Dollar amounts in the subject when paired with urgency. "$5,000 today!" hits multiple rules.
  5. "You've won" / "You're a winner" — strongly weighted as common phishing pattern.

Structural problems you should care about more

RuleTriggerWeight
HTML_IMAGE_ONLY_28HTML body is mostly images2.5
MIME_HTML_ONLYNo plain-text alternative0.7
MISSING_DATENo Date: header1.5
MISSING_MIDNo Message-ID header1.0
HIDDEN_TEXTwhite-on-white or display:none text3.0
URI_HEXURLs encoded with hex2.0
Structural rules with high impact.

Testing without guessing

  1. Send your draft through WillItInbox. The content category breaks out every triggered rule with weights.
  2. For raw SpamAssassin: pipe a test message through spamassassin -t and read the rule output.
  3. Use mail-tester.com for a quick second opinion.
  4. Iterate one variable at a time — change subject, re-test, then change body. Combined changes obscure cause and effect.

Frequently asked questions

The fastest check is not deleting every promotional word. Run the complete message through the deliverability tester, then use the header analyzer when MIME or required-field evidence needs isolated review.

Last updated June 13, 2026.

Sources reviewed

Factual review: June 13, 2026 by WillItInbox Editorial.

Keep reading