(Courriels de diversion: <approuverai@somnolent-ecloraient.com> <repugner@bolides-partagerons.com> <sensibilisant@rauques-extrairez.com> <enracines@situent-gravirais.com> <atomiques@expieras-philosopherons.com> <detecterent@polemiquerais-scandalisa.com> <retranscrirai@manchettes-sautillements.com> <trajets@machinal-ballaster.com> <delimitee@reinstallera-intimidante.com> <conquerions@refermerai-carpe.com> )



Je ne connais pas les différents types d'encodage.
Ce que je suppose : mettre "quoted-printable" ne suffit pas car il faut aussi 
encoder le body de manière correcte ("é" -> "=E9"), ce qui n'est peut-être 
pas fait ici. Il y a peut-être un encodage "16bit" qui permettrait de bien 
lire directement les caractères d'ascii étendu.


Le vendredi 23 Avril 2004 08:20, Philippe MALADJIAN a écrit :
> J'ai déjà essayé en quoted-printable, même punission :(
>
>
> -----Message d'origine-----
> De : Thomas Soumarmon [mailto:thomas.soumarmon@cogitae.net]> Envoyé : jeudi 22 avril 2004 18:16
> À : pmaladjian@hilaire.fr; linux-31@CULTe.org> Objet : Re: [linux-31] RE : [linux-31] Hylafax vs notify.awk
>
>
>
> Le mail envoyé à la liste donne lui :
>
> Content-Type: text/plain;
>  charset="iso-8859-1"
> Content-Transfer-Encoding: quoted-printable
>
> Dans le mail erroné :
>
> Content-Type: text/plain;
>     charset="iso-8859-1"
> Content-Transfert-Encoding: 8bit
>
>
>
> Peut-être faut-il utilisé le quoted-printable plutôt que le 8bit ?
> L'iso-8859-1 en tout cas me semble bon.
>
> A noter que dans le cas du quoted-printable, on a alors les mots "envoyé
> à" écrit "envoy=E9 =E0".
>
>
>
>
>
> ------------------------------------------------------------------------
> ---
> Thomas Soumarmon.
> Ingénieur Développement & Logiciels Libres
> ------------------------------------------------------------------------
> ---
>       COGITAE    //www.cogitae.net/
> ------------------------------------------------------------------------
> ---
>   tel: 05.34.14.39.39 - fax: 05.34.14.39.31
> ------------------------------------------------------------------------
> ---
>
> ----- Original Message -----
> From: "Philippe MALADJIAN" <pmaladjian@hilaire.fr>> To: <linux-31@CULTe.org>> Sent: Thursday, April 22, 2004 4:14 PM
> Subject: [linux-31] RE : [linux-31] Hylafax vs notify.awk
>
>
> Voila ce que me donne outlook :
> -------------------------------------
> Return-Path: <fax@hilaire.fr>> Delivered-To: pmaladjian@hilaire.fr> Received: (qmail 2131 invoked by uid 505); 22 Apr 2004 07:06:24 -0000
> Received: from alyon-108-1-4-123.w81-48.abo.wanadoo.fr (HELO
> dom.hilaire) (81.48.205.123)
>   by mx3.ovh.net with SMTP; 22 Apr 2004 07:06:24 -0000
> Received: by dom.hilaire (Postfix, from userid 10)
>         id 41C7137F56; Thu, 22 Apr 2004 09:06:10 +0200 (CEST)
> MIME-Version: 1.0
> Content-Type: multipart/mixed;
>     boundary="----=_NextPart_000_0012_01BF3CD4.528144C0"
> To: pmaladjian@hilaire.fr> Subject: Fax facsimile job 89 vers 0478260203 envoyé
> From: "Fax Manager" <fax@hilaire.fr>> Message-Id: <20040422070610.41C7137F56@dom.hilaire>> Date: Thu, 22 Apr 2004 09:06:10 +0200 (CEST)
> ---------------------------------------
>
>
> Voila ce que me dit un mail envoyé à une boite local :
> ----------------------------------------
> From fax@hilaire.fr  Thu Apr 22 16:12:03 2004> X-Original-To: pmaladjian@dom.hilaire> Delivered-To: pmaladjian@dom.hilaire> MIME-Version: 1.0
> Content-Type: multipart/mixed;
>     boundary="----=_NextPart_000_0012_01BF3CD4.528144C0"
> To: pmaladjian@dom.hilaire> Subject: Fax facsimile job 92 vers 0478260203 envoyé
> From: "Fax Manager" <fax@hilaire.fr>> Date: Thu, 22 Apr 2004 16:12:03 +0200 (CEST)
>
> This is a multi-part message in MIME format
>
> ------=_NextPart_000_0012_01BF3CD4.528144C0
> Content-Type: text/plain;
>     charset="iso-8859-1"
> Content-Transfert-Encoding: 8bit
>
> Votre fax vers 0478260203 a été envoyé correctement.
>
>          Pages: 1
>       Qualité: Normal
> Largeur de page: 194 (mm)
> Hauteur de page: 281 (mm)
>        Vitesse: 14400 bit/s
> Format de données: 2-D MR
>         Appels: 4 (total appels tentés)
>  Soumis depuis: 192.168.5.240
>          JobID: 92
>        GroupID: 92
>         CommID: c000000118
>
> Temps total de traitement 1:02.
> ------=_NextPart_000_0012_01BF3CD4.528144C0
> Content-Type: application/pdf;
>  name="facsimile job 92.pdf"
> Content-Transfert-Encoding: base64
> Content-Disposition: inline;
>  filename="facsimile job 92.pdf"
> [...]
> ------=_NextPart_000_0012_01BF3CD4.528144C0--
> ------------------------------------------------------------------------
> ------------
>
>
>
> -----Message d'origine-----
> De : Thomas Soumarmon [mailto:thomas.soumarmon@cogitae.net]> Envoyé : jeudi 22 avril 2004 13:35
> À : linux-31@CULTe.org> Objet : Re: [linux-31] Hylafax vs notify.awk
>
>
>
> C'est possible que ce soit l'encodage au niveau du mail qui soit
> incorrect. Il faudrait pour vérifier cela avoir le source du mail.
>
>
> ------------------------------------------------------------------------
> ---
> Thomas Soumarmon.
> Ingénieur Développement & Logiciels Libres
> ------------------------------------------------------------------------
> ---
>       COGITAE    //www.cogitae.net/
> ------------------------------------------------------------------------
> ---
>   tel: 05.34.14.39.39 - fax: 05.34.14.39.31
> ------------------------------------------------------------------------
> ---
>
> ----- Original Message -----
> From: "Philippe MALADJIAN" <pmaladjian@hilaire.fr>> To: <linux-31@CULTe.org>> Sent: Thursday, April 22, 2004 10:47 AM
> Subject: [linux-31] Hylafax vs notify.awk
>
>
> Salut, j'ai un soucis avec hylafax, enfin c'est surtout avec le fichier
> notify.awk. J'ai fait les modification données dans ce message :
> http://www.culte.org/listes/linux-31/2004-01/msg00417.html, l'envoie de
> mail avec pièces jointes marche bien. Ce qui me pose problème c'est le
> codage de caractère du champs subject et aussi le corps du message. Ca
> ressemble à ca :
> -------------------------------------------------------
> Votre fax vers 0478260203 a été envoyé correctement.
>
>          Pages: 1
>       Qualité: Normale
> Largeur de page: 194 (mm)
> Hauteur de page: 281 (mm)
>        Vitesse: 14400 bit/s
> Format de données: 2-D MR
>          Calls: 2 (total appels tentés)
>  Soumis depuis: 192.168.5.240
> Numéro de JOB: 70
>  Groupe de JOB: 70
>         CommID: c000000091
>           File: docq/doc70.ps
>
> Temps total de traitement 1:01.
> --------------------------------------------------------
> J'ai essayé en passant le codage à 8 bits mais rien à faire. Chose
> encore plus bizarre, j'utilise mon propre postfix pour permettre à
> hylafax d'envoyer les mails. Lorsque j'envoie sur une boite local et que
> je relève le mail en console, pas de soucis, j'ai bien les caractères,
> mais si j'envoie le mail sur une boite externe (ovh ou free) je n'ai
> plus les caractères. J'ai essayé aussi sur un autre pc, mais même
> résultat.
>
> J'ai modifié un peu le fichier donné dans le message précendent :
> ---------------------------------------------------------
> #! /bin/sh
> function printItem(fmt, tag, value)
> {
>     printf "%14s: " fmt "\n", tag, value;
> }
>
> function printBanner(banner)
> {
>     print "";
>     print "    ---- " banner " ----";
>     print "";
> }
>
> function docType(s)
> {
>     if (match(s, "\.cover"))
>     return "PostScript cover page";
>     else if (match(s, "\.ps"))
>     return "PostScript";
>     else if (match(s, "\.tif"))
>     return "TIFF";
>     else if (match(s, "\.pdf"))
>     return "PDF";
>     else if (match(s, "\.pcl"))
>     return "PCL";
>     else
>     return "Unknown document type";
> }
>
> #
> # Construct a return-to-sender message.
> #
> function returnToSender()
> {
>     printBanner("Unsent job status");
>     printItem("%s", "Destination", number);
>     printItem("%s", "JobID", jobid);
>     printItem("%s", "GroupID", groupid);
>     printItem("%s", "Emetteur", sender);
>     printItem("%s", "Adresse mail", mailaddr);
>     if (commid != "")
>     printItem("%s", "CommID", commid);
>     if (modem != "any")
>     printItem("%s", "Modem", modem);
>     printItem("%s", "Soumis depuis", client);
>     if (jobType == "facsimile") {
>     printItem("%u (mm)", "Largeur de page", pagewidth);
>     printItem("%.0f (mm)", "Hauteur de page", pagelength);
>     printItem("%.0f (lpi)", "Résolution", resolution);
>     }
>     printItem("%s", "Status", status == "" ? "  (nothing available)" :
> status);
>     printItem("%u (échanges avec l\'équipement distant)", "Dialogues",
> tottries);
>     printItem("%u (numérotations consécutives vers la destination)",
> "Numérotations", ndials);
>     printItem("%u (total appels tentés)", "Appels", totdials);
>     if (jobType == "facsimile") {
>     printItem("%u (pages transmises)", "Pages", npages);
>     printItem("%u (Total pages à transmettre)", "Total Pages",
> totpages);
>     printItem("%u (Tentatives envoie page courante)", "Tentatives",
> ntries);
> #    printItem("%u (directory of next page to send)", "Dirnum", dirnum);
>     if (nfiles > 0) {
>         printBanner("Documents soumis à transmission");
>         print "Les documents suivants ont été soumis à la transmission
> et sont";
>         print "disponibles sur le serveur jusqu\'à ce qu\'ils soient
> automatiquement";
>         print "supprimés lorsque ce fax est purgé (" doneop "d).";
>         print ""
>         printf "%-20s %8s %s\n", "Fichier", "Taille", "Type";
>         for (i = 0; i < nfiles; i++) {
>         "wc -c " files[i] | getline;
>         printf "%-20s %8d %s\n", files[i], $1, docType(files[i]);
>         close("wc -c " files[i]);
>          }
>     }
>     } else if (jobType == "pager") {
>     if (npins != 0) {
>         printBanner("Pages en échec de transmission");
>         for (i = 0; i < npins; i++)
>         printf "%15s\n",  "PIN " pins[i];
>     }
>     if (nfiles != 0) {
>         printBanner("Message text");
>         while ((getline <files[0]) > 0)
>         print $0;
>         close(files[0]);
>     }
>     }
> }
>
> function returnTranscript()
> {
>     printBanner("Rapport de session ci-dessous");
>     comFile = "log/c" commid;
>     if ((getline <comFile) > 0) {
>     do {
>         if (index($0, "-- data") == 0)
>         print $0
>     } while ((getline <comFile) > 0);
>     close(comFile);
>     } else {
>     printf "    Aucun rapport disponible";
>     if (commid != "")
>         printf "(CommID c" commid ")";
>     print ".";
>     }
> }
>
> function printStatus(s)
> {
>     if (s == "")
>     print "<no reason recorded>";
>     else
>     print s
> }
>
> function putHeaders(subject)
> {
> #    print "To: " mailaddr;
> #    print "Subject: " subject;
> #    print "";
> #    printf "Your " jobType " job to " number;
>
>     print "MIME-Version: 1.0";
>     print "Content-Type: multipart/mixed;";
>     print "    boundary=\"----=_NextPart_000_0012_01BF3CD4.528144C0\"";
>     print "To: " mailaddr;
>     print "Subject: " subject;
>     print "From: \"Fax Manager\" <fax@toto.fr>";>     print "";
>     print "This is a multi-part message in MIME format";
>     print "";
>     print "------=_NextPart_000_0012_01BF3CD4.528144C0";
>     print "Content-Type: text/plain;";
>     print "    charset=\"iso-8859-1\"";
>     print "Content-Transfert-Encoding: 8bit";
>     print "";
>     printf "Votre fax vers " number;
> }
>
> BEGIN        { nfiles = 0;
>           npins = 0;
>           pagewidth = 0;
>           pagelength = 0;
>           resolution = 0;
>           jobType = "facsimile";
>           signalrate = "unknown";
>           dataformat = "unknown";
>           doneop = "default";
>                 pagernum = "unknown";
>           commid = "";
>         }
> /^jobid/    { jobid = $2; }
> /^groupid/    { groupid = $2; }
> /^state/    { state = $2+0; }
> /^doneop/    { doneop = $2; }
> /^number/    { number = $2; }
> /^external/    { number = $2; }        # override unprocessed number
> /^sender/    { sender = $2; }
> /^mailaddr/    { mailaddr = $2; }
> /^jobtag/    { jobtag = $0; sub("jobtag:", "", jobtag); }
> /^jobtype/    { jobType = $2; }
> /^status/    { status = $0; sub("status:", "", status);
>           if (status ~ /\\$/) {
>               sub("\\\\$", "\n", status);
>               while (getline > 0) {
>               status = status $0;
>               sub("\\\\$", "\n", status);
>               if ($0 !~ /\\$/)
>                   break;
>               }
>           }
>         }
> /^resolution/    { resolution = $2; }
> /^npages/    { npages = $2; }
> /^totpages/    { totpages = $2; }
> /^dirnum/    { dirnum = $2; }
> /^commid/    { commid = $2; }
> /^ntries/    { ntries = $2; }
> /^ndials/    { ndials = $2; }
> /^pagewidth/    { pagewidth = $2; }
> /^pagelength/    { pagelength = $2; }
> /^signalrate/    { signalrate = $2; }
> /^dataformat/    { dataformat = $2; }
> /^modem/    { modem = $2; }
> /^totdials/    { totdials = $2; }
> /^tottries/    { tottries = $2; }
> /^client/    { client = $2; }
> /^[!]*post/    { files[nfiles++] = $4; }
> /^[!]*tiff/    { files[nfiles++] = $4; }
> /^[!]*pcl/    { files[nfiles++] = $4; }
> /^page:/    { pins[npins++] = $4; }
> /^[!]page:/   { pagernum = $4; }
> /^data:/    { files[nfiles++] = $4; }
> /^poll/        { poll = " -p"; }
> END {
>     if (jobtag == "")
>     jobtag = jobType " job " jobid;;
>     if (doneop == "default")
>     doneop = "remove";
>     if (jobType == "pager")
>       number = pagernum;
>     if (why == "done") {
>     putHeaders("Fax " jobtag " vers " number " envoyé");
>     print " a été envoyé correctement.";
>     print "";
>     if (jobType == "facsimile") {
>         printItem("%u", "Pages", npages);
>         if (resolution == 196)
>         printItem("%s", "Qualité", "Fine");
>         else
>         printItem("%s", "Qualité", "Normal");
>         printItem("%u (mm)", "Largeur de page", pagewidth);
>         printItem("%.0f (mm)", "Hauteur de page", pagelength);
>         printItem("%s", "Vitesse", signalrate);
>         printItem("%s", "Format de données", dataformat);
>     }
>     if (tottries != 1)
>         printItem("%s (échanges avec l\'équipement distant)",
> "Dialogues", tottries);
>     if (totdials != 1)
>         printItem("%s (total appels tentés)", "Appels", totdials);
>     if (modem != "any")
>         printItem("%s", "Modem", modem);
>     printItem("%s", "Soumis depuis", client);
>     printItem("%s", "JobID", jobid);
>     printItem("%s", "GroupID", groupid);
>     printItem("%s", "CommID", "c" commid);
>     printf "\nTemps total de traitement " jobTime ".\n";
>     if (status != "") {
>         print "  Informations complémentaires:\n    " status;
>         returnTranscript();
>     }
>
>     print "------=_NextPart_000_0012_01BF3CD4.528144C0";
>     print "Content-Type: application/pdf;";
>     print " name=\"" jobtag ".pdf\"";
>     print "Content-Transfert-Encoding: base64";
>     print "Content-Disposition: inline;";
>     print " filename=\"" jobtag ".pdf\"";
>     print "";
>     system("/usr/bin/ps2pdf /var/spool/hylafax/" files [0] "
> /var/spool/hylafax/pdfs/fax.pdf 1>/dev/null 2>/dev/null");
>     system("/usr/bin/mimencode /var/spool/hylafax/pdfs/fax.pdf");
>     system("/usr/bin/rm /var/spool/hylafax/pdfs/fax.pdf");
>     print "------=_NextPart_000_0012_01BF3CD4.528144C0--";
>
>     } else if (why == "failed") {
>     putHeaders("Fax " jobtag " vers " number " échoué");
>     printf " a échoué. Raison de l\'échec :\n    ";
>     printStatus(status);
> #    returnTranscript();
>     returnToSender();
>     } else if (why == "rejected") {
>     putHeaders("Fax " jobtag " vers " number " rejeté");
>     printf " a été rejeté pour la raison suivante :\n    ";
>     printStatus(status);
>     returnToSender();
>     } else if (why == "blocked") {
>     putHeaders("Fax " jobtag " vers " number " bloqué");
>     printf " est différé à l\'envoi pour la raison suivante :\n    ";
>     printStatus(status);
>     print "";
>     print "Ce fax va être traîté dès que possible."
>     } else if (why == "requeued") {
>     putHeaders("Fax " jobtag " vers " number " remis en file
> d\'attente");
>     printf " n\'a pas été envoyé pour la raison suivante :\n    ";
>     printStatus(status);
>     print "";
>     print "Nouvelle tentative à : " nextTry "."
>     returnTranscript();
>     } else if (why == "removed" || why == "killed") {
>     putHeaders("Fax " jobtag " vers " number " retiré de la file
> d\'attente");
>     print " a été retiré de la file d\'attente.";
>     if (why == "killed")
>         returnToSender();
>     } else if (why == "timedout") {
>     putHeaders("Fax " jobtag " vers " number " échoué");
>     print " n\'a pas pu être envoyé avant l\'échéance prévue.
> (timeout)";
>     returnToSender();
>     } else if (why == "format_failed") {
>     putHeaders("Fax " jobtag " vers " number " échoué");
>     print " n\'a pas été envoyé car la conversion du document"
>     print "en fax a échoué. Le diagnostic du convertisseur est :\n";
>     print status "\n";
>     printf "Vérifiez la validité de vos documents PostScript (police non
> standard) %s.\n",
>         "et/ou syntaxe incorrecte";
>     returnToSender();
>     } else if (why == "no_formatter") {
>     putHeaders("Fax " jobtag " vers " number " échoué");
>     print " n\'a pas pu être envoyé car";
>     print "le script de conversion n\'a pas été trouvé.";
>     returnToSender();
>     } else if (match(why, "poll_*")) {
>     putHeaders("Notice about " jobtag);
>     printf ", a polling request,\ncould not be completed because ";
>     if (why == "poll_rejected")
>         print "the remote side rejected your request.";
>     else if (why == "poll_no_document")
>         print "no document was available for retrieval.";
>     else if (why == "poll_failed")
>         print "an unspecified problem occurred.";
>     print "";
>     printf "Processing time was %s.\n", jobTime;
>     returnTranscript();
>     } else {
>     putHeaders("Notice about " jobtag);
>     print " had something happen to it."
>     print "Unfortunately, the notification script was invoked",
>         "with an unknown reason"
>     print "so the rest of this message is for debugging:\n";
>     print "why: " why;
>     print "jobTime: " jobTime;
>     print "nextTry: " nextTry;
>     print  "";
>     print "This should not happen, please report it to your
> administrator.";
>     returnTranscript();
>     returnToSender();
>     }
> }
> ---------------------------------------------------------
>
>
> --------------------------------------------------------------------
> Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>
>
>
>
> --------------------------------------------------------------------
> Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>
>
>
> --------------------------------------------------------------------
> Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>
>
>
>
>
> --------------------------------------------------------------------
> Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>

-- 
---------------------------------------------
Thomas Soumarmon.
Ingénieur Développement & Logiciels Libres
---------------------------------------------
      COGITAE    //www.cogitae.net/
---------------------------------------------
  tel: 05.34.14.39.39 - fax: 05.34.14.39.31
---------------------------------------------

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>