
I use a rather simple CRM114-based setup to handle spam in my incoming mail.
Nothing really funky here as I essentially used examples from the Debian
package's examples/ directory.
The only personal touch is using a two-step method for this.
All mails are received on my home server and delivered to the "bubulle" user
there. A non aggressive CRM114 setup runs there for this user.
Mails identified as spam are sorted in a specific
folder on the server and are theoretically examined regularly. Indeed, this is
something I can't do anymore, given the number of identified spams (about
1000 per day, most of them in Debian mailing lists and Debian BTS). After a
quick look, this spam is re-teached as being spam to CR114, then stored as
backup in a giant mail folder, which allows me to retrieve a possible false
positive later.
All other mails are left in /var/mail/bubulle waiting for my laptop to grab
them.
This gives very few false positives, but still lets a lot of spam slip
through.
This is why I also run CRM114 on my laptop when mail is grabbed from my home
server (I use fetchmail between my laptop and my home server, wherever I am).
There, spams are again identified (more aggressively than what's done on my
home server) by CRM114.
The identified spams are sorted
in a folder which I routinely investigate carefully for false positives
(there are several a day, but the numbers are low because of the prefiltering
done on my home server). Spams are teached as spam to CRM114 and, of course,
ham is teached as "ham".
I recently added the following to my mutt setup so that SPAM/UNSURE/HAM
mails are easy to identify in mutt's index:
spam "X-Spam-Status: Yes" "90+/SA"
spam "X-CRM114-Status: SPAM" "90+/CRM"
spam "X-CRM114-Status: UNSURE" "40+/CRM"
set spam_separator=", "
color index red default ~H90 # Spam
color index cyan default ~H40 # Unsure
With this, messages identified as "Spam" are shown in red in the index,
"unsure" messages are showed in cyan and regular messages have their normal
colors.
This is really helpful as I can spot messages that are "unsure" and very
quickly tell CRM114 that they're ham or spam, with:
macro index \es ""s/home/bubulle/Mail/Administration_systeme/Spams\ncrmlearn --learnspam\n" "crm114 learn as spam"
macro index \eh "crmlearn --learnnonspam\n" "crm114 learn as ham"
macro pager \es ""s/home/bubulle/Mail/Administration_systeme/Spams\ncrmlearn --learnspam\n" "crm114 learn as spam"
macro pager \eh "crmlearn --learnnonspam\n" "crm114 learn as ham"
with the "crmlearn" script being:
#!/bin/sh
grep -a -v "^X-CRM114" \
$HOME/.crm114/mailfilter.crm -u $HOME/.crm114/ $1 --force \
grep -a "^X-CRM114"
Shortly speaking, for any cyan message I see in mutt, I hit "ESC-h" if I
consider it to be ham or "ESC-s" if I consider it to be spam.
Finally, all mails identified as spam are grouped in a dedicated mail folder
(/home/bubulle/Mail/Administration_systeme/Spams above) which is sent daily
to my home server, where it is used to teach CRM114 about spam, then deleted
on my laptop.
All this makes spam handling pretty easy with a not so complicated
setup (the trickiest part is the nightly laptop->home server synchronization).