X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=.procmailrc;h=af1bace600f116b34aee00f1177fc6ffc37e1479;hb=c34998f21a1e01eb28f6f50b35f9924c92f7f81c;hp=97359ce7fc069608d3d8c4354ed09f4eebfeedf2;hpb=ac79bb2f47a96158ec7d00e18acf6c938f2ab5b3;p=config-20-100.git diff --git a/.procmailrc b/.procmailrc index 97359ce..af1bace 100644 --- a/.procmailrc +++ b/.procmailrc @@ -43,6 +43,12 @@ # * Le troisième, custom.final.rules est appliqué tout à la fin, il peut par # exemple servir à définir un dossier par défaut autre que .INBOX +# Attention, certaines règles (pour l'instant commentées par #~#) +# font appel à des scripts. +# Pour qu'elles fonctionnent correctement, il faut que vous +# possédiez les scripts correspondant et que vous adaptiez +# la partie "Scripting" des variables de configuration. +# (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting) ################################################################################ @@ -227,10 +233,9 @@ ################################################################# ## Variables d'environnement ## ################################################################# +### Paths # Path du dossier où sont rangés les mails MAILDIR="${HOME}/Mail" -# Shell à utiliser pour exécuter des commandes -SHELL="/bin/bash" # Dossier contenant tout le garbage procmail-related # (le .procmailrc lui-même est dans le home) PROCMAILDIR="${HOME}/.procmail" @@ -240,6 +245,16 @@ CONFIGDIR="${PROCMAILDIR}/rc" LOGFILE="${PROCMAILDIR}/logs/procmail.log" +### Scripting +# Shell à utiliser pour exécuter des commandes +SHELL="/bin/bash" +## Scripts +# Dossier où sont rangés les scripts +SCRIPTSFOLDER="${HOME}/scripts/crans_toolbox/" +# Scripts pour décoder les headers MIME +DECODEHEADERSCRIPT="${SCRIPTSFOLDER}decode_header.pl" + + ################################################################# ## Noms de dossiers ## ################################################################# @@ -514,7 +529,7 @@ INCLUDERC="${CONFIGDIR}/custom.high.rules" # On matche tous les alias de root@crans.org :0 -* ^(To|Cc): .*(root|abuse|amavis|backup|bind|bin|clamav|daemon|ftpadm|ftpmaster|ftp-mirror|ftp|games|gnats|irc|list|logcheck|lp|mail|majordom|man|msql|munin|news|operator|postgres|proxy|sync|sys|usenet|uucp|webmaster|www-clubs|www-data|www-perso|postmaster|mailer-daemon)@(crans\.org|crans\.ens-cachan\.fr) +* ^(To|Cc):.* (root|abuse|amavis|backup|bind|bin|clamav|daemon|ftpadm|ftpmaster|ftp-mirror|ftp|games|gnats|irc|list|logcheck|lp|mail|majordom|man|msql|munin|news|operator|postgres|proxy|sync|sys|usenet|uucp|webmaster|www-clubs|www-data|www-perso|postmaster|mailer-daemon)@(crans\.org|crans\.ens-cachan\.fr) { # Spam de logcheck :0 @@ -722,13 +737,21 @@ ${CABLAGEDIR}/ ${PRINTERWATCHDIR}/ } + # Sur la ML respbats@ +# L'ancienne version de ce filtre ne fonctionne plus car les headers +# de ces mails sont maintenant correctement encodé. +# C'est bien pour le respect des RFC, mais c'est un peu pain in the ass +# p our le trier avec procmail, donc on besoin d'un script +# Ne pas décommenter si vous n'avez pas le script associé. +# (cf https://wiki.crans.org/VieCrans/FichiersConfiguration#scripting) :0 * ^List-Id:.*respbats\.lists\.crans\.org +* ^X-Mailer:\/.* { # Machines supprimées pour chambre invalide :0 - * ^X-Mailer: /usr/scripts/gestion/chambres_vides.py + * ? echo "${MATCH}" | ${DECODEHEADERSCRIPT} | grep /usr/scripts/gestion/chambres_vides.py ${DELETEDMACHINES}/ } @@ -866,7 +889,7 @@ INCLUDERC="${CONFIGDIR}/custom.normal.rules" # MLs Med :0 - * ? echo "${ML}" | grep med + * ? echo "${ML}" | grep -E "^med" ${MLMEDDIR}.${ML_}/ # MLs SDA @@ -961,9 +984,13 @@ INCLUDERC="${CONFIGDIR}/custom.normal.rules" ## Gestion des autres mailing-listes ## ################################################################# # On récupère le nom de domaine et le nom de la ML + # Le nom de domaine, c'est le mot (sans .) qui précède le TLD DOMAIN=`echo "${ML}" | sed 's/.*\.\([^\.]\+\)\.[^\.]\+$/\1/'` # On ne sait jamais ce qu'on peut rencontrer… DOMAIN_=`echo "${DOMAIN}" | sed 's/ /_/g'` + # On vire le domain et le TLD + # On vire .list ou .lists si c'est la composante la plus à droite + # du subdomain # On prend garde à ne pas créer un sous-dossier # si jamais le List-Id contient un . ou un espace ML_=`echo "${ML}" | sed 's/\.[^\.]\+\.[^\.]\+$//;s/\.lists\?$//;s/\(\.\| \)/_/g'`