Mail avec MIME::lite [Perl] - Perl - Programmation
Marsh Posté le 02-03-2012 à 13:51:42
Et avec
Code :
|
ça donne quoi?
A+
Marsh Posté le 02-03-2012 à 13:58:54
"utf8::encode" n'accepte pas de modifier directement la variable.
En passant par des variables, j'ai "XXXX XXXX XXXX XXXX XXXX XXXX XXXX" pour le titre et "é à è ï ù ô ê" pour le corps...
(Mon source est en UTF8.)
Marsh Posté le 02-03-2012 à 13:59:53
Oui, je viens de modifier ma réponse au vu de ceci: http://www.databasesandlife.com/us [...] -mimelite/
Réessayes le code que j'ai modifié
Et si ça colle pas, met le sujet dans une variable (je sais pas si encode essaye de modifier en place la string ou pas, et si elle est pas dans une variable, elle sera pas modifiable)
A+,
Marsh Posté le 02-03-2012 à 14:01:56
C'est mieux : le corps est bon, et le sujet est : "é à è ï ù ô ê".
Il faudrait rajouter un ptit truc...
Marsh Posté le 02-03-2012 à 14:06:11
>> Mon source est en UTF8
Dans ce cas la, peut être qu'en mettant un use utf8; en tête (sans un no utf8; comme tout à l'heure) on réglera le pb.
En principe, use utf8; indique à Perl que le programme perl est en utf8.
A+,
Marsh Posté le 02-03-2012 à 14:09:20
Avec use utf8, le sujet est bon ! Mais le corps du message devient "� � � � � � �" et les retours de mon script s'affiche avec des caractères tout aussi étranges : "Envoi du mail r▒ussi !"
J'adore les problèmes d'encodage !
Marsh Posté le 02-03-2012 à 14:10:45
Quoique non, tout bêtement, si ton source est en utf8, il suffit de faire
Subject => "=?UTF-8?B?" ."é à è ï ù ô ê". "?=",
a priori.
Ça marche pas ça:
Code :
|
A+,
Marsh Posté le 02-03-2012 à 14:14:45
Non, il me sort "=?UTF-8?B?XX XX XX XX XX XX XX?=" pour le sujet.
C'est peut-être lié au fait que mon client mail est un vieux Thunderbird aussi... (Mais ça, je ne peux pas le changer !)
Marsh Posté le 02-03-2012 à 14:16:41
Avec :
Code :
|
tout marche !
Merci gilou pour ton aide !
Marsh Posté le 02-03-2012 à 14:22:01
Sinon, il semble qu'en fait la méthode usuelle (au vu de Google) soit:
use MIME::QuotedPrint qw(encode_qp);
...
my $encoded = encode_qp("é à è ï ù ô ê" );
...
Subject => "=?utf-8?Q?$encoded?=",
...
(et si la ligne suivante passe
Subject => "=?utf-8?Q?". encode_qp("é à è ï ù ô ê" ) ."?=",
On peut éviter la variable $encoded intermédiaire)
A+,
Marsh Posté le 02-03-2012 à 14:24:16
J'étais aussi tombé dessus, mais ça ne marchait pas...
J'obtenais ça : "=?utf-8?Q?=C3=A9=C3=A9=C3=A9=C3=A9=C3=A9=C3=A9=C3=A9 =C3=A0=C3=A0=C3=A0=C3=A0=C3=A0= =C3=A0 =C3=AA=C3=AA=C3=AA=C3=AA= ?="
Marsh Posté le 02-03-2012 à 14:36:17
Bon de toute façon, l'essentiel c'est que ça marche maintenant.
A+,
Marsh Posté le 02-03-2012 à 13:39:08
Bonjour,
Je souhaite envoyer des mails dans un script Perl, réalisé avec MIME::lite.
Problème : les accents dans le titre du message sont remplacés par deux "XX". (Les accents dans le corps du message sont corrects.) Une idée pour résoudre le problème ?
Et j'obtiens :
Message édité par Titprem le 02-03-2012 à 13:51:13