在Outlook中回复/转发HTML电子邮件会显示隐藏的内容/中断



我正在使用一种技术来生成"响应式"电子邮件,其中包括两个版本。一个明确为桌面编写,一个为移动设备编写。使用条件语句和 CSS 的组合(mso-hide:all; display:none;)在桌面客户端中隐藏移动版本,反之亦然。

这完美地工作,并且符合预期。当我转发或回复其中一封电子邮件时,样式中断并显示以前隐藏的"移动"版本。我尝试使用内联样式(mso-hide:all; display:none;)在表上,以及应用类并使用条件注释以 CSS 方式应用相同的样式,但它不起作用。

我会举一个例子,但这项工作相当敏感。

基本上,我正在寻找一种方法来隐藏Outlook中的表,并在回复/转发电子邮件时将其隐藏。

尝试将您的

移动版本包装在 <!--[if !mso]><!--> [tables] <!--<![endif]--> 中。这应该可以防止移动版本被 Outlook 解释并因此被转发。

转发 html

电子邮件意味着转发客户端已经处理的 html,如果您查看 Outlook 处理的 html 文件,这是可怕的。填充垃圾MS代码。

大多数电子邮件开发人员(包括我自己)都接受您无法控制转发的电子邮件,因此不要尝试编码以便转发正常工作。

它们是否都设置了内联的 CSS 显示值?是否在媒体查询中使用 !important 标记覆盖内联声明?

Outlook 经常会丢弃媒体查询(尤其是在转发时),因此,如果您只有一个版本作为默认视图内联可见,也许这可能会起作用 - 无论如何,这就是您应该为非样式标记客户端(如 Gmail)配备的......

最新更新