我正在从我的应用程序发送一些电子邮件。电子邮件中有html,电子邮件中的第一项是公司 Logo 图像
电子邮件在包括 iphone 在内的所有电子邮件客户端中都可以正常显示,但问题出在 iphone 主题行正下方的电子邮件“预览”上。由于邮件正文有 Logo ,因此邮件预览会显示图像 url。如何避免在预览中显示图像 url 并在预览中显示更有意义的文本。 我确实需要将 Logo 作为电子邮件正文中的第一件事。
有什么解决办法吗?
谢谢
最佳答案
在过去几天我自己测试了这个问题的各种迭代之后,我只是在这个讨论中加入了我的两分钱。这个问题的其他答案很好开始,但他们都错过了几个边缘案例(或有时不是那么边缘的案例)。我不会声称我已经在每个客户端上测试过它,但我已经让它在所有大型客户端上运行:Gmail、Yahoo、Outlook.com/Hotmail、Windows 版 Outlook 和 OS X(各种连接到 Exchange、POP 和 IMAP 的版本)、各种基于 Web 的 IMAP 客户端、iOS 邮件(都连接到交换服务器和常规 IMAP 服务器:是的,它在这些情况下呈现不同的预览)、Android 邮件、Android/iOS Gmail 客户端、Postbox、Thunderbird 和其他几个我现在想不起来了。
使用 preheader div。将 div 设置为内联样式,因为某些基于 Web 的电子邮件服务 (Gmail) 会删除 <style>
从电子邮件的 HTML 标题中提取标签。内联样式,display: none;
, 适用于大多数客户端,但在 gmail WebView 和 Yahoo WebView 中失败,除非您将其定义为 display: none !important;
.如果您没有 !important
在那里声明,在这些服务的基于 Web 的客户端中阅读时,预报头 div 将在电子邮件正文中可见。
现在,我们正在使用具有以下内联定义样式的 div 来对我们测试过的各种客户端和服务隐藏我们的预报头:display: none !important; height:0px; overflow:hidden; color:#ffffff; font-size:2pt;
.其中一些在所有或大多数情况下都不起作用,但在所有这些情况下,它们很好地涵盖了各种基础。 height
特别是 hack,只会影响几个客户端,并完全破坏 Gmail 基于 Web 的客户端(它目前将高度声明重写为 min-height,这是出乎意料的),但由于它尊重 display: none !important;
preheader 最终还是隐藏在那里。如 ste7enm 所述,颜色和字体大小 hack 在某些客户端/服务转发消息时更有效地隐藏了预报头。
旁注:在多次测试、重新设计和重新测试我们的模板后,我得出结论,HTML 电子邮件是所有美好事物的死敌。
关于iPhone 上的 HTML 邮件预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15578370/