This section describes how to use the Spam statistics independently of the See Spam Package.
First, add the following to your ~/.gnus.el file:
(require 'spam-stat) (spam-stat-load)
This will load the necessary Gnus code, and the dictionary you created.
Next, you need to adapt your fancy splitting rules: You need to
determine how to use spam-stat
. The following examples are for
the nnml back end. Using the nnimap back end works just as well. Just
use nnimap-split-fancy
instead of nnmail-split-fancy
.
In the simplest case, you only have two groups, ‘mail.misc’ and
‘mail.spam’. The following expression says that mail is either
spam or it should go into ‘mail.misc’. If it is spam, then
spam-stat-split-fancy
will return ‘mail.spam’.
(setq nnmail-split-fancy `(| (: spam-stat-split-fancy) "mail.misc"))
The group to use for spam. Default is ‘mail.spam’.
If you also filter mail with specific subjects into other groups, use the following expression. Only mails not matching the regular expression are considered potential spam.
(setq nnmail-split-fancy `(| ("Subject" "\\bspam-stat\\b" "mail.emacs") (: spam-stat-split-fancy) "mail.misc"))
If you want to filter for spam first, then you must be careful when
creating the dictionary. Note that spam-stat-split-fancy
must
consider both mails in ‘mail.emacs’ and in ‘mail.misc’ as
non-spam, therefore both should be in your collection of non-spam
mails, when creating the dictionary!
(setq nnmail-split-fancy `(| (: spam-stat-split-fancy) ("Subject" "\\bspam-stat\\b" "mail.emacs") "mail.misc"))
You can combine this with traditional filtering. Here, we move all
HTML-only mails into the ‘mail.spam.filtered’ group. Note that since
spam-stat-split-fancy
will never see them, the mails in
‘mail.spam.filtered’ should be neither in your collection of spam mails,
nor in your collection of non-spam mails, when creating the
dictionary!
(setq nnmail-split-fancy `(| ("Content-Type" "text/html" "mail.spam.filtered") (: spam-stat-split-fancy) ("Subject" "\\bspam-stat\\b" "mail.emacs") "mail.misc"))