这封电子邮件如何选择性地显示部分文本?

这封电子邮件如何选择性地显示部分文本?

我每天都会收到一封电子邮件简讯,我注意到在 Android Gmail 应用程序中,在发件人和主题下方(通常会看到电子邮件的第一行),有一个在正文中不可见的简短描述。

A poem about the shape of loneliness by Patricia Goedicke. View this email in your browser.

当身体打开时

View this email in your browser.

在 Web 客户端中该行也不可见,但是在页面源中它出现在以下 HTML 中:

<span class="m_2244559234681810125mcnPreviewText" style="display:none;font-size:0px;line-height:0px;max-height:0px;max-width:0px;opacity:0;overflow:hidden">A poem about the shape of loneliness by Patricia Goedicke.</span>

当电子邮件折叠时,它会再次出现。HTML:

<div class="iA g6" role="gridcell" tabindex="-1">A poem about the shape of loneliness by Patricia Goedicke. View this email in your browser</div>

查看其他客户端(Thuderbird、Android 版 Edison 应用程序)上的电子邮件,没有出现该行。

我的问题是:就 SMTP 而言,这如何工作?有没有办法指示电子邮件的一部分不显示还是有选择地出现?

答案1

HTML<span>标签具有指定以下 CSS 样式:

style="display:none;font-size:0px;line-height:0px;max-height:0px;max-width:0px;opacity:0;overflow:hidden"

这意味着不显示,字体大小0,行高0,文本宽度0,不透明度0(透明)。

因此,每个遵循 CSS 的电子邮件客户端(今天几乎所有的客户端)肯定不会显示此文本。

您已在许多电子邮件客户端上尝试过,我知道其中一些遵循 CSS,而一些则不遵循,这是正常的,因为 CSS 支持可能有所不同。

答案2

harrymc 的回答基本上是正确的,但我想补充一些背景信息。正如本文所述博客文章,电子邮件发件人利用了 Gmail 使用 CSS 创建预览文本的方式,该文本出现在用户的收件箱中,但不显示在电子邮件中。CSS 包含.mcnPreviewText{ =09=09=09display:none(不确定所有这些=09s 的含义!),它告诉客户端隐藏预览。但是当电子邮件折叠时,Gmail 不会应用 CSS,因此您的预览文本可见,以诱使用户打开。这是一个 SO 线程讨论与不同客户合作的细微差别。

相关内容