The spam filtering walk-through
Razor only


First
Find a shell account (try this site to get a hint on free accounts) that provides an email address and the following applications:
* formail
* procmail


Second
Install Vipul's Razor:
* Download the latest razor-agents package from here to your homedir (eg use wget)
* Decompress and untar the razor file (tar xvzf razor-agents-x.xx)
* Run the compilation of the package as follows:
- perl Makefile.PL PREFIX=/home/XXXX/perl5 [NOTE: Replace the XXXX with your account name]
- make
- make test
- make install

The run:
- razor-client
- razor-admin -create
- razor-admin -discover
- razor-admin -register [NOTE: It should then say "Register successful...". (You may need to enter the last command a couple times to reach the registration server; if it says "Error 202", try "razor-admin -register" again.)]

* Edit your .cshrc file (placed in your homedir) to include these lines:
setenv PATH /home/XXXX/perl5/bin:${PATH}
setenv PERL5LIB /home/XXXX/perl5/libdata
setenv MANPATH /home/XXXX/perl5/man:${MANPATH}
* DONE!


Third
Create the following files and directories:

~/mail (a directory) NOTE: This directory is normally created with the shell account. If so - leave it as it is.
~/.procmail (a directory)

1. ~/.procmailrc (a text file)
2. ~/.procmail/spam.rc (a text file)


Fourth
Edit the files you've created as follows:

1. ~/.procmailrc

## Set to yes when debugging
VERBOSE=no ## I'm assuming that you are using pine, which means that your mail is
## stored in "~/mail". If not, figure out where your mail is stored
## (for example, "~/Mail" or "~/.mail" or "~/.Mail"), and set MAILDIR
## to that directory.
MAILDIR=$HOME/mail

## Directory for storing procmail-related files
PMDIR=$HOME/.procmail

## Put '#' before LOGFILE if you want no logging (not recommended)
LOGFILE=$PMDIR/log

## filter spam
INCLUDERC=$PMDIR/spam.rc



2. ~/.procmail/spam.rc

# Messages are tested against Vipul's Razor spamlist
# via the razor-check command. If messages are on the Razor list
# the subject line will be tagged with *****SPAM*****

:0 Wc
| razor-check
:0 Waf
| formail -i "Subject: *****SPAM*****"

:0c
*^Subject:.*****SPAM*****
! forwardaddress@example.com


:0c
*^Subject:.*
! forwardaddress@example.com


Now all mails get filtered. Spam mails are tagged with *****SPAM***** and all mails get forwarded to forwardaddress@example.com.
Now all you have to do is a filter rule at the @example.com address tom make the tagged mails go into another folder and voila - your're spam filtered.
Credits:
This walkthrough is hugely inspired by Duke Hutching's work on the matter and Spamassassin's Wiki.

"C Squared Studios/Photodisc Green/Getty Images"