Andrew Cohen writes: > 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). I looked a bit more at it: + (defun spam-treat-article () + "Treat the current buffer prior to spam analysis." + (interactive) + (spam-decode) ^^^^^^^^^^^^^ It doesn't work to call `spam-decode' here -- you have to decode each MIME part separately. It's not so easy to use the existing MIME parsing functions in Gnus for this purpose. They were written with display in mind, and they're also very slow because they do a lot of fancy stuff, which is unnecessary in this context. Please try the attached code (it increased my spam recognition rate by 4 percentage points).