top curve

SpamAssassin Scoring

General Information

SpamAssassin ( is a mail filter to identify spam email. It tests each message against a lengthy set of rules (see below) that are common characteristics of spam and generates a rating representing the likelihood that the message is spam.
Note that SpamAssassin *only* scores e-mails. It does not do any sort of filtering. This must be done by the user.

Once a score is generated, it is included in the email headers so that a filtering program can be used to flag the email, filter it into a special folder, or discard it****don't forget to change this link!!(see our procmail page to see how to do this).

SpamAssassin Rules

SpamAssassin uses an extensive list of tests to determine the likelihood that a message is spam.

Common spam characteristics which increase spam score:
  • it is received via a relay in a blacklisted domain (one that has been publicly recognized for generating spam)
  • is forged pretending to be from MS Outlook
  • contains explicit content
  • if the body of the message contains a significant amount of HTML code
Characteristics that decrease spam score:
  • there is reason to suggest that it is a legitimate message, like quoted email text (indicative of a reply)
  • if the sender uses a Unix-based email client like Pine
For a complete list of SpamAssassin's tests, see

Viewing Spam Score

We currently prepend "[Likely SPAM]" to messages with high SpamAssassin scores. This tag is attached very conservatively. This keeps legitimate messages from being mistakenly tagged.
To view the score for a particular message, enable full headers in your mail client of choice. There should be extra fields reporting SpamAssassin scoring information in the header of the message (see below).
There are two different ways to use SpamAssassin. The Basic way, in which no changes must be made by the user and the Advanced way. Both ways are described below.


  • X-Spam-Status: Shows numerical score and corresponding level (High, Med, Low)
  • X-Spam-Level: Displays number of *s (representing level of spam likelihood)
Example: After being processed by the milter on ares:
<snippet> X-Spam-Status: HIGH ; 292 X-Spam-Level: *****************************++ </snippet>


The Advanced method requires the user to invoke spamc. This is done in your .procmailrc located in your home directory. You simply need to add the lines:
:0fw | /usr/cs/bin/spamc -d spamd
  • X-Spam-Status: Shows numerical score and tests the message was flagged for
  • X-Spam-Level: Displays number of *s (representing level of spam likelihood)
  • X-Spam-Checker-Version: Shows SpamAssassin version and which server the process was run on
Example: After being processed with spamc
<snippet> X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on archive.cs.Virginia.EDU X-Spam-Level: **** X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.0 </snippet>
For a full explanation of our current mail system, please see our mailing system documentation.