I've been using spam-stat.el for ages, but was unhappy that it only had a success rate of about 97%. Checking a bit this was almost entirely because it did no decoding of mime (or base64) encoded articles. I've modified it to decode mime (if you don't like this it can be controlled by customizing the spam-treat-mime-function to nil). After retraining, I now have a false-positive rate of less than .08% (no false positives on my test directory of 1300 ham emails) and a success rate of detecting spam of about 99.8%, which is as good or better than any of the other Bayesian filters I've played with. Diffs attached.