【问题标题】:Is Outlook-friendly HTML code different from code for a conventional web page?对 Outlook 友好的 HTML 代码是否与传统网页的代码不同?
【发布时间】:2010-05-02 15:48:19
【问题描述】:

我的网络应用程序必须通过电子邮件传送 db 生成的内容。 HTML 不需要包含 javascript,但必须包含图像和 CSS。

可以肯定的是,大多数用户都会在 Outlook 中查看此内容。用于电子邮件和 IE 的 html 的一般准则是否不同?

【问题讨论】:

    标签: html outlook


    【解决方案1】:

    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……) 尽可能!

    【讨论】:

      【解决方案2】:

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

      1. 使用表格。这很痛苦,但它是让 HTML 电子邮件正确且一致地显示的唯一可靠方法。确保在每个表格上设置单元格填充、单元格间距和边框。如果必须,请嵌套它们。 colspan 和 rowspan 是你的朋友。在空单元格中使用 shim .gifs。如果对于常规网页来说这是一种不好的做法,那么您可能应该在电子邮件中使用它们。
      2. 不要设计任何超过 600 像素的东西。
      3. 由于网络邮件服务的 CSS 可以被电子邮件中的 CSS 覆盖,因此他们倾向于禁用它。内联 CSS 很聪明。字体标签更智能。
      4. 忘记文档类型,<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 版本中测试。编写一个脚本来自动向所有测试服务的测试地址发送电子邮件可能是值得的。

      Campaign Monitor's site 上有关特定支持的详细信息。他们也有more practical guidelines。这是e-mail client usage的列表。

      【讨论】:

        【解决方案3】:

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

        它现在使用 Word,而不是使用 IE 作为渲染引擎。只有最基本的 HTML 得到很好的支持或完全支持。

        【讨论】:

          【解决方案4】:
          【解决方案5】:

          一般来说,电子邮件用户代理倾向于与 CSS 和 HTML 的标准大相径庭,这是有充分理由的。一些电子邮件用户代理,例如 Thunderbird,声称在电子​​邮件中具有完整的 CSS 支持,但据我所知,没有电子邮件用户代理完全支持 HTML 标准。

          HTML 是为 Web 设计的,特别是 HTTP 传输。它包含标头定义,所有位于

          标记下的位,旨在在 HTTP 传输下运行。 HTML是一种标记语言,是结构化数据的文档。标记语言不是表示语言,但在电子邮件中使用 HTML 的唯一目的是为了表示。因此,HTML 在电子邮件中不起作用,并且难以访问。

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

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

          由于这些不兼容的问题从未打算存在并且不打算更正,Microsoft 在支持电子邮件中尽可能少或尽可能多的 HTML 方面是完全正确的。没有解决这个问题的标准,所以没有违规。违规行为是在电子邮件中使用 HTML 开头。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-06-04
            • 1970-01-01
            • 2012-10-18
            • 2013-05-17
            相关资源
            最近更新 更多