主要电子邮件客户端软件中的数据 URI 支持是啥样的?
Posted
技术标签:
【中文标题】主要电子邮件客户端软件中的数据 URI 支持是啥样的?【英文标题】:What is Data URI support like in major email client software?主要电子邮件客户端软件中的数据 URI 支持是什么样的? 【发布时间】:2011-08-29 12:53:27 【问题描述】:Data URIs 是在 html 中嵌入图像和其他二进制数据的标准方式,并且浏览器支持在 Web 上有详细记录。 (IE8 是第一个支持 Data URI 的 IE 版本,每个 URI 最大大小为 32 KB;其他主要浏览器支持它的时间更长。)
我的问题是关于桌面电子邮件和网络邮件客户端软件。
在构建 HTML 电子邮件时,标准做法是将图像作为附件包含或从外部加载(即跟踪图像)。这两者都有缺点(一些客户端列出了所有这些附加文件,而许多客户端正确地阻止或要求用户操作才能查看外部图像)。因此,Data URI 看起来是一个不错的选择,但前提是它受到电子邮件阅读器的支持。
那么,有没有人提供最近关于支持此功能的研究的链接?或者根本调查过这个?例如,这是一个overview of CSS support。我感兴趣的客户端软件包括:
桌面(包括版本信息):Outlook、Apple Mail、Thunderbird、Evolution、Lotus Notes、AOL、Eudora
Webmail: Gmail、Live/Hotmail、Yahoo!邮件,美国在线
手机:android、iPhone
【问题讨论】:
【参考方案1】:Mac Mail、Outlook 2003 和 MobileMe 支持数据 URI。不确定其他客户端,但您可以轻松找到 — 在 Gmail 中创建新邮件,单击“插入图片”,然后单击“使用 URL”并粘贴数据 URI。然后,将其发送到多个地址并在您想要的客户端中打开它。
【讨论】:
我无法在 gmail 中复制它(如 this 海报所示)。请给一个有效的示例网址好吗?【参考方案2】:我最近在 Litmus 进行了测试,其中包含用于内联 <img>
元素和 css 背景图像的数据 URI。
这些桌面客户端会显示数据 URI:
苹果邮件 5 苹果邮件 6 莲花笔记 8 展望 2003 雷鸟 3.0 雷鸟最新版这些移动客户端确实显示数据 URI:
Android 2.3 Android 4.0 黑莓 5 操作系统 iPad iPhone 3GS iPhone 4S iPhone 5没有一个 webmail 客户端显示数据 URI。
这些桌面客户端不会:
莲花笔记 6.5 莲花笔记7 莲花笔记 8.5 展望 2000 Outlook 2002/XP 展望 2007 展望 2010 展望 2011 展望 2013这些移动客户端不会:
Gmail (Android) Outlook.com (Android) 雅虎(安卓) 黑莓 4 操作系统 塞班 Windows Phone 7.5【讨论】:
Hotmail 在浏览器中呈现,因此它很可能支持数据 URI。 我用最近的结果更新了我的原始答案,包括不支持数据 URI 的客户端列表。 我很好奇为什么 Outlook 2003 可以工作,但任何更高版本都不能工作。此外,如果 Chrome 浏览器显示数据 URI,为什么电子邮件中的此类链接无法在同一 Chrome 浏览器中正确显示。 @OldGeezer 一些邮件客户端会捏造数据:uri。 @OldGeezer 我认为是因为从 Outlook 2007 开始,Microsoft 切换到 Word 作为 Outlook HTML 渲染引擎,而不是像 2003 年那样使用 Internet Explorer【参考方案3】:我刚刚测试了 GMail,似乎 GMail 不再支持数据 URI。
此外,gmx.de(一个非常流行的德国网络邮件提供商)将图像 URI 转换为其服务器上的 URI,这似乎不支持数据 URI。
【讨论】:
【参考方案4】:我无法直接回答有关支持 data-uri 的问题,但在电子邮件浏览器中对此类内容的支持通常非常糟糕。这个问题确实来自他们中的许多人使用他们自己的缩减渲染引擎,这些引擎不是完整的 html 渲染器。在一个仍然最好使用基于表格的设计来确保电子邮件可读的系统中,我不会尝试做任何聪明的事情。
但是,您可能已经知道电子邮件允许使用两种类型的附件。如果您将附件标记为内联,则它往往不会出现在附件列表中(尽管经常出现)。
我个人认为确保电子邮件的可读性比不显示要好,显然远程图像的其他方法在这里没有帮助。
【讨论】:
以上是关于主要电子邮件客户端软件中的数据 URI 支持是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章