Outlook友好的HTML代码是否与传统网页的代码不同?

时间:2009-09-26 15:53:32

标签: html outlook

我的网络应用程序必须通过电子邮件提供数据库生成的内容。 HTML不需要包含javascript,但_does必须包含图像和CSS。

可以肯定的是,大多数用户都会在Outlook中查看此内容。对于发往电子邮件与IE的html,一般指南是否有所不同?

5 个答案:

答案 0 :(得分:9)

Outlook对HTML邮件没有很好的声誉 - 例如,请参阅Microsoft to ignore web standards in Outlook 2010 - enough is enough

但它并不是唯一有问题的电子邮件客户端,实际上:生成HTML电子邮件通常意味着做一些不同于网页的事情......

例如,您可以查看一下这篇文章:Ensuring your HTML Emails Look Great and Get Delivered。它提出的几点是:

  • 使用内联CSS
  • 使用表格和基本布局

嗯......与网页的内容完全相反,不是吗?

并提出一条建议:始终在尽可能多的客户端中测试您的电子邮件(基于桌面,如outlook,thunderbird,...和基于Web的,如yahoo,hotmail,gmail,...) 尽可能!

答案 1 :(得分:8)

绝对。在HTML电子邮件中使用CSS布局技术几乎是不可能的。所以...代码就像是1998年。

  1. 使用表格。这很痛苦,但这是让HTML电子邮件正确且一致地显示的唯一可靠方法。确保在每个表上设置cellpadding,cellspacing和border。如果必须,请将它们嵌套。 colspan和rowspan是你的朋友。在空单元格中使用shim .gifs。如果对于常规网页来说这是一种不好的做法,那么您应该在电子邮件中使用它们。
  2. 不要设计超过600像素的任何东西。
  3. 由于网络邮件服务的CSS可以被电子邮件中的CSS覆盖,因此他们倾向于禁用它。内联CSS很聪明。字体标签更智能。
  4. 忘记了doctypes,<html><body><head>
  5. 不要依赖背景图片 - 如果必须使用它们,请备份背景颜色。
  6. 避免使用垃圾邮件。不要谈论伟哥,色情片或仿冒手表 - 它可能会被垃圾邮件过滤掉。
  7. 使用“Multipart / Alternative”MIMEtype发送纯文本替代方案。
  8. 调试是一只熊。我们在我的营业场所使用的测试列表:Outlook 2003,Outlook 2007,Outlook Express(来自XP),Thunderbird Mac和Windows,Eudora,Mail.app,Entourage,Gmail,Yahoo!邮件,AOL,AOL Webmail和Hotmail。 Webmail客户端在IE6和最新的Firefox版本中都经过了测试。可能值得编写一个脚本来自动发送电子邮件到所有服务的测试地址进行测试。
  9. 有关Campaign Monitor's site的具体支持的详细信息。他们也有more practical guidelines。这是e-mail client usage的列表。

答案 2 :(得分:2)

在Outlook 2007中,它向后退了一大步:http://www.sitepoint.com/blogs/2007/01/10/microsoft-breaks-html-email-rendering-in-outlook/

现在使用Word,而不是使用IE作为渲染引擎。只支持最基本的HTML或者根本不支持。

答案 3 :(得分:0)

答案 4 :(得分:0)

通常,电子邮件用户代理往往因为有充分理由而非常偏离CSS和HTML的标准。某些电子邮件用户代理(如Thunderbird)声称在电子​​邮件中拥有完整的CSS支持,但据我所知,没有任何电子邮件用户代理完全支持HTML标准。

HTML专为网络设计,特别是HTTP传输。它包含标题定义,所有位于&lt; head&gt;&lt; / head&gt;下的位标签,旨在在HTTP传输下运行。 HTML是一种标记语言,它是结构化数据的文档。标记语言不是表示语言,但在电子邮件中使用HTML的唯一要点是用于表示。因此,HTML在电子邮件中不起作用,几乎无法访问。

在HTTP中,用户从服务器请求资源,服务器使用该资源进行响应。从服务器提供的文档的作者是能够在/向服务器上创建文档的人。 HTTP提供的资源只有一个作者。

在电子邮件中,许多不同的用户可以写入文档。文档不是源自服务器。由于文档不是源自服务器或已知的单用户标记语言和CSS体验包含和范围问题。这意味着电子邮件中的HTML和CSS与电子邮件线程的概念完全不兼容,因为CSS不会理解它应该被限制为单个通信实例。

由于这些不兼容性从未打算存在且无意纠正,因此Microsoft在电子邮件中支持尽可能少的HTML是完全正确的。没有标准解决这个问题,所以没有违规行为。违规行为是在电子邮件中使用HTML开始。

我的建议是等到采用邮件标记语言。如果我们都非常幸运,一个特定的用户代理商可能会在不久的将来宣布采用邮件标记语言。据我所知,邮件标记语言是目前唯一能够满足电子邮件线程要求的功能标记语言规范。