From 54e92f26dbbeac2f29a604571430f7d34ea62a8c Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Fri, 25 Dec 2015 00:37:37 +0100 Subject: [PATCH] =?utf8?q?[procmail]=20D=C3=A9codage=20des=20headers=20ave?= =?utf8?q?c=20un=20oneliner=20:=20adieu=20la=20d=C3=A9pendance=20=C3=A0=20?= =?utf8?q?un=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .procmailrc | 51 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/.procmailrc b/.procmailrc index 30bac2f..9592d86 100644 --- a/.procmailrc +++ b/.procmailrc @@ -43,13 +43,6 @@ # * 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) - ################################################################################ ##### Commentaires ##### @@ -248,11 +241,6 @@ 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" ################################################################# @@ -401,6 +389,21 @@ FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH" +################################################################################ +##### Preprocessing ##### +################################################################################ + +# On décode les champs sur lesquels ont pourrait avoir besoin de matcher +# plus tard la version décodée. On stocke les versions décodées +# dans des variables. +# "formail -cXHeader" récupère le champ Header (-X) en enlevant les \n (-c) +# si le champ fait plusieurs lignes +:0 +* ^X-Mailer: +XMAILER=| formail -cXX-Mailer: | perl -MEncode -pe '$_=encode("iso-8859-1",decode("MIME-Header",$_))' + + + ################################################################################ ##### Règles ##### ################################################################################ @@ -745,21 +748,15 @@ ${CABLAGEDIR}/ # 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 -#~# * ? echo "${MATCH}" | ${DECODEHEADERSCRIPT} | grep /usr/scripts/gestion/chambres_vides.py -#~# ${DELETEDMACHINES}/ -#~# } +# On utilise la variable XMAILER peuplée dans la phase de Preprocessing +:0 +* ^List-Id:.*respbats\.lists\.crans\.org +{ + # Machines supprimées pour chambre invalide + :0 + * XMAILER ?? /usr/scripts/gestion/menage/chambres_invalides.py + ${DELETEDMACHINES}/ +} ################################################################# -- 2.39.2