Problème d'accent avec Perl MIME::LITE
Le
Mag
Bonjour,
Je suis en train de faire un petit script pour envoyer un email
au format HTML en perl.
Tout marche bien sauf au niveau des accents.
Voici mon code source:
==
#!/usr/bin/perl
use MIME::Lite;
$msg = MIME::Lite->new(
From =>'sender@mydomain.net',
To =>'dest@mysender.net',
Subject =>'Envoi de l\'email via Perl!',
Type =>'multipart/related',
);
$msg->attr("content-type.charset" => "iso-8859-1");
$msg->attach(Type => 'text/html',
Data => qq{
<body>
<BR>
<img src="cid:email_html_top.png">
<BR>
<div style="width: 660px; font-family: Verdana; font-size:
11px; padding: 20px 10px 20px 10px;">
<div style="margin-left: 30px; margin-right: 60px;">
<div style='font-family: Verdana; font-size: 12px; font-weight:
bold; color: #628ED3; padding: 10px 0px 15px 0px; margin: 10px 0px 5px
0px; border-bottom: 1px solid #628ED3;'>Vos codes d'accès au site
XXX</div><div style='font-family: Verdana; font-size: 10px; padding: 0px
0px 15px 0px; margin: 0px 0px 5px 0px; border-bottom: 1px solid
#628ED3;'>Vous trouverez ci-dessous vos codes d'accès au site xxx que
vous avez demandé à recevoir.</div>
</div>
</div>
<BR>
<img src="cid:email_html_bottom.png">
</body>
}
);
$msg->attach(Type => 'image/png',
Id => 'email_html_top.png',
Path => '/email_html_top.png',
);
$msg->attach(Type => 'image/png',
Id => 'email_html_bottom.png',
Path => '/email_html_bottom.png',
);
$msg->send();
==
Voici ce que donne la partie texte quand je reçoit l'email :
Vos codes d'accès au site XXX
Vous trouverez ci-dessous vos codes d'accès au site XXX que vous avez
demandé à recevoir.
Quelqu'un aurait une solution pour m'aider ?
Merci d'avance
Mag
Je suis en train de faire un petit script pour envoyer un email
au format HTML en perl.
Tout marche bien sauf au niveau des accents.
Voici mon code source:
==
#!/usr/bin/perl
use MIME::Lite;
$msg = MIME::Lite->new(
From =>'sender@mydomain.net',
To =>'dest@mysender.net',
Subject =>'Envoi de l\'email via Perl!',
Type =>'multipart/related',
);
$msg->attr("content-type.charset" => "iso-8859-1");
$msg->attach(Type => 'text/html',
Data => qq{
<body>
<BR>
<img src="cid:email_html_top.png">
<BR>
<div style="width: 660px; font-family: Verdana; font-size:
11px; padding: 20px 10px 20px 10px;">
<div style="margin-left: 30px; margin-right: 60px;">
<div style='font-family: Verdana; font-size: 12px; font-weight:
bold; color: #628ED3; padding: 10px 0px 15px 0px; margin: 10px 0px 5px
0px; border-bottom: 1px solid #628ED3;'>Vos codes d'accès au site
XXX</div><div style='font-family: Verdana; font-size: 10px; padding: 0px
0px 15px 0px; margin: 0px 0px 5px 0px; border-bottom: 1px solid
#628ED3;'>Vous trouverez ci-dessous vos codes d'accès au site xxx que
vous avez demandé à recevoir.</div>
</div>
</div>
<BR>
<img src="cid:email_html_bottom.png">
</body>
}
);
$msg->attach(Type => 'image/png',
Id => 'email_html_top.png',
Path => '/email_html_top.png',
);
$msg->attach(Type => 'image/png',
Id => 'email_html_bottom.png',
Path => '/email_html_bottom.png',
);
$msg->send();
==
Voici ce que donne la partie texte quand je reçoit l'email :
Vos codes d'accès au site XXX
Vous trouverez ci-dessous vos codes d'accès au site XXX que vous avez
demandé à recevoir.
Quelqu'un aurait une solution pour m'aider ?
Merci d'avance
Mag

Poser une question


Il est encodé en quoi ? Si c'est en UTF-8, rajouter "use utf8;".
Quoiqu'il en soit, 'use Encode;' aussi.
Data => encode('iso-8859-1', qq{
...
});
Ce qui évoque très fortement de l'utf8 traité comme du latin1.
Pistes ci-dessus, mais je n'ai pas testé.
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Genial, merci avec votre rajout, mon email est correct.