1

我是 Perl 的新手,我正在尝试使用Mail::Sender模块在正文部分使用 HTML 发送电子邮件。我debug => 'x.log'用来分析邮件发送过程。

看起来 Perl 奇怪地在我的 HTML 代码中的每个 '=' 符号后面加上 3D 和 20 (看起来像 HTML 的 URL 代码)。在此之后,客户没有收到任何电子邮件。这里可能有什么问题?(例如border="5"变成border=3D"5"

$sender->SendEnc($BODY);用来发送消息和$sender->Open({to => "$userAtFaultEmail", subject => "$email_subject", ctype => "text/html", encoding => "quoted-printable"'});打开邮件连接。

4

1 回答 1

3

这是完全自然的。在quoted-printable -encoding 中,等号=是转义字符,所以它必须自己转义。在转义字符之后,给出字符的十六进制数。邮件客户端将正确解码。如果您不喜欢这个,您可以更改编码,例如更改为 UTF-8。但是,这并不常见,并且可能会在旧客户端上产生新问题。

这是关于quoted-printable的维基百科条目。这种编码的原因是对 8 位字符进行编码,而电子邮件传统上只传输 7 位 ASCII。

于 2012-11-26T22:57:56.027 回答