我目前正在尝试为我工作的公司撰写简报。该通讯在所有主要的互联网浏览器(IE 5.55至9,Chrome,Firefox,Opera)中都能正确显示,但是当有人在Outlook 2007或2010中打开它时,所有字体看起来都“爆炸”。
我知道这个问题是因为Outlook会像Word一样呈现HTML,如果我手动“缩小”字体,它们在Outlook中看起来很好,但在其他任何电子邮件软件中都没有。
我的问题是这个。有没有办法检测是否在Outlook,甚至Word中打开了电子邮件?鉴于Outlook不允许使用JavaScript,此解决方案必须采用纯HTML格式。我的计划是检测电子邮件浏览器并动态更改字体(一种if-else)。
感谢您的帮助!
答案 0 :(得分:2)
使用以前版本的Outlook(2003和bellow)你可以使用IE CSS hacks,现在你不能。
与您的问题相关,您无法检测是否正在使用Outlook查看它,即使您这样做了,正如我所说,您实际上不能有条件样式:(
我的建议是用像素设置文本样式(我打赌你使用点,对吗?)。我这样说是因为我已经完成了几个发往各种电子邮件客户端的HTML电子邮件,并且不同电子邮件客户端之间的字体大小相同(或多或少,但至少没有太大差异)。
唯一不可能的风格是缩小/减少行高。 Outlook不允许这样做。样式也应该内联设置。
答案 1 :(得分:2)
有可能使用条件评论来实现这一点。
<!--[if mso ]> ...<![endif]--> <!-- Outlook -->
<!--[if gte mso 12]>...<![endif]--> <!-- Outlook 2007+ -->
<!--[if gte mso 14]>...<![endif]--> <!-- Outlook 2010+ -->
<!--[if gte mso 15]>...<![endif]--> <!-- Outlook 2013+ -->
<!--[if !mso ]> ...<![endif]--> <!-- Not Outlook -->
由于Outlook支持头部或正文中的style
标记,因此可以执行以下操作:
<!--[if gte mso 12]>
<style type="text/css">
.myClass {
/* Special styling for Outlook 2007 and later */
}
</style>
<![endif]-->
在Outlook 2007/2010/2013中使用条件注释在Litmus上进行了测试。
答案 2 :(得分:-3)
过去使用的常见做法是在html中添加图像。您可以向他们添加一个参数来跟踪电子邮件。
<img src="image.php?email=123">
当然,这些日子几乎每个电子邮件客户端都会阻止进一步的请求。