Подскажите, пожалуйста, как правильно отправлять рассылку, чтобы контент одинаково корректно отображался во всех клиентах (в частности: через браузер, thunderbird, Outlook, the bat).
Рассылка содержит html с аттачами.
На сколько я понял, основная проблема в том, что нужно отправлять и html-версию как html, и html-версию как текст, иначе программы типа thunderbird ничего не поймут и не отобразят, т.к. им подавай html, отправленный как plain text (хотя в веб-морде гугла, например, всё будет работать).
Собственно, не пойму, как это реализовать. У меня приходит пустое письмо всё время, как только не пробовал.
мой код:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- $eln = "\n"; //конец строки
- $to = 'my_mail@gmail.com';
- $replyto = 'vasya@pup.kin';
- $headers = 'MIME-Version: 1.0;'.$eln;
- $headers .= 'From: '."$from".$eln;
- $headers .= 'Reply-To: '."$replyto".$eln;
- $headers .= 'Content-type: multipart/mixed; boundary="---mixed";'. $eln;
- //начало общей части
- $message='';
- // начало части с альтернативными вариантами
- $message.='Content-Type: multipart/alternative; boundary="---alternative"'. $eln;
- //начало первого альтернативного блока (текстовый контент)
- $message.='Content-Type: text/plain; charset="UTF-8"; '. $eln;
- $message.='Content-Transfer-Encoding: 7bit'. $eln;
- $message.=' TEXT HERE'.$eln;
- //начало второго альтернативного блока (html контент)
- $message.='--'.'---alternative'. $eln;
- $message.='Content-Type: text/html; charset="UTF-8"; '. $eln;
- $message.='Content-Transfer-Encoding: 7bit'. $eln;
- $message.=' <b>HTML HERE</b>'.$eln;
- //окончание части альтернативных блоков
- $message.='--'.'---alternative--'. $eln;
- // продолжение общей части
- $message.='--'.'---mixed'. $eln;
- //начало аттача
- $message.='Content-Type: application/octet-stream; name="N.jpg"'. $eln;
- $message.='Content-Transfer-Encoding: base64'.$eln;
- $message.='Content-Disposition: attachment; filename="N.jpg"'.$eln;
- //конец общей части
- $message.='--'.'---mixed--'. $eln;
- ?>