Commit bc6bec78 authored by Vincent Le gallic's avatar Vincent Le gallic

[procmail] Gestion du tri des mail de Discourse

parent d48c83fc
# Complémentaire au .procmailrc générique mis à votre disposition
# par les gentils membres actifs du Cr@ns
# Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
# Des questions, des suggestions : {nounou,ca}@lists.crans.org
# Licence : WTFPL
# Ce fichier doit être exécuté pour que discourse.rules puisse
# trier correctement les mails de Discourse
#------------------------------------------------------------------------------
#################################################################
## Variables ##
#################################################################
### Dossier sous lequel l'arborescence des mails envoyés par
### Discourse sera rangée
DISCOURSEDIR=.Discourse
#################################################################
## Préprocessing ##
#################################################################
# On redécode le champ List-ID, mais cette fois-ci en en retirant
# les accents potentiels.
:0
LISTID=| formail -cXList-ID: | perl -MEncode -MText::Unaccent::PurePerl -pE '$_=encode("utf-8",unac_string(decode("MIME-Header", $_)))'
# Complémentaire au .procmailrc générique mis à votre disposition
# par les gentils membres actifs du Cr@ns
# Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
# Des questions, des suggestions : {nounou,ca}@lists.crans.org
# Licence : WTFPL
# Ce fichier permet de trier les mails envoyés par Discourse
#------------------------------------------------------------------------------
#################################################################
## Gestion des mails de Discourse ##
#################################################################
:0
* ML ?? discourse\.crans\.org$
{
ML=`echo ${ML} | sed 's/discourse\.crans\.org$//;s/\.$//'`
# Le List-ID de Discourse est dans l'ordre sous-catégorie.catégorie
# pour une arborescence mail, on veut l'ordre inverse
ML=`echo ${ML} | sed "s/\./\n/g" | tac | paste -sd "."`
# On veut s'assurer ML contient encore quelque chose (c'est-à-dire,
# n'était pas juste discourse.crans.org sans rien avant)
:0
* ? echo $ML
* ? test -n "${ML}"
${DISCOURSEDIR}.${ML}/
# Dossier par défaut
:0
${DISCOURSEDIR}/
}
......@@ -399,7 +399,12 @@ XMAILER=| formail -cXX-Mailer: | perl -MEncode -pe '$_=encode("utf-8",decode("MI
* ^Subject:
SUBJECT=| formail -cXSubject: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
:0
* ^List-ID:
LISTID=| formail -cXList-ID: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
#~# # Pour faire fonctionner correctement le tri des mails envoyés par Discourse,
#~# # Décommenter le INCLUDERC suivant
#~# INCLUDERC="${CONFIGDIR}/discourse.preprocessing"
################################################################################
##### Règles #####
......@@ -805,10 +810,9 @@ SUBJECT=| formail -cXSubject: | perl -MEncode -pe '$_=encode("utf-8",decode("MIM
:0
# On récupère tous les mails qui sont arrivés par l'intermédaire d'une ML
* ^List-Id:.*\/<[^<>]+>$
* ^List-Id:.*
{
ML=$MATCH
ML=`echo "${ML}" | sed 's/<//;s/>//'`
ML=`echo "${LISTID}" | sed 's/[^<]*<//;s/>//'`
#################################################################
## Gestion des mailing-listes Cr@ns ##
......@@ -929,6 +933,13 @@ SUBJECT=| formail -cXSubject: | perl -MEncode -pe '$_=encode("utf-8",decode("MIM
${MLCAMPUSDIR}.${MLFAILSUFFIX}.${ML_}/
}
#~# # Décommenter pour activer le tri des mails envoyés par
#~# # Discourse. Attention, penser à décommener également
#~# # l'INCLUDERC de discourse.preprocessing
#~# # et lire https://wiki.crans.org/VieCrans/FichiersConfiguration#rc.2Fdiscourse
#~# # à propos de la remarque sur le module Perl à installer
#~# INCLUDERC=${CONFIGDIR}/discourse.rules
#################################################################
## Gestion des mailing-listes FedeRez ##
#################################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment