我是Perl的新手,我正在尝试使用身份部分中带有HTML的Mail::Sender模块发送电子邮件。我正在使用debug => 'x.log'
来分析邮件发送过程。
看起来Perl很奇怪地在每个'='符号后放置3D,在我的HTML代码中为每个空格放置20(看起来像HTML的URL代码)。此后,客户端未收到任何电子邮件。这可能是个问题? (例如border="5"
变为border=3D"5"
)
我使用$sender->SendEnc($BODY);
发送消息,$sender->Open({to => "$userAtFaultEmail", subject => "$email_subject", ctype => "text/html", encoding => "quoted-printable"'});
打开邮件连接。
答案 0 :(得分:3)
这很自然。在 quoted-printable -encoding中,等号=
是转义字符,因此必须自行转义。在转义字符之后,给出字符的十六进制数。邮件客户端将正确解码它。如果你不喜欢这个,你可以改变编码,例如到UTF-8。但是,这并不常见,可能会对旧版客户端产生新问题。
以下是关于quoted-printable的维基百科条目。这种编码的原因是编码8位字符,而电子邮件传统上只传输7位ASCII。