{{tag>messagerie courriel MDA filtrage procmail BROUILLON}} ====== Filtrage des courriels avec Procmail ====== Voir [[comment_configurer_sa_distribution_de_courriels_locale_mda|Comment configurer sa distribution de courriels MDA sous Ubuntu ?]] pour plus d'informations sur ce tutoriel. Procmail est un agent de distribution des courriels permettant principalement de filtrer des messages électroniques (il ne faut pas oublier formail, livré avec procmail, qui est un adjoint appréciable à ce dernier). Il est très puissant et ses capacités de filtrage lui permettent de délivrer des courriers dans les différentes boîtes aux lettres des utilisateurs, de les renvoyer, voire d'effectuer n'importe quelle action en fonction du filtre désigné. Procmail fonctionne grâce à un système de règles, qu'il parcourt les unes après les autres, afin de déterminer si le message qu'il traite satisfait à une règle en particulier, et exécute l'action associée à la règle trouvée, le cas échéant. ===== Pré-requis pour Procmail ===== Pour utiliser Procmail il faut avoir un serveur MTA fonctionnel. Pour cela voir [[comment_configurer_un_serveur_de_messagerie_mta|Configurer un serveur de messagerie MTA sous Ubuntu]] ===== Installation de procmail ===== [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] de l'agent de distribution des courriels **[[apt>procmail|procmail]]**. Et pour avoir l'utilitaire **maildirmake** [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>maildrop|maildrop]]**. ===== Configuration de procmail ===== Procmail est chargé de faire le tri de courriels à l'aide de filtres appelés **recettes**. Vérifiez que vous avez le répertoire **~/.local/share/courriels** Pour créer ce répertoire sudo maildirmake ~/.local/share/courriels Ceci créera la boite de courriel courriels/ dans ~/.local/share, autrement dit, dans /home/utilisateur/.local/share. Si votre boite de réception est au format Maildir vous pouvez aussi créer votre boîtes aux lettre avec la commande : mkdir -p ~/.local/share/courriels/{tmp,new,cur} Il faut rédiger un fichier dans son répertoire personnel par exemple. touch .procmailrc && sudo xdg-open .procmailrc Compléter la page vierge pour obtenir un fichier de ce type MAILDIR=/home/utilisateur/.local/share/courriels # C'est un répertoire, donc format Maildir ## faire dans un terminal : touch /home/utilisateur/.procmaillog LOGFILE=/home/utilisateur/.procmaillog LOGABSTRACT=no #VERBOSE=on (Est utilisé uniquement pour le débogage.) VERBOSE=off FORMAIL=/usr/bin/formail NL=" ## Les lignes de « recipe » commencent par « :0 ». ## Ne mettez pas de commentaires dans les lignes de « recipe ». ## Désactivez un « recipe » grace au NON logique (!). ## Les conditions commencent par *, utilisez des expressions rationnelles. ## Les conditions sont associées avec un ET logique. ## Tout ce qui suit * est passé directement à egrep. ## Une ligne d'action suit les conditions, ici c'est un nom de BAL. # Utilise formail pour les courriels dupliqués. :0 Whc: .msgid.lock | $FORMAIL -D 16384 .msgid.cache #utilisation de spamassassin :0 a $MAILDIR/duplicates :0fw | spamassassin -P :0: * ^X-Spam-Status: Yes $MAILDIR/spambox # Pourriels à la poubelle. :0 * ^Subject:.*(credit|cash|money|debt|sex|sale|loan) $MAILDIR/spam # Plus de messages HTML. :0 * ^Content-Type:.*html $MAILDIR/junk # mailing list du wiki-ubuntu :0 * ^Subject:.*(UWiki) $MAILDIR/UWiki #tri des courriels locaux :0 * ^TOtoto@postfix.fr $MAILDIR/locaux :0 * ^TOroot@postfix.fr $MAILDIR/locaux ####################################### # Dernière règle : tout ce qui arrive # # ici va dans la boîte par défaut. # ####################################### :0 * .* Inbox MAILDIR=/home/utilisateur/.local/share/courriels est le répertoire où seront stockés les courriels triés.\\ LOGFILE=/home/utilisateur/.procmaillog est le fichier d'erreurs. Viens ensuite les différentes recettes. On marque le début d'une recette par **:0** puis on indique le critère de tri par *** ^TO** ou ***^Subject** et enfin le fichier où l'on stocke les courriels. par exemple **$MAILDIR/locaux** Pour plus d'explications, il y a de nombreux sites parlant de la réalisation de recettes très élaborées. Dans le fichier on a : * une recette pour éviter les courriels dupliqués * l'utilisation de spamassassin * un tri en fonction des listes de diffusions * les courriels internes * et le restant est stocké dans le fichier Inbox. Pour plus d'explications sur les recettes [[https://www.tuteurs.ens.fr/internet/courrier/procmail.html|voir ce site]] Pour plus d'informations sur l'installation voir [[http://www.linux-france.org/article/appli/procmail.html|Filtrage des courriels avec Procmail]]