2
對於像Administrative ProfessionalsDay®這樣的活動發送意願,我嘗試發送郵件給所有郵件提供者給我的用戶,並且接收者正確地收到電子郵件主題,除了AOL郵件提供者特殊我們在這裏看到的字符(註冊符號)沒有得到很好的呈現。我使用Perl。部分代碼如下。Aol郵件主題特殊字符顯示不正確
my $email_subject = _decode_html_entities($q->param('email_subject'));
my $email_msg = MIME::Lite->new(
From => '$frm',
To => $email_to,
Subject => '=?utf-8?B?'.encode_base64($email_subject).'?=',
Type => 'text/plain',
Encoding => 'base64',
Data => $email_body
);
$email_msg->attr("content-type.charset" => 'UTF8');
$email_msg->add('X-Card-Nos' => $uc);
$email_msg->add('X-Type' => 'Test_YearAfter_Reminder');
$email_msg->add('Errors-To' => $error_mail_rec);
sub _decode_html_entities {
my $str = shift;
$str =~ s/%([a-f0-9]{2})/chr(hex($1))/egi;
return encode_utf8($str);
}
其他電子郵件提供商表示郵件主題作爲
行政專業人員Day®賀卡
而AOL郵件主題表示主題行
=?UTF-8 2 B 4 QWRtaW5pc3RyYXRpdmUgUHJvZmVzc2lvbmFscyBEYXnCriBlY2FyZHM =?