While searching for an easy way to do server side Spam filtering, so I don’t have to bear with all those spams when looking at my Inbox with Webmail, I found IMAP Spam begone. It’s a python script that scans your Inbox for new messages and hands them to Spamassasin to check their spam status and copies them to a pre-defined folder in your Maildir if it is found to be a spam message. Client side spam filtering is done with Apple Mail on my iBook which works very good for me. So there is a second layer of filtering in place in case something still gets through.
Although isbg.py is rather old and hasn’t been updatet in about three years it works very conveniently and tags nearly all of my Spams, moves them to my Junk folder and deletes them from my Inbox. The script is called from a cronjob and run every 10 minutes so there is a slight chance that I still find Spams in my Webmail before isbg.py is able to run and delete them.
The reason I settled for this “external” integration of Spamassasin via isbg.py is that I didn’t want to mess around with the transport rules of my MTA because of the chance to do something not all users are happy with. With IMAP Spam begone I have an individual solution that works for me without altering the way all the other people experience the mail service.
Below you’ll find the command line options I have running, for further explanations please refer to the projects homepage.
isbg.py --spaminbox INBOX.Junk --spamc --delete --nostats --expunge
Update: Since the ISBG site seems to be down currently, I’ll provide a download link for the script here.