spamassassin - mail filter to identify spam using text analysis
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
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.
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.
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.
Test mode.
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.
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.
Log all mail messages that pass through the filter, to an mbox-format file
named by filename
. Handy for use with -r
and -w
.
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.
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.
Read configuration from config
.
Read user score preferences from prefs
.
The modifications made are as follows:
The string *****SPAM*****
is prepended to the subject.
A string, Yes, hits=nn required=nn
is set in this header to reflect the filter status.
Set to YES
.
Set to text/plain
, in order to defang HTML mail or other active content that could ``call
back'' to the spammer.
The SpamAssassin report is added to top of the mail message body.
A string, No, hits=nn required=nn
is set in this header to reflect the filter status.
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:
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:
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.
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.
No environment variables, aside from those used by perl, are required to be set.
Mail::SpamAssassin
Mail::Audit
Razor
Justin Mason <jm /at/ jmason.org>
Mail::Audit
Net::DNS
Razor