Maildir Spam Checking

I wrote this script when confronted with giant Maildir directories full of email, most likely spam, usually as a result of unwatched catch-all accounts.

 #!/bin/sh
 for i in *; do
   if cat $i | spamc | grep "X-Spam-Level: \*\*\*\*" ;
   then
     rm $i
   fi

 done

You can configure the threshold at which messages are deleted by adding more \* sequences to taste.

I tend to sort things into folders. The following cron job categorises things saved into my 'saved' folder as ham. I assume that things that I put into more specific folders are either filtered there by procmail, or are from specific people that are on the auto whitelist and never get misclassified.

 find /home/joel/Maildir/.saved/cur/ -type f -mtime -1 -print | xargs sa-learn --ham

More notes on my spam strategy are available at MuttMaildirCaching.