SpamAssassin is a neat mail filter that tags incoming mails it thinks are spam. It can be set up to be a bit nastier about this, but the default is good enough.
You can use procmail(1) to run SpamAssassin, or you might want to use MailScanner to run it on all your incoming mail. You might even want to plug VipulsRazor into it.
Its homepage can be found here.
SpamAssassin is written in Perl and is licensed under the same license as Perl itself.
(Note, this product will assassinate Spam, but will leave SPAM well alone!)
poll mail.myisp.co.nz protocol POP3
user "pop3user" password "secret" is user "localuser" here mda "/usr/bin/procmail";
.procmailrc
:0 fhw | formail -I "From " -a "From "
:0fw | spamassassin
Note: older versions of spamassassin needed a "-P" option to tell it to read from a pipe, but that is now the default. The formail line corrects incoming messages for programs like evolution and mail by readding the From line.
/usr/bin/fetchmail >> /log/fetchmail
lib/main.php:944: Notice: PageInfo: Cannot find action page