6884
Commentaire: maildir
|
7162
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
[[TableOfContents]] | <<TableOfContents>> |
Ligne 3: | Ligne 3: |
---- /!\ '''Edit conflict - other version:''' ---- [[TableOfContents]] ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Ligne 12: | Ligne 4: |
Ou comment gérer les mails que l'on reçoit à l'aide des outils présents sur {{{ssh.crans.org}}}. | Ou comment gérer les mails que l'on reçoit à l'aide des outils présents sur {{{zamok.crans.org}}}. |
Ligne 15: | Ligne 7: |
* Se connecter à {{{ssh.crans.org}}} : WikiInformatique/ConnexionSsh * Utiliser un éditeur de texte en ligne de commande (nano, vi, jed, emacs, etc. ) |
* Se connecter à {{{zamok.crans.org}}} : WikiInformatique/ConnexionSsh * Utiliser un éditeur de texte en ligne de commande (nano, jed, emacs, vi, etc. ) |
Ligne 19: | Ligne 12: |
Il s'agit de dire à un serveur de mail de transmettre automatiquement les emails reçus à une adresse vers une autre adresse. Il suffit pour cela d'éditer le fichier {{{.forward}}} dans votre home sur {{{ssh.crans.org}}}. Exemple pas à pas : | Il s'agit de dire à un serveur de mail de transmettre automatiquement les emails reçus à une adresse vers une autre adresse. === Depuis l'intranet === Il suffit de se connecter à [[https://intranet.crans.org|l'intranet]], d'aller dans `Mon Compte` puis sur l'onglet `Mail` et d'éditer le champ `Transfert`, par exemple avec `mon_login@mon_adresse_préférée.org` Dans ce cas, le serveur du CR@NS transmet les mails destinés à ton adresse `login@crans.org` et `prenom.nom@crans.org` vers `mon_login@mon_adresse_préférée.org`. Pour annuler la redirection, il suffit de laisser le champ `Transfert` vide. === En ligne de commande === Il suffit pour cela d'éditer le fichier {{{.forward}}} dans votre home sur {{{zamok.crans.org}}}. Exemple pas à pas : |
Ligne 25: | Ligne 27: |
Dans ce cas, le serveur du CR@NS transmet les mails destinés à ton adresse {{{login@crans.org}}} vers {{{mon_login@mon_adresse_préférée.org}}}. Pour annuler la redirection, il suffit de supprimer le fichier {{{.forward}}} (taper {{{rm .forward}}}) | Dans ce cas, le serveur du CR@NS transmet les mails destinés à ton adresse {{{login@crans.org}}} et `prenom.nom@crans.org` vers {{{mon_login@mon_adresse_préférée.org}}}. Pour annuler la redirection, il suffit de supprimer le fichier {{{.forward}}} (taper {{{rm .forward}}}) |
Ligne 28: | Ligne 31: |
Procmail sert à faire des trucs plus compliqués avec ses mails :-) : filtrage, redirection, programmes externes, etc. | Procmail sert à faire des trucs plus compliqués avec ses mails :-) : filtrage, redirection, programmes externes, etc. Commencer par mettre en place un {{{.forward }}} vers {{{procmail}}}: |
Ligne 30: | Ligne 33: |
/!\ Le mode de stoquage des mails de nos serveurs est le ''maildir'' pour spécifier ce type de stoquage il faut mettre un '/' à la fin des redirections. Exemple : {{{ # mail dans une mbox : :0 mbox #mail dans un maildir : :0 maildir/ |
. {{{ "| exec /usr/bin/procmail" |
Ligne 40: | Ligne 37: |
/!\ Il faut mettre les " ". | |
Ligne 41: | Ligne 39: |
---- /!\ '''Edit conflict - other version:''' ---- /!\ Le mode de stoquage des mails de nos serveurs est le ''maildir'' pour spécifier ce type de stoquage il faut mettre un '/' à la fin des redirections. Exemple : {{{ # mail dans une mbox : |
Ceci redirige tous les mails vers {{{procmail}}} qui va ensuite faire le tri. . /!\ Le mode de stockage des mails de nos serveurs est le ''maildir'' pour spécifier ce type de stockage il faut mettre un '/' à la fin des redirections. Exemple : . {{{ |
Ligne 46: | Ligne 44: |
mbox #mail dans un maildir : :0 maildir/ |
Mail/.maildir/ |
Ligne 52: | Ligne 47: |
Le fichier utilisé est {{{ ~/.procmailrc}}}. Sa syntaxe est la suivante: | |
Ligne 53: | Ligne 49: |
---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- Le fichier utilisé est {{{ ~/.procmailrc}}}. Sa syntaxe est la suivante: {{{ |
. {{{ |
Ligne 62: | Ligne 54: |
Ligne 65: | Ligne 58: |
Ligne 70: | Ligne 64: |
{{{ | . {{{ |
Ligne 76: | Ligne 71: |
On trouvera de nombreux exemples dans la page de manuel de procmail : {{{man procmailex}}}.<<BR>> D'autres exemples sont disponibles sur la page /ProcMail |
|
Ligne 77: | Ligne 74: |
La version longue de la manière de lutter contre le SPAM et l'utilisation de Spamassassin au CR@NS se trouve sur cette [http://www.crans.org/docs/Spamfilter.html page]. |
La version longue de la manière de lutter contre le SPAM et l'utilisation de !SpamAssassin au CR@NS se trouve ici : /SpamAssassin |
Ligne 82: | Ligne 78: |
{{{ | . {{{ |
Ligne 91: | Ligne 88: |
Contenu du {{{.procmailrc}}} {{{ |
Contenu du {{{.procmailrc}}}: . {{{ |
Ligne 100: | Ligne 98: |
:0 : | :0 |
Ligne 102: | Ligne 100: |
Mail/.Spam/ | |
Ligne 103: | Ligne 102: |
---- /!\ '''Edit conflict - other version:''' ---- Mail/Spam/ ---- /!\ '''Edit conflict - your version:''' ---- Mail/Spam/ ---- /!\ '''End of edit conflict''' ---- # Si le serveur distant est blacklisté, et si spamassassin n'a pas reconnu le mail comme spam, |
# Si le serveur distant est blacklisté, et si !SpamAssassin n'a pas reconnu le mail comme spam, |
Ligne 119: | Ligne 111: |
:0 : | |
Ligne 122: | Ligne 112: |
---- /!\ '''Edit conflict - other version:''' ---- Mail/Spam/ ---- /!\ '''Edit conflict - your version:''' ---- Mail/Spam/ ---- /!\ '''End of edit conflict''' ---- |
:0 Mail/.Spam/ |
Ligne 134: | Ligne 119: |
{{{ | . {{{ |
Ligne 140: | Ligne 126: |
# Si le serveur distant est blacklisté, et si spamassassin n'a pas reconnu le mail comme spam, | # Si le serveur distant est blacklisté, et si !SpamAssassin n'a pas reconnu le mail comme spam, |
Ligne 146: | Ligne 132: |
:0 Whf * ^Subject:\/.* | formail -i "Subject: *****SPAM***** $MATCH" |
:0 Whf * ^Subject:\/.* | formail -i "Subject: *****SPAM***** $MATCH" |
Ligne 155: | Ligne 141: |
Une catégorie particulièrement intéressante de filtres est celle des filtres bayésiens, ces fameux filtres qui "apprennent". Pour cela, il faut une base de données de messages non-spam (ham) et de spam, pour bien faire la différence. Il est conseillé de faire travailler spamassassin sur vos propres messages afin que les informations apprises correspondent à ce que vous recevez. | Une catégorie particulièrement intéressante de filtres est celle des filtres bayésiens, ces fameux filtres qui "apprennent". Pour cela, il faut une base de données de messages non-spam (ham) et de spam, pour bien faire la différence. Il est conseillé de faire travailler !SpamAssassin sur vos propres messages afin que les informations apprises correspondent à ce que vous recevez. |
Ligne 157: | Ligne 143: |
SpamAssassin envoie automatiquement les mails les plus louches ainsi que les mails les plus corrects à l'apprentissage. Le problème, c'est que les mails qu'il reconnait mal induisent des erreurs dans la base (ie: il va apprendre comme spam un message qu'il a mal reconnu et qui était en fait du ham). | !SpamAssassin envoie automatiquement les mails les plus louches ainsi que les mails les plus corrects à l'apprentissage. Le problème, c'est que les mails qu'il reconnait mal induisent des erreurs dans la base (ie: il va apprendre comme spam un message qu'il a mal reconnu et qui était en fait du ham). |
Ligne 159: | Ligne 145: |
Pour améliorer ses performances, il faut donc classer à la main les mails erronés dans des mbox (dossier mail) idoines puis les lui faire apprendre avec {{{sa-learn}}}. | Pour améliorer ses performances, il faut donc classer à la main les mails erronés dans des ''maildir'' puis les lui faire apprendre avec {{{sa-learn}}}. |
Ligne 162: | Ligne 148: |
Ligne 163: | Ligne 150: |
sa-learn --spam --mbox ~/Mail/spam_folder sa-learn --ham --mbox ~/Mail/ham_folder |
sa-learn --spam ~/Mail/.spam_folder/cur sa-learn --ham ~/Mail/.ham_folder/cur |
Ligne 166: | Ligne 153: |
Si les ''maildir'' contiennent beaucoup de messages, leur traitement peut être long, on peut ajouter l'option {{{--showdots}}} pour avoir un barre de progression. | |
Ligne 167: | Ligne 155: |
Si les mbox contiennent beaucoup de messages, leur traitement peut être long, on peut ajouter l'option {{{--showdots}}} pour avoir un barre de progression. | !SpamAssassin sait quels mails il a déjà appris, on peut donc lui demander d'apprendre le même ''maildir'' toutes les semaines sans tronquer les statistiques. Corrolaire : on peut aussi supprimer des spams du dossier spams (les plus vieux par exemple). |
Ligne 169: | Ligne 157: |
SpamAssassin sait quels mails il a déjà appris, on peut donc lui demander d'apprendre la même mbox toutes les semaines sans tronquer les statistiques. === Configuration de spamassassin === |
=== Configuration de !SpamAssassin === |
Ligne 175: | Ligne 161: |
* [http://www.procmail.org/ procmail] * [http://www.spamassassin.org/ spamassassin] |
* [[http://www.procmail.org/|procmail]] * [[http://www.spamassassin.org/|spamassassin]] ---- CatégoriePagePérimée (Faire la doc pour !SpamAssassin et l'y indiquer, elle existait sur www.crans.org/old_www/olddoc, il suffit de recopier) CatégoriePagePublique |
Sommaire
Les mails au CR@NS
Ou comment gérer les mails que l'on reçoit à l'aide des outils présents sur zamok.crans.org.
Prérequis:
Se connecter à zamok.crans.org : WikiInformatique/ConnexionSsh
- Utiliser un éditeur de texte en ligne de commande (nano, jed, emacs, vi, etc. )
Forwarder les mails vers une nouvelle adresse
Il s'agit de dire à un serveur de mail de transmettre automatiquement les emails reçus à une adresse vers une autre adresse.
Depuis l'intranet
Il suffit de se connecter à l'intranet, d'aller dans Mon Compte puis sur l'onglet Mail et d'éditer le champ Transfert, par exemple avec mon_login@mon_adresse_préférée.org
Dans ce cas, le serveur du CR@NS transmet les mails destinés à ton adresse login@crans.org et prenom.nom@crans.org vers mon_login@mon_adresse_préférée.org. Pour annuler la redirection, il suffit de laisser le champ Transfert vide.
En ligne de commande
Il suffit pour cela d'éditer le fichier .forward dans votre home sur zamok.crans.org. Exemple pas à pas :
- Se connecter à zamok, vous obtenez un shell (i.e. une ligne de commande)
cat > .forward [Appuyer sur Entrée]
mon_login@mon_adresse_préférée.org [Appuyer sur Entrée]
[Ctrl-D]
logout [Appuyer sur Entrée] C'est pour se déconnecter.
Dans ce cas, le serveur du CR@NS transmet les mails destinés à ton adresse login@crans.org et prenom.nom@crans.org vers mon_login@mon_adresse_préférée.org. Pour annuler la redirection, il suffit de supprimer le fichier .forward (taper rm .forward)
Utiliser Procmail
Procmail sert à faire des trucs plus compliqués avec ses mails : filtrage, redirection, programmes externes, etc. Commencer par mettre en place un .forward vers procmail:
"| exec /usr/bin/procmail"
Il faut mettre les " ".
Ceci redirige tous les mails vers procmail qui va ensuite faire le tri.
Le mode de stockage des mails de nos serveurs est le maildir pour spécifier ce type de stockage il faut mettre un '/' à la fin des redirections. Exemple :
:0 Mail/.maildir/
Le fichier utilisé est ~/.procmailrc. Sa syntaxe est la suivante:
:0 [flags] [ : [local_lock_file] ] * <conditions> <exactly one action line>
Les conditions utilisées sont (en général) des expressions régulières (man egrep) avec un ET sous entendu. Par défaut, procmail utilise les headers du mail, en ignorant les majuscules. Le flag c permet de faire des copies d'un mail.
Les actions possibles sont:
! forward vers les adresses mail suivantes
| envoie le mail vers un programme
{ sous bloc de règles. Ne pas oublier un caractère espace après le {
Par exemple:
:0: * ^Subject: .*travail ! adresse@profession.com
On trouvera de nombreux exemples dans la page de manuel de procmail : man procmailex.
D'autres exemples sont disponibles sur la page /ProcMail
Utiliser SpamAssassin
La version longue de la manière de lutter contre le SPAM et l'utilisation de SpamAssassin au CR@NS se trouve ici : /SpamAssassin
Préliminaires
Commencer par mettre en place un .forward vers procmail:
"| exec /usr/bin/procmail"
Ceci redirige tous les mails vers procmail qui va ensuite faire le tri. C'est procmail qui appelle Spam Assassin, et qui déplace (le cas échéant) les mails dans le bon répertoire.
Mails lus en IMAP
Si vous lisez vos mails en IMAP, la gestion des répertoires se fait sur le serveur, donc procmail peut déplacer le spam dans un dossier, ici Mail/Spam.
Contenu du .procmailrc:
# On pipe vers SpamAssassin # f is for filter, h header and b body piped to spamassassin and W for check :0 Whbf * < 256000 | spamc # Si c'est du spam, ça part dans la mbox associée : :0 * ^X-Spam-Status: Yes Mail/.Spam/ # Si le serveur distant est blacklisté, et si !SpamAssassin n'a pas reconnu le mail comme spam, # on réécrit le sujet et on redirige tout vers le dossier Spam. # E is for preceding condition did not match (else if) :0 E * ^X-Reject: 554 { :0 Whf * ^Subject:\/.* | formail -i "Subject: *****SPAM***** $MATCH" :0 Mail/.Spam/ }
Mails lus en POP
Là il faudra se contenter de tagger l'entête du message, ou son sujet, et donc d'utiliser un filtre de message dans votre logiciel de messagerie préféré (Mozilla Thunderbird).
# On pipe tout le mail de taille inférieure à 256Ko vers spamc, le client du daemon spamassassin : :0 Whbf * < 256000 | spamc # Si le serveur distant est blacklisté, et si !SpamAssassin n'a pas reconnu le mail comme spam, # on réécrit le sujet pour tagguer le mail. :0 * ^X-Reject: 554 * !^X-Spam-Status: Yes { :0 Whf * ^Subject:\/.* | formail -i "Subject: *****SPAM***** $MATCH" }
Calculs des scores et Filtres Bayésiens
Spam assassin utilise différents filtres qui donnent un score à un mail. Si le score est suffisamment élevé, le mail est considéré comme du spam.
Une catégorie particulièrement intéressante de filtres est celle des filtres bayésiens, ces fameux filtres qui "apprennent". Pour cela, il faut une base de données de messages non-spam (ham) et de spam, pour bien faire la différence. Il est conseillé de faire travailler SpamAssassin sur vos propres messages afin que les informations apprises correspondent à ce que vous recevez.
SpamAssassin envoie automatiquement les mails les plus louches ainsi que les mails les plus corrects à l'apprentissage. Le problème, c'est que les mails qu'il reconnait mal induisent des erreurs dans la base (ie: il va apprendre comme spam un message qu'il a mal reconnu et qui était en fait du ham).
Pour améliorer ses performances, il faut donc classer à la main les mails erronés dans des maildir puis les lui faire apprendre avec sa-learn.
Commandes:
sa-learn --spam ~/Mail/.spam_folder/cur sa-learn --ham ~/Mail/.ham_folder/cur
Si les maildir contiennent beaucoup de messages, leur traitement peut être long, on peut ajouter l'option --showdots pour avoir un barre de progression.
SpamAssassin sait quels mails il a déjà appris, on peut donc lui demander d'apprendre le même maildir toutes les semaines sans tronquer les statistiques. Corrolaire : on peut aussi supprimer des spams du dossier spams (les plus vieux par exemple).
Configuration de !SpamAssassin
Consulter le fichier .spamassassin/user_prefs
Liens utiles
CatégoriePagePérimée (Faire la doc pour SpamAssassin et l'y indiquer, elle existait sur www.crans.org/old_www/olddoc, il suffit de recopier)