Voir 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.
Pour utiliser Procmail il faut avoir un serveur MTA fonctionnel.
Pour cela voir Configurer un serveur de messagerie MTA sous Ubuntu
Installez le paquet de l'agent de distribution des courriels procmail.
Et pour avoir l'utilitaire maildirmake Installez le paquet maildrop.
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 :
Pour plus d'explications sur les recettes voir ce site
Pour plus d'informations sur l'installation voir Filtrage des courriels avec Procmail