I have been using
SpamBouncer for a while now, and it seems to do a decent job as long as it's updated. Many of the procmail rules in this could be adapted for other programs, as it maintains quite a few seperate files for the filter system. Also, it uses procmail scoring to decide if it's minor spam, or definitly spam. I haven't had too many hit the minor spam incorrectly, and almost none hit the definite spam folder. It also asks for all of the addresses you get mail at, and will toss things not directed directly at you into bulk.