Как отправить Multipart HTML, обычный текст и вложения с функцией почты PHP? - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь отправить 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--
...