Installation et configuration de SpamAssassin

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Installation

Pour installer SpamAssassin, rien de plus simple :

Command apt-get
apt-get install spamassassin libmail-spf-query-perl

2 Configuration

Voici mon fichier de configuration à adapter selon vos besoins :

Configuration File /etc/spamassassin/local.cf
# SpamAssassin Configuration
rewrite_header Subject  *****SPAM*****
use_bayes               1
bayes_auto_learn        1
required_score          5.0
skip_rbl_checks         0
report_safe             0
 
#pyzor
#use_pyzor               1
#pyzor_path /usr/bin/pyzor
 
#razor
#use_razor2              1
#razor_config /etc/razor/razor-agent.conf
 
ok_locales              en fr
whitelist_from *@deimos.fr [email protected]
blacklist_from *@mandrivaclub.com

Maintenant, il faut autoriser spamassassin à démarrer automatiquement. Pour ça dans le fichier /etc/default/spamassassin, il faut passer de :

Configuration File /etc/default/spamassassin
ENABLED=0

à

Configuration File /etc/default/spamassassin
ENABLED=1

Ensuite, on redémarre SpamAssassin :

Command
/etc/init.d/spamassassin restart

Il existe aussi un site permettant de générer une configuration SpamAssassin.

3 Ajout de Spams et Hams

Pour ajouter du Ham ou du Spam, nous allons insérer ceci dans la crontab de la ou des personnes qui veulent gérer ceci :

Command crontab -e
sa-learn --spam --dir ~/Maildir/.Spam/cur && mv ~/Maildir/.Spam/cur/* ~/Maildir/.Trash/cur/
sa-learn --ham --dir ~/Maildir/.NoSpam/cur && mv ~/Maildir/.NoSpam/cur/* ~/Maildir/cur/

Sinon un petit script peut également faire l'affaire :

Configuration File ~/.antispam.sh
#!/bin/sh
 
sa-learn --spam --dir ~/Maildir/.Spam/cur
if [ `ls ~/Maildir/.Spam/cur/ | wc | awk '{ print $1 }'` != 0 ] ; then
	mv ~/Maildir/.Spam/cur/* ~/Maildir/.Trash/cur/ 2>&1 /dev/null
fi
 
sa-learn --ham --dir ~/Maildir/.NoSpam/cur
if [ `ls ~/Maildir/.NoSpam/cur/ | wc | awk '{ print $1 }'` != 0 ] ; then
	mv ~/Maildir/.NoSpam/cur/* ~/Maildir/cur/ 2>&1 /dev/null
fi

Ceci à pour but d'avoir dans sa boite au lettre 2 nouveaux dossiers (1 pour les courriers désirables et l'autre pour les non désirables) :

  • Si un Spam se trouve dans un dossier et qu'il n'est pas détecté en tant que Spam, mettez le dans le dossier Spam.
  • Si un mail arrive en tant que Spam alors que ce n'en est pas un, mettez le dans le dossier NoSpam pour qui deviene valide. De cette façon, Spamassasin va analyser le mail pour que la prochaine fois, il arrive sans être détecté en tant que Spam.

Et pour finir, si vos dossiers Spam et NoSpam n'existent pas dans vos boites aux lettes :

Command
mkdir -p ~/Maildir/.Spam/cur/ ~/Maildir/.NoSpam/cur/

Mais je vous recommande de créer ces dossiers avec votre lecteur de mails courant.

4 FAQ

4.1 Comment je peux tester si le module SPF fonfctionne bien ?

Mettez un simple mail correct dans sample-nonspam.txt et lancez cette commande :

Command spamassassin
spamassassin -D < sample-nonspam.txt

Vous devriez avoir quelquechose comme ceci :

....
debug: registering glue method for check_for_spf_helo_pass
(Mail::SpamAssassin::Plugin::SPF=HASH(0x8d21990))
....