【问题标题】:Snippet in Gmail is showing codeGmail 中的代码段显示代码
【发布时间】:2015-11-27 09:37:37
【问题描述】:

我正在发送使用标头中使用 HTML 和 CSS 的模板创建的电子邮件。 我测试的电子邮件客户端都以我想要的方式显示邮件。 甚至 Gmail 也会以正确的方式显示邮件。 我遇到的问题是 Gmail 收件箱中显示的 sn-p (前标头)。这个 sn-p 从邮件的标题中显示部分 CSS。 有谁知道如何避免这种情况而不将所有邮件转换为内联 CSS 的邮件? 下图显示了问题和部分邮件。

【问题讨论】:

  • 您需要将内容类型设置为 HTML 而不是纯文本。
  • 如图所示:内容类型已经设置为html
  • 重点是你应该在邮件的HEADERS中声明HTML类型而不是在HTML的中。如何解决此问题取决于您撰写邮件的方式以及您发送邮件的方式。
  • @MichelvanVuren 电子邮件的内容类型,而不是其中的任何内容。
  • @holden:我正在使用用 C# 编写的服务,该服务使用 System.Net.Mail 的 SMTP @holden/Praveen:我会调查一下

标签: html css email html-email


【解决方案1】:

首先,将内容类型设置为text/html,而不是text/plain

更多注意事项:

  1. 您不能只是将 HTML 页面复制粘贴到电子邮件中并希望它能正常工作。 Check here 用于电子邮件支持的 css。
  2. 没有使用 <title> 属性,因为它不是 Web 界面(如 MS Outlook)。
  3. 使用内联 CSS。有些客户端不包含非内联css。

有时,即使是像 GMail 这样出色的邮件客户端也会抛弃你的 CSS(不是在谈论图像和 js 代码)。请记住,无论您做什么,仍有客户以text/plain 提供所有电子邮件。

【讨论】:

  • 内容类型已经设置为html(如图)。 1. 如问题所述:html 工作正常 2. 这不是问题 3. 如问题所述:我不想使用 inline-css,因为它用于多个模板并使用单独的 CSS 是更容易进行更改等。Gmail 在显示邮件内容的部分中很好地处理了 CSS。唯一的问题是收件箱视图中的 sn-p。
  • @MichelvanVuren 您是按照$additional_headers 中的php.net/manual/en/function.mail.php 中的方式设置内容类型,还是只在模板的元标记内输入? html works fine 在浏览器中是否在电子邮件程序中打开(两个不同方面)。
  • 问题解决了,看原帖的cmets。我现在使用 System.Net.Mail 命名空间中的 AlternateView,不包括普通 tekst 格式的 CSS,包括 tekst/html 格式的 CSS。只需更改邮件的标题也可以正常工作(对于 Gmail),但现在我有一个更好的解决方案,也适用于普通的 tekst。
猜你喜欢
  • 2023-02-10
  • 1970-01-01
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2022-10-05
  • 2013-04-04
  • 1970-01-01
相关资源
最近更新 更多