主要电子邮件客户端软件中的数据 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 支持是啥样的?的主要内容,如果未能解决你的问题,请参考以下文章

用php-redis给全部用户发送邮件,数据量很大,思路应该是啥样的

微服务架构中的社交 SSO 是啥样的?

运行oracle数据库,对服务器硬件需求是啥样的

运行oracle数据库,对服务器硬件需求是啥样的

C free是啥样的软件

它是啥样的数据?