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

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

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

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

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

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

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

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

Ответ 1

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

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

Ответ 2

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

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

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

  • веб-почта, желающая показать вашу почту как полную страницу, может сохранить ваш формат.
  • веб-почта просто удалит теги и атрибуты, которые она не хочет. Но вы никогда не узнаете, какие из них.
  • Легче найти (серверные) компоненты, которые соответствуют стандартам формата и, следовательно, меньше подвержены ошибкам. Различия между стандартными и нестандартными форматами могут быть нарушены, что делает вашу электронную почту не отображаемой.

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

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

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

электронная почта на кислотный прием

Ответ 6

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

Обычно я проверяю электронные письма в 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 + plain text.