Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[PROCMAIL] Help !

11 réponses
Avatar
clara
Bonjour,

voici mon filtre :

:0:Procmail.lock
* ^Subject:.\/.*> salut comment ca va.
$LOG/file_$MATCH

voici comment le mail est exploité :

procmail: Matched "<toto> salut comment ca va."
procmail: Match on "^Subject:.\/.*> salut comment ca va."
procmail: Locking "Procmail.lock"
procmail: Skipped "salut comment ca va."
procmail: Assigning "LASTFOLDER=/home/moi/LOG/file_<toto>"
procmail: Opening "/home/moi/LOG/file_<toto>"
procmail: Acquiring kernel-lock
procmail: [17090] Thu Feb 7 12:26:01 2008
procmail: Unlocking "Procmail.lock"
From morg@ne.fr Thu Feb 7 12:25:59 2008
Subject: <toto> salut comment ca va.
Folder: /home/moi/LOG/file_<toto>

Mais je ne veux récuperer que toto (sans les <>). Un file_toto quoi.

comment faire ?

Merci à vous.

10 réponses

1 2
Avatar
Jacques L'helgoualc'h
Le 07-02-2008, clara a écrit :
Bonjour,


bonjour,

voici mon filtre :

:0:Procmail.lock
* ^Subject:./.*> salut comment ca va.
$LOG/file_$MATCH

voici comment le mail est exploité :

procmail: Matched "<toto> salut comment ca va."
procmail: Match on "^Subject:./.*> salut comment ca va."
procmail: Locking "Procmail.lock"
procmail: Skipped "salut comment ca va."


Je ne comprends pas comment « salut ... » est éliminé dans la recette
ci-dessus ?

procmail: Assigning "LASTFOLDER=/home/moi/LOG/file_<toto>"
procmail: Opening "/home/moi/LOG/file_<toto>"
procmail: Acquiring kernel-lock
procmail: [17090] Thu Feb 7 12:26:01 2008
procmail: Unlocking "Procmail.lock"
From Thu Feb 7 12:25:59 2008
Subject: <toto> salut comment ca va.
Folder: /home/moi/LOG/file_<toto>

Mais je ne veux récuperer que toto (sans les <>). Un file_toto quoi.

comment faire ?


# à tester,
:0
* ^Subject:.*<.*> salut comment ca va
{
:0:Procmail.lock
* ^Subject:[^<]*</[^>]*
$LOG/file_$MATCH
}

P.S. Un c cédille dans « ça va » peut causer des ennuis.
--
Jacques L'helgoualc'h

Avatar
clara
Jacques L'helgoualc'h wrote:
procmail: Matched "<toto> salut comment ca va."
procmail: Match on "^Subject:./.*> salut comment ca va."
procmail: Locking "Procmail.lock"
procmail: Skipped "salut comment ca va."


Je ne comprends pas comment « salut ... » est éliminé dans la recette
ci-dessus ?


Je vous avoue que moi non plus... :(

# à tester,
:0
* ^Subject:.*<.*> salut comment ca va
{
:0:Procmail.lock
* ^Subject:[^<]*</[^>]*
$LOG/file_$MATCH
}


Génial ! Ca fonctionne à merveille :

procmail: Match on "^Subject:.*<.*> salut comment ca va."
procmail: Assigning "MATCH="
procmail: Matched "toto"
procmail: Match on "^Subject:[^<]*</[^>]*"
procmail: Locking "Procmail.lock"
procmail: Assigning "LASTFOLDER=/home/moi/LOG/file_toto"
procmail: Opening "/home/moi/LOG/file_toto"
procmail: Acquiring kernel-lock
procmail: [19718] Thu Feb 7 17:43:49 2008
procmail: Unlocking "Procmail.lock"
From Thu Feb 7 17:43:47 2008
Subject: <toto> salut comment ca va.
Folder: /home/moi/LOG/file_toto

P.S. Un c cédille dans « ça va » peut causer des ennuis.


Pas grave, c'était juste pour l'exemple.

Merci encore.


Avatar
clara
Jacques L'helgoualc'h wrote:
P.S. Un c cédille dans « ça va » peut causer des ennuis.


Salut Jacques !

Dis, sais-tu si le procmail est capable de décoder un mail arrivé en
base64 ?

Content-Transfer-Encoding: base64
[...]
c2FsdXQgbGVzIGxvdWxvdXM
Merci.

Avatar
Jacques L'helgoualc'h
Le 08-02-2008, clara a écrit :
Jacques L'helgoualc'h wrote:
P.S. Un c cédille dans « ça va » peut causer des ennuis.


Salut Jacques !


bonjour,

Dis, sais-tu si le procmail est capable de décoder un mail arrivé en
base64 ?


A priori, non, pas tout seul... seulement détecter sa présence (mais
regarder aussi dans le corps du message est coûteux).

Content-Transfer-Encoding: base64
[...]
c2FsdXQgbGVzIGxvdWxvdXM
man -k decode base64


donne la piste uudecode, qu'on doit pouvoir utiliser si besoin via un
filtre dans le procmailrc ; sinon, il y a aussi la piste Perl, qui ne
doit pas être très efficace via Procmail, cf. spamassassin.

Merci.


de rien,
--
Jacques L'helgoualc'h


Avatar
Vincent Lefevre
Dans l'article <slrnfqp2ge.79i.lhh+,
Jacques L'helgoualc'h <lhh+ écrit:

Le 08-02-2008, clara a écrit :
Content-Transfer-Encoding: base64
[...]
c2FsdXQgbGVzIGxvdWxvdXM
man -k decode base64


donne la piste uudecode, qu'on doit pouvoir utiliser si besoin via un
filtre dans le procmailrc ; sinon, il y a aussi la piste Perl, qui ne
doit pas être très efficace


Une fois que perl est lancé, c'est relativement efficace. Et c'est
aussi plus sûr que des trucs en sh.

via Procmail,


Oui, c'est un problème. Ceci dit, dans la pratique, c'est quasiment
immédiat.

cf. spamassassin.


C'est parce que spamassassin fait des trucs lourds (genre grepper le
corps du message). D'autre part, s'il fait des connexions réseau pour
vérifier si telle adresse est dans telle blacklist, ça ralentit
évidemment.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


Avatar
Jacques L'helgoualc'h
Le 08-02-2008, Vincent Lefevre a écrit :
Dans l'article <slrnfqp2ge.79i.lhh+,
Jacques L'helgoualc'h écrit:
[...] il y a aussi la piste Perl, qui ne doit pas être très efficace


Une fois que perl est lancé, c'est relativement efficace. Et c'est
aussi plus sûr que des trucs en sh.


Oui, mais tant qu'à faire, autant oublier Procmail...

via Procmail,


Oui, c'est un problème. Ceci dit, dans la pratique, c'est quasiment
immédiat.


Une fois Perl en mémoire.

cf. spamassassin.


C'est parce que spamassassin fait des trucs lourds (genre grepper le
corps du message).


et en y cherchant aussi des ^Content-T(ype|ransfer-Encoding):.*base64,
on le greppera aussi.

D'autre part, s'il fait des connexions réseau pour vérifier si telle
adresse est dans telle blacklist, ça ralentit évidemment.


Même sans, sur une bécane un peu légère --- sans remonter au PII-266 :/
--
Jacques L'helgoualc'h


Avatar
clara
Jacques L'helgoualc'h wrote:
et en y cherchant aussi des ^Content-T(ype|ransfer-Encoding):.*base64,
on le greppera aussi.


En fait, je souhaite extraire la partie encodée du mail en l'occurence
le body.

La commande uuencode nécessite un fichier formaté.

Donc, comment puis-je extraire uniquement le corps du mail ? Merci.

Avatar
Olivier Miakinen

[...] comment puis-je extraire uniquement le corps du mail ? Merci.


La discussion est déjà bien avancée, et tu as eu pas mal de réponses,
néanmoins tu en aurais probablement eu davantage en posant ta question
au bon endroit : fr.comp.mail.serveurs (jdçjdr).

Avatar
Thierry B.
--{ clara a plopé ceci: }--

et en y cherchant aussi des ^Content-T(ype|ransfer-Encoding):.*base64,
on le greppera aussi.


En fait, je souhaite extraire la partie encodée du mail en l'occurence
le body.
La commande uuencode nécessite un fichier formaté.
Donc, comment puis-je extraire uniquement le corps du mail ? Merci.


Une piste: Perl et ses modules MIME:: ?

--
IT'S ALL YOUR FAULT!!!


Avatar
Vincent Lefevre
Dans l'article ,
Olivier Miakinen <om+ écrit:

La discussion est déjà bien avancée, et tu as eu pas mal de réponses,
néanmoins tu en aurais probablement eu davantage en posant ta question
au bon endroit : fr.comp.mail.serveurs (jdçjdr).


Pourquoi f.c.m.*serveurs* alors qu'on parle de procmail? La charte
dit bien:

Les discussions sur les agents utilisateur, fonctions de filtrage
côté utilisateur, prestataires de services de mail, y sont
hors-sujet et restent dans le groupe parent.

C'est du filtrage côté utilisateur, donc ça va a priori dans
fr.comp.mail.

Maintenant, procmail fait essentiellement appel à des programmes
externes (outils Unix) pour tout ce qui est complexe...

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

1 2