我在使用1C-Bitrix框架和PHPMailer时遇到了问题。与电子邮件正文相关的问题。
1C-Bitrix框架根据启用的选项准备正文。例如,如果我打开"Create text vesion of html-email“选项,正文将如下所示:
---------alt8045b59706
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is my email
---------alt8045b59706
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<h1> This is my email </h1>
---------alt8045b59706--如果电子邮件模板有一个附加的txt文件,正文将如下所示:
---------mix4215b5973f
Content-Type: multipart/alternative; boundary="-------alt3795b5973f"
---------alt3795b5973f
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is my email
---------alt3795b5973f
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<h1> This is my email </h1>
---------alt3795b5973f--
---------mix4215b5973f
Content-Type: text/plain; name="=?UTF-8?B?dGVzdC50eHQ=?="
Content-Transfer-Encoding: base64
Content-ID: <427605>
dGVzdCB0ZXh0Cg==
---------mix4215b5973f--最后,标准的电子邮件正文将如下所示:
<h1> This is my email </h1> 我不能把这样的电子邮件正文提供给PHPMailer。它不能正常工作。我尝试过msgHtml() --也不起作用。
但是标准的php mail() func可以很好地处理这样的电子邮件正文。我发现在PHPMailer中,我需要分别设置Body和AltBody。但是,对我来说,解析这样的电子邮件正文的最好方法是什么?
也许有人知道解决这个问题的工具?
或者PHPMailer有内置的方法?
也许我只需要手动设置正确的"Content-Type“头(框架告诉我正确的Content-Type)
谢谢,提前说好。
发布于 2018-07-28 14:33:28
你不需要考虑这些事情- PHPMailer会为你做这些事情。要实现这种结构,您只需执行以下操作:
$mail->isHTML();
$mail->Body = '<h1> This is my email </h1>';
$mail->AltBody = 'This is my email';
$mail->addAttachment('path/to/file.pdf');此外,您为带有附件的邮件正文提供的示例中的MIME结构是不正确的,因此我认为它在任何上下文中都不起作用。
https://stackoverflow.com/questions/51533382
复制相似问题