I've been a long time user of SpamAssassin, but hadn't updated it for some time. About 6 weeks ago, I updated it to the latest version, which includes a Baysian filter. I spent some time making sure I correctly classified Junk and other mail and trained it regularly. For the last three weeks I've been checking my junk folder to ensure it didn't throw things away I wanted and I didn't find anything. Nothing. It lets a few things through, especially when its of a type it hasn't seen before, but after training again, that goes away. So today, I took the plunge and deleted over 1000 items in my Junk folder without even looking at them. Wow!
I read mail on my Ti-Book but filter on my mail server. So, I actually train on the Mac and then transfer the results to my server using this script:
#!/bin/sh SA_LEARN=$HOME/pkgs/Mail-SpamAssassin-2.63/sa-learn JUNK="$HOME/Library/Mail/POP-pj@pop.windley.org/Junk.mbox/mbox" DELETED="$HOME/Library/Mail/POP-pj@pop.windley.org/deleted.mbox/mbox" MAILBOXES=/Users/pjw/Library/Mail/Mailboxes BAYES_DIR="$HOME/.spamassassin" SEEN=$BAYES_DIR/bayes_seen TOKS=$BAYES_DIR/bayes_toks $SA_LEARN --spam --mbox $JUNK $SA_LEARN --ham --mbox $DELETED
After that I just scp the files up to my server and it works like a charm. It may seem odd that I only look at my Trash folder as ham. The Trash folder represents the largest collection of fresh email that isn't Spam. I When I first did this I did look at all my other folders with this line:
find $MAILBOXES -name mbox -exec $SA_LEARN --ham --mbox {} \\;
But after running it once, my other folders don't change often enough to do this regularly, so I'll run that line occasionally. I don't want to waste time each day looking at all the other folders and not getting any information from them. There are, of course, a lot of other configurations you might use to get SpamAssassin in the loop, but this one's pretty slick. Between SpamAssassin and the built in features of Os X, I am virtually Spam free.