Отправка письма в html и txt одновременно

218
18 апреля 2018, 06:52

Всем привет, в одной статье по рассылкам была рекомендация слать сразу несколько типов писем (html и txt), чтобы на разных устройствах, клиентах письмо точно нормально отображалось.

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

Как совместить это и отправить через функцию mail() в php ? Возможно у вас есть пример ?

Answer 1

Речь идёт о multipart/alternative значении заголовка Content-Type. Этот вариант позволяет описать несколько вариантов одного содержимого и является частью multipart письма.

Функция mail в php слишком низкоуровневая для таких вещей. Поэтому вам необходимо либо самостоятельно сформировать всё письмо согласно всем релевантным RFC либо воспользоваться готовой библиотекой. Например, PHPMailer позволяет сформировать msgHTML и указать AltBody, который будет отправлен текстовой альтернативой для этого HTML.

Ну а я если очень хочется, то читайте RFC, на один документ я ссылку указал и процитирую из него письмо с несколькими альтернативными форматами отображения:

 From: Nathaniel Borenstein <nsb@bellcore.com>
 To: Ned Freed <ned@innosoft.com>
 Date: Mon, 22 Mar 1993 09:41:09 -0800 (PST)
 Subject: Formatted text mail
 MIME-Version: 1.0
 Content-Type: multipart/alternative; boundary=boundary42
 --boundary42
 Content-Type: text/plain; charset=us-ascii
   ... plain text version of message goes here ...
 --boundary42
 Content-Type: text/enriched
   ... RFC 1896 text/enriched version of same message
       goes here ...
 --boundary42
 Content-Type: application/x-whatever
   ... fanciest version of same message goes here ...
 --boundary42--
READ ALSO
isset бесполезен?

isset бесполезен?

Сколько пишу на php ни разу isset не пригодилсяЯ проверял даже - если в массиве нет ключа, но ты пытаешься его получить то возвращает null без ошибок...

202
Экспорт массива в CSV документ в Symfony

Экспорт массива в CSV документ в Symfony

Eсть такой массив (через print_r вывел):

240
Загрузка обложки VK. Ошибка 129

Загрузка обложки VK. Ошибка 129

При отправке изображения приходит и hash и photoНо при сохранении пишет ошибка 129 файл не найден

270
Как сделать проверку наличия директивы Host в robots.txt

Как сделать проверку наличия директивы Host в robots.txt

Привет!Я начал изучать то как работают поисковые роботы яндекса и мне по заданию нужно сделать проверку на наличие директивы Host в файле robotstxt

228