Skip to Content

HTML письма и российские почтовые сервисы: подводные камни

Чтобы выделиться из общей массы сервисов рассылок, нередко владельцы сайтов решают отказаться от однообразных текстовых E-mail писем в пользу красивых разноцветных HTML версий. Такие письма выглядят эффектно и солидно. Но для их создания необходимы навыки в вёрстке и определенный запас терпения. А всё потому что модель HTML письма несколько отличается от стандартной модели страницы и то, как такое письмо будет выглядить, в значительной степени зависит не только от браузера, но и от используемого почтового сервиса.

Во-первых, стоит упомянуть, что для HTML писем сегодня принято использовать MIME тип "multipart/alternative". Это позволяет включать в E-mail как HTML, так и текстовую версию письма, на случай если пользователь не имеет возможности увидеть вашу вёрстку. Также, как показывает практика, почтовые сервисы предпочитают иметь дело именно с таким типом в случае HTML писем.

Во-вторых, сразу отметим, что при вёрстке таких писем стоит исключить часть с объявлением body и head - письмо должно состоять только из непосредственно кода отображаемой части. Связано это с тем, что многие почтовики встраивают код письма в код страницы, поэтому наличие двух body или head может привести к конфликту - проще говоря, ваше письмо не отобразится. Правда у этого правила для некоторых почтовиков есть и исключения, об этом ниже.

Еще один важный момент: к HTML письмам не стоит прикреплять внешний CSS файл - он просто не будет прочтен. Весь CSS код должен быть включен в сам E-mail. Хотя в идеале лучше вообще обойтись без каскадных таблиц стилей, так как, опять же, разные почтовики имеют разный уровень их поддержки.

Другое неприятное правило - использование div-ов крайне нежелательно, потому что результат их применения для различных почтовых сервисов неадинаков. Чаще div-ы просто игнорируются, поэтому если вам необходимо организовать сложное позиционирование элементов в теле письма, то применяйте таблицы.

Все изображения, присутствующие в письме, следует разместить на некотором хостинге и в коде добавить на них внешние ссылки. Также неплохо бы добавить ссылку на просмотр HTML письма непосредственно на вашем сайте в виде страницы, чтобы пользователь с любым почтовым ящиком при желании смог увидеть свёрстанные вами красоты.

Еще один небольшой совет - старайтесь уместить HTML письмо в ширину около 500px, ведь окошко просмотра содержимого E-mail у почтовиков меньше ширины окна, причем иногда сильно меньше.

Теперь рассмотрим некоторые особенности вёрстки HTML писем под популярные в рунете почтовые сервисы.

1. Mail.ru
Сразу скажу, что Mail.ru это IE6 от почтовиков. Пользуются им очень многие при том, что он очень недружелюбен к вёрстке. Не дай вам бог забыть убрать head и body из письма - показывать письмо откажется. CSS практически не поддерживает, более того - навязывает свои стили, которые побороть крайне сложно. Например, он насильно делает отступы от рамки в клетках таблицы (около 20-30 px, разные с каждой стороны). Поэтому если вы организуете хотя бы слегка нетривиальное позиционирование элементов, используя при этом таблицы, то придется учитывать данные отступы. Обычно это выливается в то, что под mail.ru делается отдельная версия письма, учитывающая особенности вёрстки под него.

2. Яндекс.Почта
Довольно-таки дружелюбный почтовый сервис, серьёзных проблем обычно не вызывает. Единственное, что неприятно - если не включить в код body и head, то поместит ваше письмо в спам. Странная логика. Посему делаем отдельную версию под этот ящик с body и head.

3. Рамблер Почта
По умолчанию не отображает картинки и alt текст для них, поэтому если какой-то текст вшит в них, то стоит приложить текстовую версию письма.

4. Gmail
Самый адекватный почтовый сервис. Практически никаких проблем. По умолчанию изображения также отключены, но alt текст отображается в любом случае.

HTML письмо - эффектный метод привлечь внимание к сайту. Главное помнить, что оно не является полноценной веб страницей и имеет ряд вышеперечисленных особенностей при вёрстке. Не забывайте проверять их отображение во всех более менее популярных почтовых сервисах, а также иметь представление о том, как они будут смотреться в почтовых программах типа MS Outlook, Firebird и на корпоративных ящиках.

Комментарии

Картинки

Картинки лучше прикладывать к письму используя multipart/related. Тогда они везде показываются.

Как вариант

Тоже вариант, но подходит только для самых терпеливых и упёртых - он менее универсален, т.к. иногда почтовики показывают такие картинки как аттачменты. Ну и письмо тогда становится объёмней. Но в целом ничего не мешает, конечно, использовать multipart/related для картинок.

Здравствуйте ! А я не

Здравствуйте !

А я не сталкивался с проблемами при просмотре через web-интерфейс mail.ru писем, в которых есть html, head, body.

При отправке писем использовался phpmailer последней версии. Кстати, в нем есть функционал, который позволяет создавать письма на основе html-шаблона. Если в одну папку сложить html шаблон, в котором есть картинки (т.е. тэг img ), вместе с этой картинкой, то картинки будут закодированы и вставлены в тело письма, т.е. будут прописаны Content-Type, Content-Transfer-Encoding,
Content-ID, Content-Disposition и т.д.

Также еще может быть добавлен multipart/alternative. Текст формируется из html кода вырезанием тэгов. Для простых шаблонов очень удобно.

Спасибо за советы.

Спасибо за советы.

почтовики находят текста

почтовики находят текста похожие на ссылки, и обрамляют их в теги a, прописывают href.
есть ли способ запретить это делать?

Достаточно просто часть

Достаточно просто часть текста похожего на ссылку поместить в тег SPAN.

мало технических деталей

Smile мало технических деталей здесь, у почтовиков гораздо больше особенностей, кому требуется знать точно, как сделать верстку во всех технических подробностях, заходите сюда

Уже долгое время тьма

Уже долгое время тьма айтишников включая меня почту от гугля юзает. Имхо, она того заслуживает.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Smileys
:):D:bigsmile:;):p:O:|:(:~:((8):steve:J):glasses::party::love:
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <span> <div> <h2> <h3>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • Image links with 'rel="lightbox"' in the <a> tag will appear in a Lightbox when clicked on.
  • Image links from G2 are formatted for use with Lightbox2
  • Textual smileys will be replaced with graphical ones.
  • You may insert videos with [video:URL]

Подробнее о форматировании

Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated.

CAPTCHA
Докажи, что ты не киборг!
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.