2

Должен ли я ожидать каких-либо проблем на стороне получателей, если я начал отправлять электронные письма, состоящие из одной части, в виде Content-Type: text/markdown; charset=UTF-8; в соответствии с RFC 7763 и 7764? Я считаю, что он должен безопасно вернуться к тексту по умолчанию text/plain .


Есть несколько способов, которыми почтовые клиенты могут поддерживать Markdown/Commonmark или родственные языки. Я говорю о передаче и полученном показе здесь.

вход

  • Преобразуйте звездочки, подчеркивания и т.д., Введенные пользователем с клавиатуры, в теги HTML (или, теоретически, в любой другой форматированный текст) и отправьте сообщение электронной почты в виде составного сообщения с text/plain текстом и text/html .
  • Как и выше, но также предлагают кнопки GUI или сочетания клавиш (например, foo + Ctrl I_foo_), чтобы помочь вводу этих форматов. По сути, это текстовый редактор с расширенными возможностями, который генерирует лучший откат для простого текста, чем большинство в настоящее время.

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

Это то, что могут делать плагины, такие как Markdown Here, и некоторые (веб) почтовые клиенты изначально поддерживают, например Airmail, Mail Mate, Mailspring, Gmelius, Cypht. Некоторые новостные рассылки, системы администрирования, тикеты или магазины, которые сами отправляют электронные письма, также могут обрабатывать ввод уценки таким образом.

коробка передач

  • Отправляйте сообщения, состоящие из одной части, в виде text/markdown вместо стандартного text/plain , полагаясь на постепенный откат к последнему. Это то, о чем я спрашиваю!
  • Отправляйте сообщения, состоящие из нескольких частей, с text/markdown вместо text/html , в основном дублируя text/plain сообщения.
  • Отправляйте сообщения из нескольких частей с сгенерированным text/html и text/markdown вместо обычной text/plain базовой версии.

Mail Mate и Groups.io могут добавить параметр заголовка следующим образом:

Content-Type: text/plain; format=flowed; markup=markdown

дисплей

  • Отобразить полученные сообщения, состоящие из одной части, с соответствующим заголовком text/markdown установленным как обычный текст, как если бы это был text/plain . Это ожидаемый изящный запасной вариант.
  • Отображать полученные сообщения, состоящие из одной или нескольких частей, для которых установлен заголовок Content-Type с типом text/markdown или параметром markup=markdown виде форматированного текста с удаленными символами форматирования.
  • Отображать полученные одночастные письма, которые проходят некоторую эвристику, чтобы определить, что они были написаны в соответствии с Markdown или некоторыми другими соглашениями LML, как форматированный текст с символами форматирования, которые возможно сохраняются.

Многие клиенты, например Apple Mail, поддерживают форматированный текст для одной функции Markdown: блокировать цитаты с (возможно, вложенными) > в начале строки.

2 ответа2

1

Уценка была реализована различными способами и вкусами. В Википедии перечислены Standard, CommonMark, GFM и Markdown Extra, но каждая реализация даже одного и того же стандарта может давать разные результаты для одного и того же текста уценки (пример).

Несмотря на новые RFC, не существует официального стандартного типа для электронной почты, но text/markdown кажется, является наиболее распространенным типом де-факто. Большинство браузеров и других достаточно продвинутых клиентов, скорее всего, увидят text/ часть и по умолчанию будут использовать text/plain , так что нет особой разницы в отношении электронной почты.

Если вы посмотрите на список Реализаций Markdown, то увидите, что в него не включен ни один почтовый клиент или сервер.

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

Согласно комментариям @grawity, среди почтовых клиентов, которые он тестировал, только Thunderbird передавал их в виде необработанных данных для отображения. Остальные просто поместили уценку в приложении. Это означает, что только Thunderbird обратил внимание на text/ часть в Content-Type, в то время как остальные обрабатывали только всю спецификацию MIME, которая была им неизвестна, так как они не понимают Markdown.

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

0

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

Я не уверен, какова текущая поддержка Markdown в почтовых клиентах, но у меня есть ощущение, что она пока не получила широкого распространения. Кроме этой довольно старой страницы, я не могу ничего найти.

Я просто попытался открыть это сообщение в Outlook (сохранено в виде файла .eml ); это показывает как пустое сообщение с текстовым приложением:

From: John Doe <example@example.com>
MIME-Version: 1.0
Content-Type: text/markdown

# this is the body text

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .