Outlook 2010覆盖从Arial到Times New Roman的字体系列

我以编程方式发送HTML格式的电子邮件,并将字体设置为Arial( font-family: Arial; )。 邮件到达Outlook 2010时, table元素中的文本是Times New Roman。 div元素中的文本在Arial中很好。 如果我View Source ,复制到一个HTML文件,并在浏览器中查看,所有字体的function按预期(这是所有Arial)。

某些Google 结果显示,如果没有指定Outlook,则Outlook将回退到其默认字体(Times New Roman),但这不是发生的情况。

为什么Outlook强制我的电子邮件显示在Times New Roman中?

即使你将font-family: arial为table,它仍然不能工作。 你需要为table每个td专门设置字体,以使其正确无误。

 <!--[if mso]> <style> body,table tr,table td,a, span,table.MsoNormalTable { font-family:Arial, Helvetica, sans-serif !important; }</style> <!--<![endif]--> 

有问题的table嵌套在一个有font-family:Arial;divfont-family:Arial; 在它的风格,但table没有一个字体集。 因此,表格不会从某些客户端的HTML电子邮件中的容器中inheritance字体(也可能是其他的东西)。

这个问题是从outlook 2007发生的,而以前的解决scheme对我来说并不奏效,唯一可行的解​​决scheme就是用<font face="arial, sans-serif">My text with arial</font>

如果您使用Outlook 2007,则必须在表上定义font-family。 否则,它将设置为默认衬线字体。

<font>标记已弃用,但由于Outlook 2010正在删除(几乎所有)样式,因此这是唯一的方法。

table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";} table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";}使用Text Pad打开您的HTML,并将其更改为Arial。

以上方法都不适用于我,使用与@ font-face链接的自定义字体。 必须使用Outlook的条件标签。 花了相当一段时间弄清楚究竟是如何。 所以我设置了一个代码示例:在我的情况下,我仍然遇到了一些麻烦,所以我已经分享了一个代码示例: https : //stackoverflow.com/a/21626196/135654

你可以把你的风格,以“跨度”的标签,它会奏效。

  <td> <span style="font-family: "Times New Roman"></span> </td> 

我有同样的问题….在电子邮件正文中的所有文本是宋体,但表默认为文字。 我不得不在每个单元中包装字体……耗时