Это может немного сбивать с толку, но почтовые клиенты читают операторы if / else, даже если они скрыты <!-- -->
.
Почтовые клиенты интерпретируют это так, как это делают: <!--[if !mso]><!-- -->
и Outlook интерпретирует это как игнорирование. Это как раз наоборот: <!--[if (gte mso 9)|(IE)]><!-- -->
Пример:
Клиент Outlook Desktop не работает с большинством веб-шрифтов, таких как шрифты Google. Вместо использования резервного шрифта Outlook будет использовать собственный резервный шрифт Times New Roman. Это замечательно, если вы используете шрифт с засечками, но если это не так, это может серьезно повлиять на внешний вид вашей электронной почты.
Используя if / else, вы можете специально настроить Outlook на использование нестабильного шрифта websafe, создав собственную таблицу стилей. Предпочтительное расположение - после таблицы стилей, которую вы используете для таргетинга всех почтовых клиентов, поскольку последний используемый стиль является тем, который используется. Если ваша электронная почта требует веб-шрифта, такого как Gotham или Lato, эта таблица стилей будет указывать Outlook использовать Arial или шрифт без засечек:
<head>
<style type="text/css>
css for email clients
</style>
<!--[if (gte mso 9)|(IE)]>
<style type="text/css">
body, table, td, a, h1, p {font-family: Arial, sans-serif !important;}
</style>
<![endif]-->
</head>
Причина gte mso9
заключается в том, что Outlook 2007 (mso версии 9 и выше) начал использовать Microsoft Word в качестве механизма форматирования. Это вызвало проблемы совместимости с веб-стандартами, но помогло убедиться, что документ, разработанный в Word, выглядит соответствующим образом в электронной почте Outlook. Вы можете настроить таргетинг на определенные версии Outlook, используя номер mso
.
Пример if / else в теле письма:
<!--[if (gte mso 9)|(IE)]><!-- -->
starting code for Outlook specific thingy
<![endif]-->
[fallback goes here]
<!--[if (gte mso 9)|(IE)]>ending code if needed<![endif]-->
Надеюсь, это поможет.
Удачи в Outlook.