Php 正在尝试创建电子邮件模板,编码问题

Php 正在尝试创建电子邮件模板,编码问题,php,email,Php,Email,我已经从这里下载了order.html模板: 我使用file\u get\u contents将文件加载到字符串中: $mailbody = file_get_contents($template); $message = Swift_Message::newInstance("Email Template Test") ->setFrom(array('no-reply@domain.net' => 'Notification Service')) ->se

我已经从这里下载了
order.html
模板:

我使用
file\u get\u contents
将文件加载到字符串中:

$mailbody = file_get_contents($template);
$message = Swift_Message::newInstance("Email Template Test")
    ->setFrom(array('no-reply@domain.net' => 'Notification Service'))
    ->setTo("email@domain.com")
    ->setBody($mailbody,'text/html');
$mailResult = $swiftmail->send($message);
但是,当我在Outlook 365或w10邮件应用程序中查看它时,编码不正确。文件中有一行写着:

What'下一步是什么?

在收到的电子邮件中,我得到:

What'下一步是什么?


我认为原因在于它添加了
&就在&之后。所以在代码中,它看起来是这样的:
What&;载脂蛋白;s下一步?
,其呈现方式如上所示。但文件中不是这样,为什么会发生这种情况?

您已将内容类型设置为
text/html
,这是正确的,问题似乎与
Outlook 365
w10 Mail
应用程序未正确解码hmtl实体有关

您可能需要,即:


看起来您的电子邮件正文已经将其字符编码为html实体,Swift也会这样做。创建没有html实体的身体(下一步是什么),以纯文本的形式,让Swift进行编码,或者以html_entity_decode($mailBody)的形式提供身体。

关于实体解码的研究否,它仍在产生相同的结果:(我对
Swift\u Message
了解不多,我使用php mailer,它的工作原理完美无缺啊,是Swift在做这件事吗?有没有关闭它的方法?
$mailbody = html_entity_decode(file_get_contents($template));