Я пытаюсь отправить HTML электронное письмо вместе с альтернативной версией Обычный текст и встроенными вложениями с использованием функции PHP mail()
. Я отформатировал параметры, следующие http://qcode.co.uk/post/70.
При получении почты (в Gmail) HTML-код удаляется, а обычный текст и встроенные вложения отображаются в виде обычных вложений. Используя только multipart/mixed
вместо встроенного вложения, я смог правильно отобразить HTML-код, но обычный текст по-прежнему оставался в качестве вложения.
Как правильно отформатировать параметры почты и вызвать функцию для отправки HTML, обычного текста, встроенных вложений и обычных вложений?
N.B. Функция mail()
является обязательной и в настоящее время не может выбирать другие почтовые пакеты.
Функция была вызвана с additional_parameters
как true:
mail($to, $subject, $message, $headers, true)
Переменные $headers
и $message
имеют следующий вид
$ заголовки
From: John Doe <johndoe@email.com>
Reply-To: John Doe <johndoe@email.com>
Message-ID: <2r8oeeytf15d.jq2k2x34279f@test.com>
Date: Sun, 01 Sep 2018 12:52:01 +0600
List-Unsubscribe: <mailto:support@test.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="____5a3646d9eb612e5d377726cfe6d9f4a2"; type="text/html"
$ сообщение
--____ae1bf252235979603c226dbea697a481
Content-Type: multipart/related; boundary="__BODY__ae1bf252235979603c226dbea697a481"
--__BODY__ae1bf252235979603c226dbea697a481
Content-Type: multipart/alternative; boundary="__MESSAGE__ae1bf252235979603c226dbea697a481"
--__MESSAGE__ae1bf252235979603c226dbea697a481
Content-type: text/html; charset=UTF-8
Content-Transfer-Encoding: BASE64
Content-Disposition: inline;
<<< CONTENT >>>
--__MESSAGE__ae1bf252235979603c226dbea697a481
Content-type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
Content-Disposition: inline; filename="plain_text.txt"
<<< CONTENT >>>
--__MESSAGE__ae1bf252235979603c226dbea697a481--
--__BODY__ae1bf252235979603c226dbea697a481
Content-ID:
Content-Type: IMAGE/PNG; name="attachment_one"
Content-Transfer-Encoding: BASE64
Content-Disposition: inline; filename="attachment_one"
<<< CONTENT >>>
--__BODY__ae1bf252235979603c226dbea697a481
Content-ID:
Content-Type: IMAGE/PNG; name="attachment_two"
Content-Transfer-Encoding: BASE64
Content-Disposition: inline; filename="attachment_two"
<<< CONTENT >>>
--__BODY__ae1bf252235979603c226dbea697a481
Content-ID:
Content-Type: IMAGE/PNG; name="attachment_three"
Content-Transfer-Encoding: BASE64
Content-Disposition: inline; filename="attachment_three"
<<< CONTENT >>>
--__BODY__ae1bf252235979603c226dbea697a481--
--____ae1bf252235979603c226dbea697a481--