Как определить, открывается ли электронная почта в формате HTML в Outlook 2007 или 2010? - PullRequest
2 голосов
/ 31 мая 2011

Я сейчас пытаюсь написать информационный бюллетень для компании, в которой я работаю. Бюллетень корректно отображается во всех основных интернет-браузерах (IE 5.55–9, Chrome, Firefox, Opera), но когда кто-нибудь открывает его в Outlook 2007 или 2010, все шрифты выглядят «взорванными».

Мне известно, что эта проблема вызвана тем, что Outlook отображает HTML, как это делает Word, и если я вручную "уменьшаю" шрифты, они хорошо выглядят в Outlook, но не в любом другом почтовом программном обеспечении.

Мой вопрос такой. Есть ли способ определить, открывается ли электронная почта в Outlook или даже в Word? Учитывая, что Outlook не поддерживает JavaScript, это решение должно быть в простом HTML. Мой план состоял бы в том, чтобы определить почтовый браузер и динамически изменить шрифт (что-то вроде if-else).

Спасибо за помощь!

Ответы [ 3 ]

2 голосов
/ 31 мая 2011

В предыдущих версиях Outlook (2003 и ниже) вы могли использовать хаки IE CSS, теперь вы не можете.

Что касается вашего вопроса, вы не можете определить, просматривается ли он в Outlook, и даже если вы это сделали, и, как я уже сказал, у вас не может быть условных стилей: (* ​​1003 *

Мое предложение - стилизовать текст пикселями (держу пари, что вы используете очки, верно?). Я говорю это потому, что я сделал несколько html-писем, адресованных различным почтовым клиентам, и размер шрифта одинаков (более или менее, но, по крайней мере, не очень различен) для разных почтовых клиентов.

Единственное, что не удастся стилизовать, - это уменьшение / уменьшение высоты строки. Outlook не позволяет этого. Также стиль должен быть встроен.

2 голосов
/ 25 апреля 2013

Условные комментарии

Этого можно достичь, используя условные комментарии.

<!--[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.

0 голосов
/ 31 мая 2011

Обычная практика, использовавшаяся в прошлом, заключалась в добавлении изображения в html.Вы можете добавить к ним параметр, чтобы отслеживать электронные письма.

<img src="image.php?email=123">

Конечно, в наши дни почти все почтовые клиенты блокируют дальнейшие запросы.

...