Learn/fr

From SME Server
Jump to navigationJump to search


Version

Contrib 10:
Contrib 9:
smeserver-learn
The latest version of smeserver-learn is available in the SME repository, click on the version number(s) for more information.


Mainteneur

JP Pialasse

Contributeurs initiaux

Jooris Emmanuel for Firewall-services, Daniel B. from Firewall Services, Brian Read , Tim Litwiller , Michael McCarn and Jesper Knudsen

Description

Script (fondé sur LearnAsSpam) qui permet aux utilisateurs d'interagir avec spamassasin simplement en déplaçant le message dans un répertoire spécifique de leur boîte courriel (fonctionne uniquement en IMAP).

  • Apprendre le message en tant que Spam
  • Apprendre le message en tant que Ham
  • Ajoute en liste blanche l'expéditeur pour que ses messages ne soient plus reconnus en tant que Spam.


Warning.png Attention :
ce script ne fonctionne que pour des clients de messagerie connectés au Serveur SME uniquement en IMAP.


Lexique

  • SPAM : courriel non désiré ou encore "pourriel"
  • HAM : courriel, message électronique qui n'est pas un SPAM
  • faux positif : HAM qui est détecté comme un SPAM
  • faux négatif : SPAM qui passe a travers les mailles du filet

Installation

yum --enablerepo=smecontribs install smeserver-learn

Activer le filtre Bayesien. Voir le paragraphe Bayesian Autolearning de la page Email pour une installation complète. La configuration minimum serait :

db configuration setprop spamassassin UseBayes 1
config setprop spamassassin BayesAutoLearnThresholdSpam 6.00
config setprop spamassassin BayesAutoLearnThresholdNonspam 0.10
expand-template /etc/mail/spamassassin/local.cf
sa-learn --sync --dbpath /var/spool/spamd/.spamassassin -u spamd
chown spamd.spamd /var/spool/spamd/.spamassassin/bayes_*
chown spamd.spamd /var/spool/spamd/.spamassassin/bayes.mutex
chmod 640 /var/spool/spamd/.spamassassin/bayes_* 
config setprop spamassassin status enabled
config setprop spamassassin RejectLevel 12
config setprop spamassassin TagLevel 4
config setprop spamassassin Sensitivity custom
signal-event email-update

N’oubliez pas de configurer les clés de la base de données en fonction de vos besoins et de régénérer le fichier de configuration.

Documentation

smeserver-learn stocke toutes les clefs dont il a besoin dans la base de données configuration (le signe > indique une sous-clef) :

LearnAsSpam Clef de configuration pour la partie d'apprentissage des messages comme spam
>status={enabled,disabled} Activation ou non de l'apprentissage des spams
>tag=$string Tag à mettre devant le message pour avertir l'utilisateur que le message a été appris comme spam.
>dir=$string Nom du répertoire où l'on place les spams qui seront appris.
>SpamLinks=$string Permet de créer des répertoires IMAP virtuels lié au dossier «junkmail». Utile pour les clients IOS qui doivent continuer à utiliser le dossier de courriels indésirables «junkmail» et ne peuvent pas définir un autre dossier. Plusieurs liens peuvent être entrés, séparés par des virgules ",". Par défaut, le champ est vide () pour désactivation. D'autres exemples suivent le tableau.
>DeleteAfterLearn={enabled,disabled} Effacer le message qui a été appris au lieu de le déplacer dans le répertoire «junkmail» de l'utilisateur.
>DelayToMove=$integer Déplace les messages du dossier «junkmail» de l'utilisateur au bout de n jours dans le dossier «dir», avant qu'ils ne soient supprimés (typiquement au bout de 90 jours). Utile pour traiter les spams placés ici par le courrielleur du client et non encore appris. Ne peut être activé que si DeleteAfterLearn est activé pour éviter de boucler. Est par défaut à "0" si désactivé.
>LearnNew={enabled,junkmail,disabled} Apprend le contenu du sous-répertoire de lecture IMAP «cur» (si désactivé) ou également «new» (si activé) où les courriels sont stockés avant qu'un client se connecte pour les télécharger. Avec valeur «junkmail», ce comportement sera utilisée uniquement pour l'inspection dossier IMAP junkmail. Par défaut est «désactivé».
>Uniq={enabled,disabled} Si la sous-clé est activée, Learn va rechercher uniquement dans le dossier correspondant au nom indiqué dans la propriété «dir». S'il n'existe pas, il le créera. Si la fonction est désactivée, Learn ne va pas créer un dossier IMAP, mais recherchera tout dossier contenant la chaîne de caractères de la propriété «dir» (par exemple pour dir=dir : mon_dir, dir3, mondir34). Est activée par défaut.
LearnAsHam Clef de configuration pour la partie d'apprentissage des messages comme Ham
>status={enabled,disabled} Activation ou non de l'apprentissage des Hams
>tag=$string Tag à mettre devant le message pour avertir l'utilisateur que le message a été traité
>dir=$string Nom du répertoire ou rechercher les Hams
>LearnNew={enabled,disabled} Learn content of subdir of the read IMAP folder "cur"(disabled) only or also "new" (enabled- where emails are stored before any client connect to download them) . Default is disabled. Not useful here.
>RemoveSPAMTag={enabled,disabled} Remove bad [SPAM] tag from subject after learning and before putting the copy of cleaned the message back in your INBOX. Default is enabled.
>Uniq={enabled,disabled} If enabled, it will search the only corresponding folder named after "dir" property. If it does not exist it will create it. If disabled it will not create any IMAP folder, but will search for all folder containing the content of "dir" property (i.e. *dir* like mon_dir, dir3, mondir34) . Default is enabled.
LearnInWL Clef de configuration pour la partie d'apprentissage de l'expéditeur du message dans la liste blanche
>status={enabled,disabled} Activation ou non de l'apprentissage des expéditeurs de message dans la liste blanche
>tag=$string Tag à mettre devant le message pour avertir l'utilisateur que le message a été traité
>dir=$string Nom du répertoire où rechercher les messages dont les expéditeurs doivent être placés en liste blanche.
>LearnNew={enabled,disabled} Learn content of subdir of the read IMAP folder "cur"(disabled) only or also "new" (enabled- where emails are stored before any client connect to download them) . Default is disabled. Not useful.
>RemoveSPAMTag={enabled,disabled} Remove bad [SPAM] tag from subject after learning and before putting the copy of cleaned the message back in your INBOX. Default is enabled.
>Uniq={enabled,disabled} If enabled, it will search the only corresponding folder named after "dir" property. If it does not exist it will create it. If disabled it will not create any IMAP folder, but will search for all folder containing the content of "dir" property (i.e. *dir* like mon_dir, dir3, mondir34) . Default is enabled.
Learn Clef de configuration pour le script généralement
>cron={none,hourly,daily,weekly,monthly} Effectuer la recherche jamais, toutes les heures, tous les jours, toutes les semaines, tous les mois.
>Exclude=user,list,separated,by,coma List of users without the right to use Learn. Default is empty "" for disabled.
>Include=user,list,separated,by,coma List of user who has the right to use Learn. Override Exclude list. If not empty, only these users will have access to Learn. Default is empty "" for disabled.
>Verbose={enabled,disabled}

Par exemple :

 config setprop LearnAsSpam status enabled
 config setprop LearnInWL status enabled

Pour voir la configuration d'une clé, LearnAsSpam, par exemple :

 db configuration show LearnAsSpam

Si la sous-clé Learn>cron est modifiée, le fichier de configuration /etc/cron.d/Learn est modifié et doit être régénéré par la commande :

signal-event email-update

Ou celle-là :

expand-template /etc/cron.d/Learn

Exemples de configuration

1. Première stratégie de traitement

Pour la clé relative au traitement des pourriels. Dans la messagerie, un nouveau répertoire «Enregistr_pourriels» est créé pour chaque utilisateur dans lequel on va faire transférer les pourriels au bout de n jours. Learn va «apprendre» ces messages puis les détruire. Cela laisse n jours à l'utilisateur pour vérifier que les pourriels qui sont dans le dossier «Pourriels, spams, Indésirables, Junk, ...» selon les messageries, ne sont pas des faux positifs. Voici cette configuration :

status=enabled
dir=Enregistr_pourriels
DelayToMove=n
DeleteAfterLearn=enabled
Uniq=enabled

Il n'y a rien à faire en dehors de la configuration des sous-clés de cette clé : tout va se faire automatiquement.

Activation de l'auto-apprentissage Bayesien

Vous aurez aussi à activer l'auto-apprentissage Bayesian comme décrit dans la page Email.

Creation automatique des répertoires

Un script, posté dans le forum par Cactus et rapporté par Amir Inbar peut-etre utilisé pour créer tous les repertoires nécessaires (autant pour les nouveaux utilisateurs que pour ceux qui existent déjà) :

# create skellaton for new users :

mkdir -p 
/etc/e-smith/skel/user/Maildir/{.LearnAsHam/{cur,new,tmp},.LearnAsSpam/{cur,new,tmp},.LearnInWL/{cur,new,tmp}}

# create folders for exsisting users :

pushd /home/e-smith/files/users/; \
for u in `ls | grep -v admin`; \
do \
mkdir -p $u/Maildir/.LearnAsHam/{cur,new,tmp}; \
chown -R $u:$u $u/Maildir/.LearnAsHam/; \
mkdir -p $u/Maildir/.LearnAsSpam/{cur,new,tmp}; \
chown -R $u:$u $u/Maildir/.LearnAsSpam/; \
mkdir -p $u/Maildir/.LearnInWL/{cur,new,tmp}; \
chown -R $u:$u $u/Maildir/.LearnInWL/; \
done; \
popd

Merci à eux.

Désinstallation

Exécuter seulement :

yum remove smeserver-learn

Source

Les rpm sources pour cette contrib sont présents ici.

http://www.sonoracomm.com/index.php?option=com_content&task=view&id=49&Itemid=32

Bugs

S'il vous plait, rapporter les bugs dans la section SME-Contribs du bugzilla et sélectionner le composant smeserver-learn ou utiliser ce lien .

IDProductVersionStatusSummary (3 tasks)
11831SME Contribs10.0UNCONFIRMEDlearn.pl attempts but fails to create default directories for some users.
9387SME Contribs8.2CONFIRMEDNFR: add script to report reported ham and spam, seen junks and not yet seen junk
9110SME Contribs9.2CONFIRMEDNFR: rbl-recheck.sh - a script to find recent emails from servers now listed in RBL