Следует ли при создании электронных писем HTML использовать теги html, head, body?

113

В своих сообщениях электронной почты я обычно просто делаю что-то вроде ...

<dl>
   <dt>Name</dt>
   <dd>Value</dd>
</dl>

Должен ли я делать это вот так?

<html>
  <head></head>
  <body>
    <dl>
       <dt>Name</dt>
       <dd>Value</dd>
    </dl>
  </body>
</html>

Другими словами, как будто я размечал отдельный документ?

Полагаю, я могу с уверенностью предположить, что любой почтовый веб-клиент его отключит?

Какой правильный путь?

Алекс
источник
Для чего это стоит, Thunderbird выдает html, headи bodyтеги в своих сообщениях.
palswim

Ответы:

44

Правильный способ - следовать стандарту HTML . Вы можете проверить вашу страницу HTML здесь .

Ваш почтовый клиент должен следовать ему и отбрасывать то, что не поддерживается или небезопасно, например javascript.

ОБНОВЛЕНИЕ: после нескольких голосов против людей, которые злятся, когда вы говорите им следовать стандартам, я раскрываю некоторые причины, по которым следующие стандарты могут быть здесь полезны:

  1. веб-почта, желающая отображать вашу почту как полную страницу, могла бы сохранить ваш формат.
  2. веб-почта просто удалит теги и атрибуты, которые ей не нужны. Но никогда не знаешь, какие именно.
  3. Легче найти (на стороне сервера) компоненты, которые соответствуют стандартам формата и, следовательно, менее подвержены ошибкам. Парсеры, не соответствующие стандартам, могут сломаться, и ваша электронная почта не будет отображаться.
mschonaker
источник
54
-1 Правильный способ - протестировать на соответствующих клиентах. Хотя почтовые клиенты должны соответствовать стандартам, практически ни один из них не соблюдает их.
Dan Blows
27
mschonaker правильный. Если все начнут следовать стандартам, то использование будет ... ну ... стандартизировано. В противном случае всем разработчикам придется внедрять хаки в угоду дням (думаю о вас, IE6!). ПРАВИЛЬНЫЙ способ - следовать стандартам.
cjcela 08
4
Не существует стандарта для «html-писем». Вы указываете на стандарт для html.
rds
2
Я согласен с этим ответом, хотя многие клиенты в любом случае отображают недопустимый html, самый надежный формат, который будет отображаться для большинства клиентов, - это иметь действительный html!
markmnl 03 авг.15,
3
Это правильный ответ. Тип пантомимы части или тела будет text / html. Независимо от контекста, этот тип должен соблюдаться по стандартам, будь то веб-браузер или почтовый клиент. У @cjcela правильная идея: если бы мы все продолжали поддерживать IE8, Интернет бы не развивался. Если мы не будем придерживаться стандартов, как будет развиваться отрисовка HTML в почте? Что вам следует делать, так это придерживаться стандартов, но осознавать, что такие вещи, как таблицы стилей в heads, могут игнорироваться и иметь изящный выход.
Бретт Райан
33

Включены ли вы теги html / head / body или нет, это не имеет значения - они всегда являются необязательными и никоим образом не повлияют на рендеринг документа.

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

Джош Ли
источник
4
«они всегда являются необязательными и не влияют на рендеринг документа» это просто неправда, многие рендеры менее устойчивы к сбоям и могут совершенно справедливо отказаться от рендеринга недопустимого HTML.
markmnl 03 авг.15,
Что происходит, когда в почтовом клиенте есть ссылка «Просмотреть это письмо в браузере»? Браузер по умолчанию будет отображать неверный HTML.
Сергей
13

Многие сообщения в этой ветке довольно старые, и в результате они больше не точны.

В наши дни электронные письма в формате HTML должны включать в себя объявление типа doctype, html и body, если вы вообще собираетесь делать что-нибудь необычное.

Существует множество руководств по этому вопросу, которые могут помочь вам научиться правильно кодировать электронную почту HTML, но большинство из них игнорируют специфику doctype, поэтому я наткнулся на ваш вопрос.

Я предлагаю вам прочитать следующие 2 сообщения от авторитетных команд, знакомых с различными проблемами:

мнение монитора кампании

электронное письмо о взятии кислоты

Камелькев
источник
Забавно ... вы говорите, что сообщения здесь старые, и помещаете в свой ответ ссылку на сообщение в блоге, которому 7 лет!
Alexis Wilke
2
Я сделал это, но отобранные сообщения в блогах были тщательно отобраны из-за их авторитетности, и они были довольно перспективными в то время. Высказываемые ими мнения были тогда довольно необычными, особенно если сравнивать с устаревшими утверждениями, которые разделяют другие ответы здесь.
kamelkev
@AlexisWilke, и одна из ссылок даже упоминалась здесь 3 года назад! Но, по крайней мере, он сейчас в ответе, поэтому я могу попытаться поднять его в списке, проголосовав за
Hashbrown
11

Полностью зависит от почтового клиента, который его получает. По моему опыту, большинство почтовых клиентов, которые интерпретируют HTML, не заботятся о том, есть ли у вас теги full body / head / html и т. Д. На самом деле вам даже не нужны эти теги для большинства браузеров. У вас должны быть теги заголовка для включения стиля / названия и т. Д. В противном случае они сами по себе не нужны. Я никогда не видел в них необходимости.

Таблетки от взрыва
источник
3
Теги html / head / body всегда необязательны.
Джош Ли
10

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

Greg
источник
11
У вас есть доказательства, подтверждающие это утверждение?
Alex
10
Я наблюдал именно такое поведение в течение последних нескольких дней, просто «просматривая оригинал» в Gmail. Там я мог увидеть оценку спама для письма без открывающих закрывающих тегов: например, X-Spam-Level: * | X-Spam-Report: оценка = 1,6 тесты = HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY | X-Spam-Score: 1 - например, см. Wiki.apache.org/spamassassin/Rules/HTML_MIME_NO_HTML_TAG
Ричард Холлис
1
Я тоже видел это, и у некоторых компаний порог для карантина спама настолько низок, что отсутствие тегов HTML может быть достаточным, чтобы помешать проникновению вашей электронной почты. На этой странице не указаны точные доступные настройки, но я видел, как программное обеспечение оставляло сообщение о правиле «HTML_MIME_NO_HTML_TAG» с описанием «сообщение только в формате HTML, но без тега HTML». techlib.barracuda.com/BSF/SpamScoring
JHS
3

Я не думаю, что есть правильный путь, но пытаюсь сделать письмо доступным для просмотра как можно большему количеству читателей.

Я обычно проверяю электронную почту в Thunderbird, потому что Outlook прощает больше.

В Thunderbird это HTML-код электронного письма (у меня есть расширение, которое показывает html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
        This is the body text<br>
<div class="moz-signature"><i><br>
<br>
Regards<br>
Alex<br>
</i></div>
</body>
</html>

Кстати, я использую текстовое электронное письмо для всех своих веб-форм каждый раз, когда могу. У меня было много проблем с электронной почтой Blackberry, использующей электронные письма HTML + простой текст.

Алекс Анджелико
источник