Menu
Rechercher
Accueil > Le LPNHE > Pages du personnel permanent > Beau Tristan > Divers > Vielleries > anti-spam et imap
Je présente ici la méthode que j’ai mise en place pour effectuer le filtrage et l’anti-spamming sur mon compte IMAP.
Plusieurs raisons font qu’il m’était difficile de mettre cela en place viaccimap.in2p3.fr
le serveur imap
du centre de calcul de Lyon :
- Il n’est pas possible de se logger sur
ccimap.in2p3.fr
.
Donc il n’est pas possible d’installer un anti-spam local configuré pour ses besoins. - Je ne souhaite pas télécharger tous les mails de IMAP vers une zone spool de ma machine locale, ce qui aurait permis d’utiliser procmail par exemple.
- Je n’utilise pas de mailer possédant de filtrage intégré. C’est en particulier le cas de
mutt
.
Notons toutefois que du filtrage anti-spam est rarement disponible via directement un mailer.
C’est réservé la plupart du temps à d’autres outils.
Si vous vous trouvez dans ces 3 cas, vous pouvez tenter d’utiliser vous aussi la configuration que j’utilise et que je décris ci-dessous.
Filtrage
Le filtrage est possible en laissant les mails sur le serveur IMAP.
Pour cela, j’utilise avec succès
imapfilter
.
La version 0.8.6 est disponible en .tar.gz
.
Pour l’installation, faire tout simplement :
Quand vous lancerez imapfilter
en tant qu’utilisateur standard, le répertoire .imapfilter/
et le fichier .imapfilterrc
seront créés.
En particulier, dans le fichier rc
, vous spécifierez la machine imap
, votre compte et surtout quels filtres appliquer.
Le fichier sample.imapfilterrc
est très clair là-dessus.
Si vous ne souhaitez pas mettre en clair votre mot de passe, vous pouvez définir un fichier encrypté de mots de passe avec l’option -p
de imapfilter
.
Vous créerez alors une master passphrase
, définirez le(s) mot(s) de passe de votre(vos) compte(s) et vous n’aurez besoin à l’avenir que de refournir cette passphrase, un peu comme lors de l’utilisation de ssh
.
Si vous voulez que le filtrage ait lieu en continu, vous devez lancer imapfilter
en tant que démon.
Pour cela, l’option -d {time_in_seconds}
assure le filtrage régulièrement.
Pour tuer le démon, utilisez l’option -k
.
Il peut être avantageux de lancer le filtrage avant de lancer votre mailer et de tuer le démon ensuite.
Vous pouvez ainsi définir un petit script qui ressemblerait à cela :
C’est tout pour le filtrage. Passons à la lutte anti-spam.
SpamAssassin
Un outil est quasiment idéal pour marquer comme spam un mail.
Il s’agit de spamassassin
.
En particulier, il trouve les spams selon l’allure du mail (pas de destinataire, pas d’envoyeur clairement défini, mots clefs commerciaux, etc.).
L’installation est aisée. Téléchargez la dernière version .tar.gz
sur la page download spamassassin, puis simplement :
Dès lors, SpamAssassin est installé.
Si vous aviez la possibilité d’utiliser procmail
, ce serait fini (voir la doc de SpamAssassin).
Mais via IMAP, il reste encore quelques étapes !
Malgré tout, pour en finir avec SpamAssassin et son installation, vous devez, en tant qu’utilisateur standard, effectuer les opérations suivantes :
pour installer le fichier de préférences de SpamAssassin qui se trouvera dans $HOME/.spamassassin/user_prefs
.
SpamAssassin fonctionne en donnant des notes à des caractéristiques particulières des mails.
Vous pouvez dans ce fichier de personnalisation changer ces scores ou bien ajouter d’autres règles.
AntiSpam et IMAP
Pour utiliser SpamAssassin à distance sur un serveur IMAP, j’ai utilisé IMAP Spam Begone.
Pour cela, vous téléchargez isbg.py
et vous le placez dans une zone accessible par votre PATH
.
Pour avoir de l’aide,
En particulier, cet outil peut être lancé en crontab
.
Pour cela, vous avez besoin que votre mot de passe IMAP soit sauvegardé avec l’option --savepw
.
Par défaut, aucune action n’est effectuée sur votre INBOX
distante.
Si vous spécifiez l’option --delete
, les mails jugés SPAM seront déplacés vers le folder IMAP spécifié par l’option --spaminbox
(INBOX.spam
par défaut).
Le tour est joué !!!
Bon courage pour la mise en place de tout ceci.
S’ils y a des erreurs, des inexactitudes ou des mises à jour qui s’imposent pour cette page, n’hésitez pas à me contacter.
Dans la même rubrique :
- tutoriel rapide matlab 5
- thèse sur Borexino
- permutations et appel récursif
- format non trivial pour les nombres en c++
- Sommer des champs dans un fichier
- vim et ses folles astuces
- aide minimale emacs
- pointeur de fonction
- makefile et recherche de dépendances
- fork, ou comment créer des processus fils en C
- rediriger la sortie standard de Minuit
- makefile pour ferme hétérogène de calcul (tel qu’au ccin2p3)
- les énumérations en C
- publications et communications
- code ascii d’un caractère
- rapports et communications internes
- calcul d’histogramme
- test d’argument numérique entier
- calculs sur nombres flottants en shell
- créer un pdf récapitulant les logins d’une machine
- indications sur le sujet d’examen d’UNIX-1...
- lister en C le contenu d’un répertoire
- contrôle des processus fils créés par fork()
- variables globales (extern) et commandes du préprocesseur
- Programme d’orchestre au tuba...
- Léopard : installation de l’OS et packages divers
- Mountain Lion : une configuration personnelle
- Soucis avec Yosemite ( MacOS 10.10 )
- CV - très vieille version