在 HTML 邮件中使用 CSS:真相

Avatar of Chris Coyier
Chris Coyier 发表

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

您是否应该发送 HTML 邮件?

这当然是一个有争议的问题,但最终我认为,如果您有一条您认为可以通过精心设计的电子邮件获益的消息,您应该尝试一下。如果您只是想因为您街区上的其他人也在这样做而这样做,那就不要这样做。如果您决定这样做,以下是我认为的 HTML 邮件的**五条黄金法则**

  • 只向选择接收邮件的人发送邮件。
  • 确保使其在所有邮件客户端中都能获得最佳显示效果。
  • 不要过度发送。每周可能过于频繁。
  • 发送纯文本备选方案。
  • 提供退订链接并尊重用户的选择。

更新:在更新本文时,这篇文章已经有十年历史了。可能不再是可靠的信息来源。有关 HTML 邮件中 CSS 的良好信息来源是 Campaign Monitor 的指南

在设计之前撰写邮件内容

您应该做的第一件事是撰写电子邮件的纯文本版本。在您精力充沛的时候首先执行此操作,将带来更好的文案、更好的设计计划,并最终带来更好的电子邮件。您无论如何都需要这样做,因为其中一条黄金法则是向 HTML 邮件发送纯文本备选方案。在一封组合电子邮件中同时发送纯文本和 HTML 电子邮件称为多部分/备选电子邮件格式或**MIME**。大多数电子邮件客户端都支持它,它是弹出的那个询问您是否要以纯文本、HTML 或两者发送邮件的内容,例如在此 Thunderbird 屏幕截图中

mime.png

有关纯文本电子邮件的一些快速提示:将您的行硬换行至 60 个字符,并写出完整的 URL,而不是使用锚标记。

首先针对最低公分母进行设计。

在完成电子邮件的纯文本版本后,开始考虑设计。每个读取您电子邮件的电子邮件客户端都将有自己的规则来处理 HTML 电子邮件,因此您必须针对最低公分母进行设计。认为在 4-5 个不同的浏览器中测试网站很痛苦吗?电子邮件的情况更糟糕。以下是部分列表:AOL(多个版本)、Comcast、Earthlink、Gmail、Hotmail、Lotus Notes、Mail.com、Outlook(多个版本)、Thunderbird、Windows Live、Yahoo!、Mail.app。更不用说移动客户端了。

假设您要发送到一个相当大的列表,并且不知道他们正在使用哪种电子邮件客户端,您需要考虑您不能做什么,而不是您可以做什么。

您不能做什么

  • 包含带有<style><head>部分。Apple Mail.app 支持它,但 Gmail 和 Hotmail 不支持,因此这是不行的。Hotmail 将支持正文中的样式部分,但 Gmail 仍然不支持。**更新**:在 2020 年,这得到了更好的支持
  • 链接到外部样式表。没有很多电子邮件客户端支持这一点,最好忘记它。
  • Background-image / Background-position。Gmail 也是此问题的原因。
  • 清除浮动。还是 Gmail。
  • Margin。是的,说真的,Hotmail 忽略边距。基本上任何 CSS 定位都不起作用。
  • Font-anything。Eudora 很可能忽略您尝试使用字体声明的任何内容。

还有很多其他事情您应该注意。有关在线电子邮件服务支持什么的完整列表,请查看这篇文章

您可以做什么。

简单来说,就是**内联样式**。它并不像您想象的那么糟糕,因为我们基本上是在开发一次性电子邮件,内联样式远不如在网站上使用它们那么令人反感。需要一个大型绿色标题用于一段文本吗?

现在 159 美元

  • 最大的优势是**图片**。创造性地思考您可以用图片做什么。
  • 由于您将使用表格,因此**考虑网格化**。网格是设计师的朋友,您可以使用网格做很多事情。

表格仍然是标准。

查看您收到的几乎所有 HTML 邮件的代码。我敢打赌它使用表格进行格式化。表格仍然是在电子邮件客户端中获得一致结果的最佳方式。“视口”是电子邮件客户端中专门用于显示实际电子邮件的区域,相当于浏览器窗口。这差别很大。一种非常常见的技巧是设置一个宽度为 100% 的表格,并在其中嵌套一个具有静态宽度的居中表格。这似乎非常有效。外部表格也是您设置整个电子邮件背景颜色的绝佳机会。可惜我们不能只使用带有自动左右边距的 div 来进行居中,但它在大多数电子邮件客户端中不起作用。

帮助!

如果您不想考虑所有这些恼人的内联样式会破坏您的代码以及哪些内容有效哪些内容无效的所有细微规则,请不要担心!有一个非常好的(且免费的)预检服务,名为Premailer。使用 Premailer,您只需将电子邮件设计为网页(仍然考虑表格),然后提交您的 URL。Premailer 将解析 HTML 并将所有样式转换为内联样式,并为您提供有关您正在执行可能存在危险以及哪些电子邮件客户端存在危险的 CSS 警告列表。方便!

mailchimp.png

那里也有提供全面服务的 HTML 电子邮件营销提供商。最值得注意的是 MailChimp。使用 MailChimp,您可以在其网络编辑器中直接设计电子邮件。您仍然拥有大量的控制权,预制模板非常不错,MailChimp 将尽一切努力确保电子邮件在所有电子邮件客户端中都能获得最佳显示效果。仅此一项就值得其合理的费用(每月 30 美元,最多可容纳 2,500 个列表,并且从那里开始上下浮动)。MailChimp 提供更多功能,一项几乎无价的服务,为您管理列表。您可以获得一个可自定义的网页,您可以将其发送给人们以注册您的电子邮件,这将自动将其添加到您的列表中。更好的是,他们还可以自动处理退订。这两件事都可以像您希望的那样透明。提供有关您的电子邮件的统计信息。

该服务提供免费试用版。即使您最终从未真正使用过该服务,也应该查看 MailChimp 的资源中心。他们提供了大量关于电子邮件营销、技术信息和设计技巧的有用信息。他们甚至提供了一本完全免费的 64 页 PDF,名为设计、编码和发送 HTML 电子邮件:初学者生存指南,这是一个开始了解这些内容的绝佳起点。

快速提示!

  • 请记住使用**完整路径**指向图像,而不是相对路径。(例如 http://www.yourserver.com/email/images/logo.gif)。此外,请从您自己的服务器链接到图像,而不是其他人的服务器。
  • 在开始发送数千封电子邮件之前,请**咨询您的 ISP**,他们可能会认为您是垃圾邮件发送者。

  • 反复测试、测试、再测试,尽可能使用各种不同的电子邮件客户端。你肯定需要测试主要的在线客户端,如 Gmail、Yahoo 和 Hotmail,但也一定要检查 Outlook、Mail.app 和尽可能多的其他桌面客户端。
  • 宽度不要超过 600px。即使这样也有些勉强。如果你的设计可以处理,440px 更接近理想值。
  • 将你可能使用的任何额外 CSS 视为向上兼容。如果你愿意,可以始终包含一些标题样式 CSS,但将其视为使用支持它的电子邮件客户端的用户的一项额外福利。然后完全关闭它,并确保设计仍然合理。
  • 尽量避免看起来像垃圾邮件。 这一点很明显,但编写良好的代码和诚实的文案应该可以让你远离此类风险。你的 HTML 电子邮件绝对不是发布伟哥笑话的地方。
  • 就像网页设计一样,考虑折叠以上内容 并没有坏处。也就是用户在必须滚动之前看到的内容。
  • 像页脚一样使用你的页脚。这是一个放置许多内容的好地方,包括电话号码和地址、关于信息、取消订阅选项,以及可能提醒读者此电子邮件是什么以及他们为何出现在列表中的内容。
  • 遵守法律。 《反垃圾邮件法案 (CAN-SPAM)》 于 2004 年 1 月 1 日生效。它规定了作为商业电子邮件发送者必须执行的许多事项。重点基本上是不要欺骗,并且你**必须**包含一个物理邮寄地址以及一个有效的取消订阅链接。

示例。

我认为所有这些都是相当有效的示例。必胜客 (Papa John’s) 发送电子邮件的频率过高,但他们的电子邮件通常非常诱人。

email-example-1.jpg
email-example-2.png
email-example-3.png

祝你好运!