我必须用perl发送电子邮件,这是代码:
my $msg = MIME::Lite->new(
From => $tpl->{'from'},
To => $tpl->{'to'},
Subject => $subject_id_site . Encode::encode('MIME-Header',$subject_label). Encode::encode('MIME-Header', $tpl->{'subject'}),
ReplyTo => $tpl->{'reply_to'},
Encoding => 'quoted-printable',
Type =>'text/html',
Data => Encode::encode('utf8',$tpl->{'body'}),
);
如果主题包含特殊字符,例如:[300584 / Yçàéè@test] subject
以下是我通过perl编码发送的电子邮件主题:[300584 / Yçà éè@test] subject
。
实际上我尝试使用Encode::encode('UTF8',$subject_label)
,但情况变得更糟。
答案 0 :(得分:0)
电子邮件主题看起来"两次编码",所以我的猜测是你有一个正确的utf-8字符串没有utf-8标志。
添加:
utf8::decode($subject_label);
添加代码顶部,其余部分保持不变。
HTH 乔治