spamassassin - mail filter to identify spam using text analysis
If the message contains SpamAssassin markup, this will be stripped out automatically before submission.
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 TAGGING.
The rule base, text templates, and rule description text are loaded from the configuration files.
The default configuration file is $Config{installsitelib}/spamassassin.cf. This file will always be read first.
/etc/spamassassin.cf (or the file specified with -c
) will be read next,
if it exists. This is a good place to add your own site-wide preferences.
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. spamassassin
will create this
file if it does not exist, using $Config{installsitelib}/spamassassin.prefs
as a template.
The following two sections detail the tagging that takes place for spam messages, first of all, and for non-spam messages.
Note that if you use the -t argument, all mails will be tagged as if they are spam messages.
The modifications made are as follows:
*****SPAM*****
is prepended to the subject,
unless the rewrite_subject 0
configuration option is given.
Yes, hits=nn required=nn
is set in this header to reflect
the filter status.
YES
.
report_header = 1
configuration option is given.
text/plain
, in order to defang HTML mail or other active
content that could ``call back'' to the spammer.
report_header 1
configuration option is given.
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 its .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(3)
Mail::Audit(3)
Razor(3)
Justin Mason <jm /at/ jmason.org>
Mail::Audit
Net::DNS
Razor