【发布时间】:2013-10-08 17:59:27
【问题描述】:
首先,你好,
使用 SwiftMailer,我正在发送 HTML+PLAIN 电子邮件。
在 Outlook 中,当将此电子邮件显示为纯文本时,这不是我显示的纯文本部分,而是 HTML 的自动解析版本。
有谁知道在显示纯文本时如何强制 Outlook 使用文本/纯文本部分?
我的代码执行以下操作:
$plain_body = convert_html_to_text($body);
$message->setBody($body, 'text/html')
->addPart($plain_body, 'text/plain');
$body 有一些格式和图片:
vardump($body);
<html>
<head>...</head>
<body>
<img src="logo.png" alt="Company name" /><br />
<img src="border.png" alt="border" /><br />
<img src="face.png" alt="Mr Somebody" /><br />
<p>Hello Ninj!
You requested a confirmation by email...</p>
<img src="footer.png" alt="footer" />
</body></html>
$plain_body 包含一个非常干净的文本(感谢 javon):
vardump($plain_body);
"Hello Ninj!
You requested a confirmation by email..."
但在 Outlook 中查看的纯文本版本中,我看到的是 HTML 版本图片的所有 alt 属性,一行一行,然后是一些轻微格式化的文本:
公司名称
边框
某人先生
你好忍者!
您要求通过电子邮件确认...
页脚
在此先感谢所有能够提供帮助的人:)
【问题讨论】: