Лучшие практики оформления электронных писем в формате HTML

Я разрабатываю шаблон HTML для информационного бюллетеня по электронной почте. Я узнал, что многие почтовые клиенты игнорируют связанные таблицы стилей, а многие другие (включая Gmail) вообще игнорируют объявления блоков CSS. Являются ли атрибуты встроенного стиля моим единственным выбором? Каковы наилучшие методы оформления электронных писем в формате HTML?


person Community    schedule 28.01.2011    source источник
comment
Вот большой список ресурсов в повторяющийся вопрос.   -  person John    schedule 16.05.2014


Ответы (7)


В Campaign Monitor есть отличная матрица поддержки с подробным описанием того, что поддерживается, а что нет среди различных почтовых клиентов.

Вы можете использовать такой сервис, как Litmus, чтобы посмотреть, как электронное письмо отображается на нескольких клиентах и ​​не попадает ли оно под фильтры и т. д.

person Community    schedule 28.01.2011
comment
+1: Не знал о Лакмусе. Это выглядит как огромная экономия времени. Спасибо :D И не забывайте о сообщениях в блоге на CampaignMonitor, которые также содержат несколько полезных советов. - person Horst Gutmann; 28.01.2011

Я уже сражался с электронной почтой в формате HTML. Вот несколько моих советов по стилю для максимальной совместимости между почтовыми клиентами.

  • Встроенные стили — ваш лучший друг. Категорически не связывайте таблицы стилей и не используйте тег <style> (например, GMail удаляет этот тег и все его содержимое).

  • Вопреки здравому смыслу, используйте и злоупотребляйте таблицами. <div>s просто не подойдет (особенно в Outlook).

  • Не используйте фоновые изображения, они нечеткие и будут вас раздражать.

  • Помните, что некоторые почтовые клиенты автоматически преобразуют введенные гиперссылки в ссылки (если вы не прикрепите их <a> самостоятельно). Иногда это может привести к негативным последствиям (например, если вы накладываете стиль на каждую из гиперссылок, чтобы они отображались разным цветом).

  • Будьте осторожны с гиперссылками на реальную ссылку с чем-то другим. Например, не печатайте http://www.google.com, а затем связывайте его с https://gmail.com/. Некоторые клиенты помечают сообщение как спам или нежелательную почту.

  • Сохраняйте изображения в меньшем количестве цветов, чтобы сэкономить на размере.

  • Если возможно, вставьте свои изображения в свое электронное письмо. Электронное письмо не должно обращаться к внешнему веб-серверу для их загрузки, и они не будут отображаться в виде вложений в электронное письмо.

И, наконец, тестируйте, тестируйте, тестируйте! Каждый почтовый клиент делает что-то иначе, чем браузер.

person Michael Irigoyen    schedule 28.01.2011
comment
Нужны ли таблицы? Что в Outlook делает его недружелюбным к ‹div›? - person Joe Mornin; 01.02.2011
comment
При размещении цвета фона на <div> Outlook не будет распространять цвет за пределы содержимого, то есть отступы не будут окрашены. - person Michael Irigoyen; 02.02.2011
comment
Интересно и странно. Спасибо за внимание! - person Joe Mornin; 04.02.2011
comment
Вставлять изображения? Но тогда у вас есть отвратительные привязанности! - person David Rivers; 22.02.2011
comment
Встроенные изображения не отображаются в виде вложений в электронные письма. - person Michael Irigoyen; 04.05.2011
comment
Почему, Интернет? Почему у нас нет хорошего html для писем? пожимает кулак - person simonlchilds; 27.01.2013
comment
Так что мы можем получить более красивый спам? - person Brock Hensley; 21.06.2013
comment
@DavidRivers Возможно, следует отметить, что встроенные изображения не означают добавление изображений в качестве вложений, вместо этого они должны быть включены в виде строк в кодировке base64, чтобы заменить URL-адрес, указанный в обычных тегах <img>, например: <img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..."> - person Timo Ernst; 12.02.2015
comment
Это 2015 год, и кажется, что Outlook.com наконец принимает margin. Смешанные чувства. - person Cthulhu; 30.09.2015
comment
@Timo Почти все почтовые клиенты удаляют встроенные изображения. Простое обслуживание их на другом веб-сервере работает почти нормально. - person Mohammad Jafar Mashhadi; 11.03.2016
comment
@MJafarMash Я не верю, что это правильно. На самом деле, несколько недель назад я создал почтовую программу, которая встраивает изображения, и она прошла все наши проверки качества во всех популярных почтовых клиентах. Встраивание по-прежнему является лучшим способом просмотра вложений или URL-ссылок, если вы хотите, чтобы изображения немедленно отображались в почтовом клиенте. - person Michael Irigoyen; 11.03.2016
comment
@MichaelIrigoyen Проверьте это: stackoverflow.com/questions/13049453/ - person Mohammad Jafar Mashhadi; 11.03.2016
comment
@MJafarMash Это неправильный способ вставлять изображения в электронную почту. Вы должны создать отдельные конверты и ссылаться на изображение на основе его cid. - person Michael Irigoyen; 11.03.2016
comment
Вы правы, cid работает; На самом деле встроить его, как комментарий Тимо, не получится. - person Mohammad Jafar Mashhadi; 11.03.2016
comment
Да, метод cid действительно единственный способ добиться стабильных результатов, все остальное где-то заблокировано. - person majick; 18.05.2016
comment
Неплохая информация о письмах клиентов. Спасибо!!! - person Ram; 25.07.2017
comment
В 2019 году Gmail не снимает блокировку моего стиля. - person MarredCheese; 19.04.2019

У Mail Chimp есть довольно хорошая статья о том, чего не следует делать. (Я знаю, что это звучит неправильно для того, что вы хотите)

http://kb.mailchimp.com/article/common-html-email-coding-mistakes

В общем, все то, что вы узнали, что является плохой практикой для веб-дизайна, похоже, является единственным вариантом для электронной почты в формате html.

Основы:

  • Укажите абсолютные пути для изображений (например, https://stackoverflow.com/random-image.png)
  • Используйте таблицы для компоновки (никогда не думал, что порекомендую это!)
  • Используйте встроенные стили (и старую школу css тоже, максимум 2.1, например, box-shadow не будет работать;))

Просто протестируйте столько почтовых клиентов, сколько сможете, или используйте Litmus, как кто-то предложил выше! (кредит Джиму)

РЕДАКТИРОВАТЬ :

Mail Chimp проделал большую работу, сделав этот инструмент доступным для сообщества.

Он применяет ваши классы CSS к вашим встроенным элементам html!

person Community    schedule 28.01.2011
comment
ссылка mailchimp не работает, возможно, это одна из этих статей, kb.mailchimp .com/article/common-html-email-coding-mistakes или этот kb.mailchimp.com/article/common-mistakes-to-avoid - person Nathan Koop; 19.12.2012
comment
Я обновил ссылку, первая, которую вы предложили, была правильной. К сожалению, он был перемещен без добавления редиректов. - person SamMullins; 21.12.2012
comment
Спасибо за инструмент встраивания CSS. Было бы полезно, я думаю. - person Rajesh Paul; 27.08.2017

В дополнение к ответам, размещенным здесь, убедитесь, что вы прочитали эту статью:

http://24ways.org/2009/rock-solid-html-emails

person Community    schedule 28.01.2011

Ресурс, к которому я всегда возвращаюсь по электронной почте в формате HTML, — это руководство по CSS CampaignMonitor.

Поскольку их бизнес ориентирован исключительно на доставку электронной почты, они знают свое дело лучше, чем кто-либо другой.

person Community    schedule 28.01.2011

— Боюсь. Я бы сделал HTML-страницу с таблицей стилей, а затем использовал jQuery, чтобы применить таблицу стилей к атрибуту стиля каждого элемента. Что-то вроде этого:

var styleAttributes = ['color','font-size']; // all the attributes you've applied in your stylesheet
for (i in styleAttributes) {
    $('body *').css(styleAttributes[i],function () {
        $(this).css(styleAttributes[i]);
    });
}

Затем скопируйте DOM и используйте его в электронном письме.

person Community    schedule 28.01.2011
comment
Вы должны быть немного осторожны с этим, хотя... это не надежно. Как будто это может испортить ширину вещей, поэтому просто проверяйте все перед отправкой. - person Nathan MacInnes; 28.01.2011
comment
чтобы обойти эту проблему, вы можете сначала скрыть весь документ с помощью jQuery, а затем запустить этот код (и, возможно, показать) - таким образом извлекаются и применяются фактические правила CSS, а не вычисленный результат (например, для ширины). - person majick; 18.05.2016

Я считаю, что сопоставление изображений работает довольно хорошо. Если у вас есть какие-либо верхние или нижние колонтитулы, которые являются изображениями, убедитесь, что вы применяете bgcolor="fill in the empty", потому что Outlook в большинстве случаев не загружает изображение, и у вас останется прозрачный заголовок. Если вы хотя бы назначите цвет, который будет сочетаться с общим ощущением письма, это будет меньше шокировать пользователя. Никогда не пытайтесь использовать какие-либо листы для укладки. Или CSS вообще! Просто избегайте этого.

В зависимости от того, копируете ли вы содержимое из слова или общего документа Google, обязательно (command + F) найдите все (') и (") и замените их в своем программном обеспечении для редактирования (особенно dreemweaver), потому что они будут отображаться как код и это просто не хорошо.

ALT — ваш лучший друг. используйте тег ALT, чтобы добавить текст ко всем вашим изображениям. Потому что есть вероятность, что они не загрузятся правильно. И именно этот ALT-текст заставляет людей нажимать кнопку (см. изображения). Также определите ширину и высоту ваших изображений и установите границу 0, чтобы у вас не было странных линий вокруг вашего изображения.

Рассмотрите возможность редактирования всех изображений в Photoshop с границей 15px с каждой стороны (сделайте фон прозрачным и сохраните как PNG 24) изображения. Иногда почтовые клиенты не считывают какие-либо стили заполнения, которые вы применяете к изображениям, чтобы избежать странного форматирования!

Также я обнаружил, что линия под ссылками особенно раздражает, поэтому, если вы примените ‹ style="text-decoration:none; color:#любой цвет, который вы хотите здесь!" > это удалит линию и придаст вам желаемый вид.

Есть много вещей, которые могут действительно испортить внешний вид.

person Community    schedule 23.05.2013