Веб-почта: заголовки HTML

Электронные письма в формате HTML — сложный зверь. Решить, что отправлять (как отправитель) и что отображать (как получатель), сложно и потенциально опасно.

Что касается получателей, у нас есть веб-почта и обычные почтовые клиенты. Для моих целей я считаю «веб-почтой» все, что отображает электронную почту в формате HTML как часть чего-то, что само по себе является HTML, а обычные почтовые клиенты — все, что отображает электронную почту в формате HTML в другом контексте (например, ОС и графический интерфейс для конкретной программы).

Что должна делать веб-почта с заголовками HTML (<head>, <title>, <meta>, ...) в электронном письме?
Есть ли где-нибудь спецификация, будь то фактический стандарт или де-факто -стандарт?

Мой вопрос заключается в том, что мы используем HTML Purifier для очистки нашего HTML и если его Core.CollectErrors сообщает об изменениях, о них сообщается. Это «сообщение» необходимо... и неприятно. Мы исключаем некоторые из обнаруженных ошибок как незначительные для наших целей, но заголовки HTML представляют собой серьезное препятствие:

Кто-то потенциально может использовать <link> в своем электронном письме, которое мы удалим. (HTML Purifier предназначен для фрагментов HTML, а не для полных документов)

Желание использовать такие вещи, как <link>, в сообщениях электронной почты в формате HTML, безусловно, email-head.html" rel="noreferrer">похоже, существует, и существует множество почтовых клиентов, которые отправляют <meta>-теги в заголовке HTML (например, Outlook), но как обстоят дела в дикий? Безопасно ли удалять их молча (что для наших целей означает «ненарушающее изменение») и возлагать пресловутую вину на отправляющую сторону, если оно действительно сломается? Это разумно? Кто-нибудь когда-нибудь решал это тем или иным способом? Мой гугл-фу слаб. :(


person pinkgothic    schedule 11.04.2011    source источник
comment
ИМХО, отправка ссылки на полноценную веб-страницу всегда является лучшим ответом. Для других вещей, таких как шаблоны электронных писем для представителей в Salesforce и за их пределами, я думаю, что мы сохраняем ‹head›, ‹meta› и ‹link›. У Salesforce есть собственный антисептик, что может быть непростой задачей...   -  person tamarintech    schedule 11.04.2011
comment
@esnyder: Спасибо за вашу оценку. Это, безусловно, еще один вариант; мы сознательно решили не заниматься этим, но если ничего не помогает, возможно, стоит вернуться к этому. Так что спасибо! :D   -  person pinkgothic    schedule 11.04.2011


Ответы (3)


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

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

person Edward Z. Yang    schedule 08.06.2011
comment
Мы разрешаем загрузку оригинального исходного кода. В основном это вопрос о том, что является стандартом или/s› стандартом де-факто для <head> в электронной почте в веб-почте. SquirrelMail может быть хорошим началом в попытках выяснить это — так что спасибо вам за это! :) - person pinkgothic; 08.06.2011
comment
Помимо SquirrelMail, вы также можете обратить внимание на RoundCube, Horde и некоторые другие. Это займет много времени, но я думаю, что стандарт де-факто, который вы хотите найти, в основном является консенсусом существующих клиентов веб-почты. - person vipw; 15.06.2011

Вы должны посмотреть на:

http://htmlemailboilerplate.com/

Вы найдете шаблонный код для электронных писем в формате HTML. Существует также хорошая практика слайд-шоу.

person yogsototh    schedule 15.06.2011
comment
Сначала я собирался сказать «но это не та сторона проблемы, на которую стоит смотреть»… потом я понял, что это на самом деле очень интересно; это косвенно (а иногда и прямо) показывает, что принимают другие крупные веб-почтовые программы. Благодарю вас! Это предполагает, что заголовки HTML (но для <style>, но у нас уже есть это исключение, так что это неудивительно) должны быть незаметно удалены. Согласны ли вы с такой оценкой? - person pinkgothic; 15.06.2011
comment
Насколько я понял, вы правы. За исключением, может быть, ‹title›. Например, вы можете использовать содержимое в ‹title›, если заголовок письма пуст. - person yogsototh; 15.06.2011

Мой подход к электронной почте в формате HTML заключается в том, чтобы написать базовый HTML, который мы делали в 1990-х годах — макеты таблиц, минимальный встроенный CSS (только для цветов) и это почти все. Я не знаю, как современные клиенты справляются с позиционированием CSS, но люди все еще используют Outlook 2003, который, как я считаю, основан на ненавистном движке рендеринга, работающем под управлением IE6, поэтому стоит выбрать наименьший общий знаменатель.

Я никогда не видел ничего, что выглядело бы как стандарт для него, я видел, как некоторые почтовые клиенты (GMail) удаляли различные вещи, включая CSS, а другие просто игнорировали определенные вещи (Outlook и фоновые изображения).

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

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

person Codecraft    schedule 13.06.2011