Gnus development mailing list
 help / color / mirror / Atom feed
From: Reiner Steib <4.uce.03.r.s@nurfuerspam.de>
Subject: Re: Spam.el tutorial
Date: Sun, 14 Dec 2003 13:28:10 +0100	[thread overview]
Message-ID: <v94qw3y46d.fsf@marauder.physik.uni-ulm.de> (raw)
In-Reply-To: <plop873cbo16gs.fsf@gnu-rox.org>

On Sun, Dec 14 2003, Xavier Maillard wrote:

> So I think a tutorial is something useful to show people different way
> to set all things up. The most important thing is to show people a
> maximum of different setup according to way you, gnus users, read your
> mails.
[...]
> So I think, if people can post here, in this thread, the portion of
> their own spam.el setup, would be a good start to produce a final
> document. Posting emacs lisp with comments explaining users choice is
> higly recommended though. 

Here's my setup:

--8<---------------cut here---------------start------------->8---
* Using `spam.el' on an IMAP server with a statistical filter on the
  server

** Background
 
My provider has set up bogofilter (in combination with DCC) on the
mail server (IMAP).  Recognized spam goes to "spam.detected", the rest
goes through the normal filter rules, i.e. to "some.folder" or to
"INBOX".  Training on false positives or negatives is done by copying
or moving the article to "training.ham" or "training.spam"
respectively.  A cron job on the server feeds those to bogofilter with
the suitable ham or spam options and deletes them from the
"training.ham" and "training.spam" folders.

** Setup

With the following entries in `gnus-parameters', `spam.el' does most
of the job for me:

   ("nnimap:spam\\.detected"
    (gnus-article-sort-functions '(gnus-article-sort-by-chars))
    (ham-process-destination "nnimap:INBOX" "nnimap:training.ham")
    (spam-contents gnus-group-spam-classification-spam))
   ("nnimap:\\(INBOX\\|other-folders\\)"
    (spam-process-destination . "nnimap:training.spam")
    (spam-contents gnus-group-spam-classification-ham))

*** The Spam folder:

  In the folder "spam.detected", I have to check for false positives
  (i.e. legitimate mails, that were wrongly judged as spam by
  bogofilter or DCC).
  
  Because of the `gnus-group-spam-classification-spam' entry, all
  messages are marked as spam (with `$').  When I find a false
  positive, I mark the message with some other mark (see `ham-marks'
  in the manual: `C-h i d gnus RET i ham-mark RET').  On group exit,
  those messages are copied to both groups, "INBOX" (were I want to
  have the article) and "training.ham" (for training bogofilter) and
  deleted from the "spam.detected" folder.

  The sort-by-chars entry simplifies detection of false positives for
  me.  I receive lots of worms [1] (sweN, ...), that all have a
  similar size.  Grouping them by size (i.e. chars) makes finding
  other false positives easier.

*** Ham folders:

  In my ham folders, I just hit `S x' (`gnus-summary-mark-as-spam')
  whenever I see an unrecognized spam mail (false negative).  On group
  exit, those messages are moved to "training.ham".

* Reporting spam articles in Gmane [2] groups with `spam-report.el'

With following entry in `gnus-parameters', `S x'
(`gnus-summary-mark-as-spam') marks articles in gmane.* groups as spam
and reports the to Gmane at group exit: 

   ("^gmane\\."
    (spam-process (gnus-group-spam-exit-processor-report-gmane)))

Additionally, I use `(setq spam-report-gmane-use-article-number nil)'
because I don't read the groups directly from news.gmane.org, but
through my local news server (leafnode).  I.e. the article numbers are
not the same as on news.gmane.org, thus `spam-report.el' has to check
the "X-Report-Spam" header to find the correct number.

[1] Of course worms aren't "spam" (UCE, UBE) strictly speaking.
    Anyhow, bogofilter is an excellent tool for filtering those
    unwanted mails for me.

[2] <URL:http://gmane.org/>
--8<---------------cut here---------------end--------------->8---

For people who prefer `gnus-parameters' instead of customize, it's
probably best to use customize (`G c') first and look at the correct
syntax with `G e'.  Then, use this format in `gnus-parameters' and
remove the customize entries with `G e' or `G c'.

Ted, please correct me if I described something inaccurately,
especially the copying/moving process (I didn't check the current
code).  Thanks for your work! :-)

Bye, Reiner.

-- 
       ,,,
      (o o)
---ooO-(_)-Ooo--- PGP key available via WWW   http://rsteib.home.pages.de/




  parent reply	other threads:[~2003-12-14 12:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-14  2:25 Xavier Maillard
2003-12-14  3:40 ` Ted Zlatanov
2003-12-14 12:28 ` Reiner Steib [this message]
2003-12-14 22:38   ` Xavier Maillard
2003-12-16 19:10 ` Kai Grossjohann
2003-12-16 20:57   ` Ted Zlatanov
2003-12-16 21:12     ` Kai Grossjohann
2003-12-16 21:16       ` Kai Grossjohann
2003-12-16 22:16         ` Ted Zlatanov
2003-12-17  5:29           ` Xavier Maillard
2003-12-17 16:49             ` Ted Zlatanov
2003-12-17 22:26               ` Xavier Maillard
2003-12-18 16:35                 ` Ted Zlatanov
2003-12-19 10:38                   ` Xavier Maillard
2003-12-17  5:33   ` Xavier Maillard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=v94qw3y46d.fsf@marauder.physik.uni-ulm.de \
    --to=4.uce.03.r.s@nurfuerspam.de \
    --cc=reiner.steib@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).