Firefox & Chrome: разница в mailto: с тегами html - PullRequest
0 голосов
/ 20 сентября 2019

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

mailto:?body=<b>Text</b>

При вводе URL-адреса в Chrome HTML-код внутри тела электронной почты отображается правильно (Thunderbird и Gmail).

Текст (хром)

Но при вводе URL-адреса в Firefox HTML-код внутри тела электронной почты не отображается (Thunderbird и Gmail).

Текст (firefox)

Почему?

Ubuntu 19.04
Chrome: версия 77.0.3865.75 (официальная сборка) (64-разрядная версия)
Firefox: 69.0 Firefox, выпуск 3 сентября 2019

1 Ответ

1 голос
/ 20 сентября 2019

Различное поведение браузера оправдано, учитывая, что передача HTML в ссылку mailto может считаться разумной угрозой безопасности.Основываясь на результатах вашего тестирования, я бы сказал, что Chrome просто удаляет HTML из основного содержимого, а затем передает его почтовому приложению, в то время как Firefox оставляет его без изменений.

Однако то, как браузеры справляются с этим, на самом деле не имеет значения,Проблема в том, что вы не должны использовать HTML в поле тела почтовой ссылки.См. RFC 6068 - Схема URI «mailto» :

Специальное «тело» указывает, что ассоциированное является телом сообщения.Значение поля «body» предназначено для содержания содержимого первой текстовой / простой части тела сообщения.Поле псевдозаголовка «body» в первую очередь предназначено для генерации коротких текстовых сообщений для автоматической обработки (таких как «подписка» сообщений для списков рассылки), а не для общих тел MIME.

Следовательно, какразные браузеры и почтовые клиенты обрабатывают это не совсем так.Я бы сказал, что поведение, которое вы наблюдали в Firefox, более соответствует стандартам;поскольку ожидается, что ссылка mailto создаст текстовое электронное письмо, теги HTML передаются как есть (или, возможно, они закодированы в сущности HTML) почтовому клиенту для отображения в виде простого текста.В этом же смысле для почтовых клиентов также целесообразно создавать текстовые электронные письма из ссылок mailto.

Решение

Ответ на вашу проблему прост: не используйте HTML в поле mailto body.Он нестандартный, поэтому вы не можете ожидать постоянной поддержки в различных почтовых клиентах и ​​браузерах.

...