如何检测Outlook 2007或2010中是否打开了HTML电子邮件?

| 我目前正在为我工​​作的公司撰写新闻通讯。该时事通讯在所有主要的Internet浏览器(IE 5.55至9,Chrome,Firefox,Opera)中均正确显示,但是当任何人在Outlook 2007或2010中打开它时,所有字体看起来都是“炸毁”。 我知道这个问题是由于Outlook像Word那样呈现HTML的方式所致,如果我手动“缩小”字体,它们在Outlook中看起来不错,但在任何其他电子邮件软件中却看不到。 我的问题是这个。有没有一种方法可以检测是否在Outlook甚至Word中打开了电子邮件?鉴于Outlook不允许JavaScript,此解决方案必须采用纯HTML。我的计划是检测电子邮件浏览器并动态更改字体(某种if-else)。 谢谢您的帮助!     
已邀请:
        使用早期版本的Outlook(2003年及以下版本),您可以使用IE CSS hacks,现在则不能。 与您的问题有关,您无法检测是否正在使用Outlook进行查看,即使您查看了,正如我说的,您实际上也无法使用条件样式:( 我的建议是使用像素设置文本的样式(我敢打赌,您使用的是点,对吗?)。我之所以这样说,是因为我已经完成了几封发送给各种电子邮件客户端的html电子邮件,并且不同电子邮件客户端之间的字体大小相同(或多或少,但至少没有很大不同)。 唯一无法样式化的事情是缩小/减小行高。 Outlook不允许这样做。样式也应该内联设置。     
        有条件的评论 使用条件注释可以实现此目的。
<!--[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]-->
在Litmus上,Outlook 2007/2010/2013中使用条件注释的测试很好。     
        过去常用的做法是在html中添加图片。您可以向他们添加一个参数来跟踪电子邮件。
<img src=\"image.php?email=123\">
当然,如今,几乎每个电子邮件客户端都会阻止进一步的请求。     

要回复问题请先登录注册