NAME

spamassassin - mail filter to identify spam using text analysis


SYNOPSIS

  spamassassin [option ...] < mailmessage
  spamassassin -P [option ...] < mailmessage > output

  -h               print this help and terminate without further action
  -P               pipe message through, instead of delivering to mail spool
  -t               only testing; pipe message through and add extra report
  -r               report this message as verified spam
  -w fromaddr      send a warning mail back to the sender of the message,
                   notifying them that their message has been marked as spam
                   (only useful if -r is used)
  -l filename      Log all mail messages to a mbox-format file
  -L               Local tests only, do not do internet-based checks
  -d               Remove SpamAssassin reports from a mail message and print
  -c config        configuration file
  -p prefs         user preferences file
  -D               produce diagnostic output


DESCRIPTION

SpamAssassin is a mail filter to identify spam using text analysis and several internet-based realtime blacklists.

Using its rule base, it uses a wide range of heuristic tests on mail headers and body text to identify ``spam'', also known as unsolicited commercial email.

Once identified, the mail is then tagged as spam for later filtering using the user's own mail user-agent application.

SpamAssassin also includes support for reporting spam messages to collaborative filtering databases, such as Vipul's Razor ( http://razor.sourceforge.net/ ).

The default tagging operations that take place are detailed in the TAGGING section below.


CONFIGURATION FILES

The rule base, text templates, and rule description text are loaded from the configuration file. The default configuration file, if -c is not specified, is $Config{installsitelib}/spamassassin.cf.

The user preferences (such as scores to attach to each rule), are loaded from the file specified in the -p argument. If this is not specified, ~/.spamassassin.cf is used if it exists, otherwise $Config{installsitelib}/spamassassin.prefs is used.


OPTIONS

-P

Normally SpamAssassin will write the rewritten message to the mail spool by default. The -P parameter will cause it to pipe the output to STDOUT instead.

-t

Test mode.

-r

Report this message as verified spam. This will submit the mail message read from STDIN to various spam-blocker databases, such as Vipul's Razor ( http://razor.sourceforge.net/ ).

If the message contains SpamAssassin markup, this will be stripped out automatically before submission.

-w fromaddr

This flag is only useful in conjunction with -r. It will send a reply mail to the sender of the tested mail, notifying them that their message has been trapped as spam, from the address supplied in fromaddr. See the SPAM TRAPPING section below for more details.

-l filename

Log all mail messages that pass through the filter, to an mbox-format file named by filename. Handy for use with -r and -w.

-L

Do only the ''local'' tests, ones that do not require an internet connection to operate. Normally, SpamAssassin will try to detect whether you are connected to the net before doing these tests anyway, but for faster checks you may wish to use this.

-d

Remove SpamAssassin markup (the ``SpamAssassin results'' report, X-Spam-Status headers, etc.) from the mail message. The resulting message, which will be identical to the original, pre-SpamAssassin input, will be output to stdout.

-c config

Read configuration from config.

-p prefs

Read user score preferences from prefs.


TAGGING FOR SPAM MAILS

The modifications made are as follows:

Subject: header

The string *****SPAM***** is prepended to the subject.

X-Spam-Status: header

A string, Yes, hits=nn required=nn is set in this header to reflect the filter status.

X-Spam-Flag: header

Set to YES.

Content-Type: header

Set to text/plain, in order to defang HTML mail or other active content that could ``call back'' to the spammer.

spam mail body text

The SpamAssassin report is added to top of the mail message body.


TAGGING FOR NON-SPAM MAILS

X-Spam-Status: header

A string, No, hits=nn required=nn is set in this header to reflect the filter status.


SPAM TRAPPING

Quite often, if you've been on the internet for a while, you'll have accumulated a few old email accounts that nowadays get nothing but spam.

SpamAssassin lets you set them up as aliases, as follows:

spamtrap1: "| /path/to/spamassassin -r -w spamtrap1"

This will add any incoming mail messages straight into spam-tracking databases, such as Vipul's Razor; send an explanatory reply message to the sender, from the spamtrap1 address; then drop the mail into the bit-bucket.

The explanatory reply text is taken from the SpamAssassin configuration file, where it is stored in the spamtrap lines.

If you want to keep a copy of the mails, use something like this:

spamtrap1: "| /path/to/spamassassin -r -w spamtrap1 -l /var/spam/caught"

It is suggested you familiarise yourself with how MTAs run programs specified in aliases, if you plan to do this; for one thing, spamassassin will not run under your user id in this case. If you are nervous about this, create a user for spamtrapping, and set up spamassassin in it's .forward file.


INSTALLATION

The spamassassin command is part of the Mail::SpamAssassin Perl module. Install this as a normal Perl module, using perl -MCPAN -e shell, or by hand.


ENVIRONMENT

No environment variables, aside from those used by perl, are required to be set.


SEE ALSO

Mail::SpamAssassin Mail::Audit Razor


AUTHOR

Justin Mason <jm /at/ jmason.org>


PREREQUISITES

Mail::Audit


COREQUISITES

Net::DNS Razor