An easy way to filter out spam is to use SpamOracle. SpamOracle is an statistical mail filtering tool written by Xavier Leroy and needs to be installed separately.
There are several ways to use SpamOracle with Gnus. In all cases, your mail is piped through SpamOracle in its mark mode. SpamOracle will then enter an ‘X-Spam’ header indicating whether it regards the mail as a spam mail or not.
One possibility is to run SpamOracle as a :prescript
from the
See Mail Source Specifiers, (see SpamAssassin, Vipul’s Razor, DCC, etc). This method has
the advantage that the user can see the X-Spam headers.
The easiest method is to make spam.el (see Spam Package) call SpamOracle.
To enable SpamOracle usage by spam.el
, set the variable
spam-use-spamoracle
to t
and configure the
nnmail-split-fancy
or nnimap-split-fancy
. See Spam Package. In this example the ‘INBOX’ of an nnimap server is
filtered using SpamOracle. Mails recognized as spam mails will be
moved to spam-split-group
, ‘Junk’ in this case. Ham
messages stay in ‘INBOX’:
(setq spam-use-spamoracle t
spam-split-group "Junk"
;; for nnimap you’ll probably want to set nnimap-split-methods, see the manual
nnimap-split-inbox '("INBOX")
nnimap-split-fancy '(| (: spam-split) "INBOX"))
Set to t
if you want Gnus to enable spam filtering using
SpamOracle.
Gnus uses the SpamOracle binary called spamoracle found in the
user’s PATH. Using the variable spam-spamoracle-binary
, this
can be customized.
By default, SpamOracle uses the file ~/.spamoracle.db as a database to
store its analysis. This is controlled by the variable
spam-spamoracle-database
which defaults to nil
. That means
the default SpamOracle database will be used. In case you want your
database to live somewhere special, set
spam-spamoracle-database
to this path.
SpamOracle employs a statistical algorithm to determine whether a message is spam or ham. In order to get good results, meaning few false hits or misses, SpamOracle needs training. SpamOracle learns the characteristics of your spam mails. Using the add mode (training mode) one has to feed good (ham) and spam mails to SpamOracle. This can be done by pressing | in the Summary buffer and pipe the mail to a SpamOracle process or using spam.el’s spam- and ham-processors, which is much more convenient. For a detailed description of spam- and ham-processors, See Spam Package.
Add this symbol to a group’s spam-process
parameter by
customizing the group parameter or the
gnus-spam-process-newsgroups
variable. When this symbol is added
to a group’s spam-process
parameter, spam-marked articles will be
sent to SpamOracle as spam samples.
WARNING
Instead of the obsolete
gnus-group-spam-exit-processor-spamoracle
, it is recommended
that you use (spam spam-use-spamoracle)
. Everything will work
the same way, we promise.
Add this symbol to a group’s spam-process
parameter by
customizing the group parameter or the
gnus-spam-process-newsgroups
variable. When this symbol is added
to a group’s spam-process
parameter, the ham-marked articles in
ham groups will be sent to the SpamOracle as samples of ham
messages.
WARNING
Instead of the obsolete
gnus-group-ham-exit-processor-spamoracle
, it is recommended
that you use (ham spam-use-spamoracle)
. Everything will work
the same way, we promise.
Example: These are the Group Parameters of a group that has been classified as a ham group, meaning that it should only contain ham messages.
((spam-contents gnus-group-spam-classification-ham) (spam-process ((ham spam-use-spamoracle) (spam spam-use-spamoracle))))
For this group the spam-use-spamoracle
is installed for both
ham and spam processing. If the group contains spam message
(e.g., because SpamOracle has not had enough sample messages yet) and
the user marks some messages as spam messages, these messages will be
processed by SpamOracle. The processor sends the messages to
SpamOracle as new samples for spam.