我每天都会收到一封电子邮件简讯,我注意到在 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
(不确定所有这些=09
s 的含义!),它告诉客户端隐藏预览。但是当电子邮件折叠时,Gmail 不会应用 CSS,因此您的预览文本可见,以诱使用户打开。这是一个 SO 线程讨论与不同客户合作的细微差别。