Procmailrc et traitement de mailing-lists
Le
Hugues
Bonjour à tous,
je galère un poil avec la configuration de mon procmail pour la gestion des
listes de diffusion.
Actuellement, j'ai les règles suivantes :
(où PREPEND="/" pour stocker mes mails au format Maildir,
et "" pour le format mbox).
--[ .procmail/listes.rc ]-
##-- -- -- -- -- -- -- -- -- --##
# Tri des listes de diffusion #
##-- -- -- -- -- -- -- -- -- --##
LISTS=Listes$PREPEND
:0:
* ^Sender: owner-\/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^X-BeenThere: \/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^Delivered-To: mailing list \/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^X-Mailing-List: <\/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^X-Loop: \/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^List-Id: <\/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
-[ EOF ]-
ça me crée un sous-dossier ~/Mail/Listes/toto@machin.org/
pour chaque ML.
le truc c'est que j'aimerais regrouper mes ML, par exemple
all-april@april.org, adherents@april.org dans
~/Mail/Listes/April/all-april
~/Mail/Listes/April/adherents
et idem pour les projets sourceforge, etc.
Le hic,c'est que le MATCHING dans procmail ne fonctionne que pour un
délimiteur de début, et prend tout jusqu'à la fin de l'expression régulière.
J'ai analysé tous mes mails provenant de ML, les infos peuvent s'obtenir soit
dans le champ Sender:, soit dans le champ List-Id: .
J'ai donc fait quelquechose de la sorte :
-[ .procmail/listes.rc ]-
##-- -- -- -- -- -- -- -- -- --##
# Tri des listes de diffusion #
##-- -- -- -- -- -- -- -- -- --##
LISTS=Listes$PREPEND
:0:
* ^Sender: .*@yahoogroupes.fr$
{
* ^Sender: \/[^@]+
$LISTS/YahooGroupes/$MATCH$PREPEND
}
SERVER=sourceforge.net
FOLDER=SourceForge
INCLUDERC=$PROCDIR/list-bounces.rc
SERVER=april.org
FOLDER=April
INCLUDERC=$PROCDIR/list-bounces.rc
SERVER=machintruc.org
FOLDER=blablabla
INCLUDERC=$PROCDIR/list-bounces.rc
[ EOF ]-
avec le fichier list-bounces.rc suivant :
-[ .procmail/list-bounces.rc ]-
## Listes de diffusion ##
:0:
* ^Sender: .*-bounces@liste?s?\.${SERVER}$
{
* ^Sender: \/[^-]+
$LISTS/${FOLDER}/$MATCH$PREPEND
}
:0:
* ^List-Id: <.*\.${SERVER}>$
{
* ^List-Id: <\/[^\.]+
$LISTS/${FOLDER}/$MATCH$PREPEND
}
[ EOF ]-
Ce qui ne semble absolument pas marcher.
Or, j'ai beau me creuser la tête, je ne vois pas du tout ce qui cloche dans ce
que j'ai écrit :/
Si quelqu'un a donc :
1/ une piste
2/ une explication
3/ une meilleure proposition
ou tout à la fois, ce serait génial.. :)
--
hugues
je galère un poil avec la configuration de mon procmail pour la gestion des
listes de diffusion.
Actuellement, j'ai les règles suivantes :
(où PREPEND="/" pour stocker mes mails au format Maildir,
et "" pour le format mbox).
--[ .procmail/listes.rc ]-
##-- -- -- -- -- -- -- -- -- --##
# Tri des listes de diffusion #
##-- -- -- -- -- -- -- -- -- --##
LISTS=Listes$PREPEND
:0:
* ^Sender: owner-\/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^X-BeenThere: \/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^Delivered-To: mailing list \/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^X-Mailing-List: <\/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^X-Loop: \/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
:0:
* ^List-Id: <\/[^@<>]+@[^@<>]+
$LISTS$MATCH$PREPEND
-[ EOF ]-
ça me crée un sous-dossier ~/Mail/Listes/toto@machin.org/
pour chaque ML.
le truc c'est que j'aimerais regrouper mes ML, par exemple
all-april@april.org, adherents@april.org dans
~/Mail/Listes/April/all-april
~/Mail/Listes/April/adherents
et idem pour les projets sourceforge, etc.
Le hic,c'est que le MATCHING dans procmail ne fonctionne que pour un
délimiteur de début, et prend tout jusqu'à la fin de l'expression régulière.
J'ai analysé tous mes mails provenant de ML, les infos peuvent s'obtenir soit
dans le champ Sender:, soit dans le champ List-Id: .
J'ai donc fait quelquechose de la sorte :
-[ .procmail/listes.rc ]-
##-- -- -- -- -- -- -- -- -- --##
# Tri des listes de diffusion #
##-- -- -- -- -- -- -- -- -- --##
LISTS=Listes$PREPEND
:0:
* ^Sender: .*@yahoogroupes.fr$
{
* ^Sender: \/[^@]+
$LISTS/YahooGroupes/$MATCH$PREPEND
}
SERVER=sourceforge.net
FOLDER=SourceForge
INCLUDERC=$PROCDIR/list-bounces.rc
SERVER=april.org
FOLDER=April
INCLUDERC=$PROCDIR/list-bounces.rc
SERVER=machintruc.org
FOLDER=blablabla
INCLUDERC=$PROCDIR/list-bounces.rc
[ EOF ]-
avec le fichier list-bounces.rc suivant :
-[ .procmail/list-bounces.rc ]-
## Listes de diffusion ##
:0:
* ^Sender: .*-bounces@liste?s?\.${SERVER}$
{
* ^Sender: \/[^-]+
$LISTS/${FOLDER}/$MATCH$PREPEND
}
:0:
* ^List-Id: <.*\.${SERVER}>$
{
* ^List-Id: <\/[^\.]+
$LISTS/${FOLDER}/$MATCH$PREPEND
}
[ EOF ]-
Ce qui ne semble absolument pas marcher.
Or, j'ai beau me creuser la tête, je ne vois pas du tout ce qui cloche dans ce
que j'ai écrit :/
Si quelqu'un a donc :
1/ une piste
2/ une explication
3/ une meilleure proposition
ou tout à la fois, ce serait génial.. :)
--
hugues

Poser une question


fr.comp.mail.serveurs ?
Oups, merci.
--
Hugues
fr.comp.mail plutôt. :-)
--
Sébastien Monbrun
Trop tard.
Mais si ca interesse des gars, je songe a mettre en ligne ma conf procmail,
illustree. :)
--
Hugues