From bcc52f86c198e4d1d15a164c27ed3adfdcad5f62 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Fri, 25 Dec 2015 00:37:37 +0100 Subject: [PATCH] =?utf8?q?D=C3=A9codage=20des=20headers=20avec=20un=20onel?= =?utf8?q?iner=20:=20adieu=20la=20d=C3=A9pendance=20=C3=A0=20un=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .procmailrc | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/.procmailrc b/.procmailrc index 6916b27..280b612 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,19 +748,13 @@ ${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) +# On utilise la variable XMAILER peuplée dans la phase de Preprocessing :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 + * XMAILER ?? /usr/scripts/gestion/menage/chambres_invalides.py ${DELETEDMACHINES}/ } -- 2.39.2