J'ai besoin de faire un traitement dans procmail sur le champ Subject
pour repérer un motif particulier et faire un traitement derrière. Le
motif à repérer est en ASCII pur (pas d'accent ou autre bizzarrerie),
mais certains MUA l'encodent parfois selon la RFC 2047 en iso-8859-x,
UTF8, et autres joyeusetés ce qui casse mes expressions rationnelles de
filtrage.
Comment et surtout avec quoi (à priori un programme externe) dans
procmail convertir ce champ en ASCII avant de passer dans les
expressions de filtrage.
Lolo, qui déteste la RFC 2047
--
Laurent Frigault | <url:http://www.agneau.org/>
Votre souris a bougé, veuillez rebooter pour prendre en compte
ces changements.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier Roche
Laurent Frigault wrote:
Comment et surtout avec quoi (à priori un programme externe) dans procmail convertir ce champ en ASCII avant de passer dans les expressions de filtrage.
Un début de réponse: http://www.natur.cuni.cz/~mmokrejs/sendmail/mime/msg00010.html
En gros il y a ce qu'il faut dans les modules perl, apparamment
Lolo, qui déteste la RFC 2047
Et encore, tu as du voir qu'on pouvait encoder en base64 dans la rfc2047 :)
Laurent Frigault wrote:
Comment et surtout avec quoi (à priori un programme externe) dans
procmail convertir ce champ en ASCII avant de passer dans les
expressions de filtrage.
Un début de réponse:
http://www.natur.cuni.cz/~mmokrejs/sendmail/mime/msg00010.html
En gros il y a ce qu'il faut dans les modules perl, apparamment
Lolo, qui déteste la RFC 2047
Et encore, tu as du voir qu'on pouvait encoder en base64 dans la rfc2047 :)
Comment et surtout avec quoi (à priori un programme externe) dans procmail convertir ce champ en ASCII avant de passer dans les expressions de filtrage.
Un début de réponse: http://www.natur.cuni.cz/~mmokrejs/sendmail/mime/msg00010.html
En gros il y a ce qu'il faut dans les modules perl, apparamment
Lolo, qui déteste la RFC 2047
Et encore, tu as du voir qu'on pouvait encoder en base64 dans la rfc2047 :)
F. Senault
On Wed, 19 Nov 2003 09:57:20 +0000 (UTC), Laurent Frigault wrote:
Comment et surtout avec quoi (à priori un programme externe) dans procmail convertir ce champ en ASCII avant de passer dans les expressions de filtrage.
En perl, MIME::WordDecoder marche pas mal, et est assez simple à utiliser :
use MIME::WordDecoder; my $wd=MIME::WordDecoder->supported('ISO-8859-1'); print $wd->decode(<>);
Lolo, qui déteste la RFC 2047
Fred -- map{${+chr}=chr}map{$_=>$_^ord$"}$=+$]..3*$=/2; print "$J$u$s$t $a$n$o$t$h$e$r $P$e$r$l $H$a$c$k$e$rn";
On Wed, 19 Nov 2003 09:57:20 +0000 (UTC), Laurent Frigault wrote:
Comment et surtout avec quoi (à priori un programme externe) dans
procmail convertir ce champ en ASCII avant de passer dans les
expressions de filtrage.
En perl, MIME::WordDecoder marche pas mal, et est assez simple à
utiliser :
use MIME::WordDecoder;
my $wd=MIME::WordDecoder->supported('ISO-8859-1');
print $wd->decode(<>);
Lolo, qui déteste la RFC 2047
Fred
--
map{${+chr}=chr}map{$_=>$_^ord$"}$=+$]..3*$=/2;
print "$J$u$s$t $a$n$o$t$h$e$r $P$e$r$l $H$a$c$k$e$rn";
On Wed, 19 Nov 2003 09:57:20 +0000 (UTC), Laurent Frigault wrote:
Comment et surtout avec quoi (à priori un programme externe) dans procmail convertir ce champ en ASCII avant de passer dans les expressions de filtrage.
En perl, MIME::WordDecoder marche pas mal, et est assez simple à utiliser :
use MIME::WordDecoder; my $wd=MIME::WordDecoder->supported('ISO-8859-1'); print $wd->decode(<>);
Lolo, qui déteste la RFC 2047
Fred -- map{${+chr}=chr}map{$_=>$_^ord$"}$=+$]..3*$=/2; print "$J$u$s$t $a$n$o$t$h$e$r $P$e$r$l $H$a$c$k$e$rn";
Laurent Wacrenier
Laurent Frigault écrit:
J'ai besoin de faire un traitement dans procmail sur le champ Subject pour repérer un motif particulier et faire un traitement derrière. Le motif à repérer est en ASCII pur (pas d'accent ou autre bizzarrerie), mais certains MUA l'encodent parfois selon la RFC 2047 en iso-8859-x, UTF8, et autres joyeusetés ce qui casse mes expressions rationnelles de filtrage.
On ne peut pas le transformer proprement en ASCII, il faut l'écrire dans un jeu de caractères universel (ex: Unicode), transcodé par exemple en UTF-8. Vu qu'US-ASCII est un sous ensemble, ça ne devrait pas poser de problèmes.
J'ai des fichiers C qui font ça, base64.c, base64.h et rfc2047.c dans http://cvs.sourceforge.net/viewcvs.py/pll/lmtpd/, à compiler avec -DWITH_ICONV et il faut un iconv() relativement propre. Quelques lignes de C devraient faire l'affaire pour la convertion. Il y a un test qui montre comment on s'en sert à la fin.
Il n'y a plus qu'à ajouter des lignes comme ceci dans .procmailrc :
SUBJECT=`formail -x Subject | mon_programme`
:0 * SUBJECT ?? mon-expression ...
Laurent Frigault <lfrigault@agneau.org> écrit:
J'ai besoin de faire un traitement dans procmail sur le champ Subject
pour repérer un motif particulier et faire un traitement derrière. Le
motif à repérer est en ASCII pur (pas d'accent ou autre bizzarrerie),
mais certains MUA l'encodent parfois selon la RFC 2047 en iso-8859-x,
UTF8, et autres joyeusetés ce qui casse mes expressions rationnelles de
filtrage.
On ne peut pas le transformer proprement en ASCII, il faut l'écrire
dans un jeu de caractères universel (ex: Unicode), transcodé par
exemple en UTF-8. Vu qu'US-ASCII est un sous ensemble, ça ne devrait
pas poser de problèmes.
J'ai des fichiers C qui font ça, base64.c, base64.h et rfc2047.c dans
http://cvs.sourceforge.net/viewcvs.py/pll/lmtpd/, à compiler avec
-DWITH_ICONV et il faut un iconv() relativement propre. Quelques
lignes de C devraient faire l'affaire pour la convertion. Il y a un
test qui montre comment on s'en sert à la fin.
Il n'y a plus qu'à ajouter des lignes comme ceci dans .procmailrc :
J'ai besoin de faire un traitement dans procmail sur le champ Subject pour repérer un motif particulier et faire un traitement derrière. Le motif à repérer est en ASCII pur (pas d'accent ou autre bizzarrerie), mais certains MUA l'encodent parfois selon la RFC 2047 en iso-8859-x, UTF8, et autres joyeusetés ce qui casse mes expressions rationnelles de filtrage.
On ne peut pas le transformer proprement en ASCII, il faut l'écrire dans un jeu de caractères universel (ex: Unicode), transcodé par exemple en UTF-8. Vu qu'US-ASCII est un sous ensemble, ça ne devrait pas poser de problèmes.
J'ai des fichiers C qui font ça, base64.c, base64.h et rfc2047.c dans http://cvs.sourceforge.net/viewcvs.py/pll/lmtpd/, à compiler avec -DWITH_ICONV et il faut un iconv() relativement propre. Quelques lignes de C devraient faire l'affaire pour la convertion. Il y a un test qui montre comment on s'en sert à la fin.
Il n'y a plus qu'à ajouter des lignes comme ceci dans .procmailrc :
SUBJECT=`formail -x Subject | mon_programme`
:0 * SUBJECT ?? mon-expression ...
lfrigault
In article , Laurent Wacrenier <lwa@ teaser . fr> writes:
On ne peut pas le transformer proprement en ASCII, il faut l'écrire dans un jeu de caractères universel (ex: Unicode), transcodé par exemple en UTF-8. Vu qu'US-ASCII est un sous ensemble, ça ne devrait pas poser de problèmes.
J'ai des fichiers C qui font ça, base64.c, base64.h et rfc2047.c dans http://cvs.sourceforge.net/viewcvs.py/pll/lmtpd/, à compiler avec
...
Bonne idée, dès que j'ai le temps je vais explorer cette idée.
Merci
Lolo -- Laurent Frigault | <url:http://www.agneau.org/> La justice, c'est comme la Sainte-Vierge, si on ne la voit pas de temps en temps, le doute s'installe. (Michel Audiard)
In article <slrnbrmlkq.vdo.lwa@victor.teaser.fr>,
Laurent Wacrenier <lwa@ teaser . fr> writes:
On ne peut pas le transformer proprement en ASCII, il faut l'écrire
dans un jeu de caractères universel (ex: Unicode), transcodé par
exemple en UTF-8. Vu qu'US-ASCII est un sous ensemble, ça ne devrait
pas poser de problèmes.
J'ai des fichiers C qui font ça, base64.c, base64.h et rfc2047.c dans
http://cvs.sourceforge.net/viewcvs.py/pll/lmtpd/, à compiler avec
...
Bonne idée, dès que j'ai le temps je vais explorer cette idée.
Merci
Lolo
--
Laurent Frigault | <url:http://www.agneau.org/>
La justice, c'est comme la Sainte-Vierge, si on ne la voit pas de
temps en temps, le doute s'installe. (Michel Audiard)
In article , Laurent Wacrenier <lwa@ teaser . fr> writes:
On ne peut pas le transformer proprement en ASCII, il faut l'écrire dans un jeu de caractères universel (ex: Unicode), transcodé par exemple en UTF-8. Vu qu'US-ASCII est un sous ensemble, ça ne devrait pas poser de problèmes.
J'ai des fichiers C qui font ça, base64.c, base64.h et rfc2047.c dans http://cvs.sourceforge.net/viewcvs.py/pll/lmtpd/, à compiler avec
...
Bonne idée, dès que j'ai le temps je vais explorer cette idée.
Merci
Lolo -- Laurent Frigault | <url:http://www.agneau.org/> La justice, c'est comme la Sainte-Vierge, si on ne la voit pas de temps en temps, le doute s'installe. (Michel Audiard)