HTML 与纯文本作为电子邮件中的正文

标签 html swiftmailer plaintext

创建 Swift_Message 时您可以同时拥有纯文本和 html 版本的电子邮件。您将一个设置为正文,然后将另一个添加为一部分。

如果我将 HTML 版本设置为正文,将纯文本设置为部分,反之有什么区别?

$html_as_body = Swift_Message::newInstance()
    ->setSubject($subject)
    ->setBody($html, 'text/html')
    ->addPart($plain, 'text/plain');

$plain_as_body = Swift_Message::newInstance()
    ->setSubject($subject)
    ->setBody($plain, 'text/plain')
    ->addPart($html, 'text/html');

所谓差异,我的意思是它在电子邮件阅读器等方面会有什么样的差异?

最佳答案

应该没有区别,如果只有 Swift_Message 遵循邮件撰写的官方 RFC,它 (AFAIK) 严格设置纯文本消息应该是默认的(首先是正文),最后是 HTML 版本。

进行一些测试,即在两种配置中发送相同的电子邮件,并在接收客户端中查看消息的来源。

如果您看到任何差异,那么在恕我直言中,您绝对应该发送纯文本正文(首先)和最后发送 HTML 版本。即使现在也有许多简单的邮件客户端,它们会简单地忽略/不能正确识别 HTML 版本。因此,如果您将其放在首位,则接收者可能无法阅读整条消息。

关于HTML 与纯文本作为电子邮件中的正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986268/

相关文章:

php - Swift_Mailer + symfony UTF-8

html - 使用 HTML 电子邮件添加纯文本回退

javascript - 使用 AngularJs 将 html 内容作为纯文本粘贴到 contenteditable div 中

html - 底部出现灰色部分

java - 使用 JQuery 在 Javascript 中解析外部 JSON 文件(包含数组元素)

html - 使用 Ionic 框架将 html 文件的内容嵌入到另一个 html 页面?

xml - XSLT:CSV(或平面文件,或纯文本)到 XML

javascript - 如何更新 ng-click Angular js 上的数组项?

php - SwiftMailer、PhpMailer 等 : Difference between mail() and sendmail

php - 发送内部电子邮件