Я использую API GMail для отправки электронной почты MIME. Текстовая часть письма всегда восстанавливается из HTML-части.
Я пробовал различные варианты MIME и того, как я структурирую заголовки. Другой человек сообщил об этой проблеме несколько лет назад:
Gmail API заменяет текстовую или обычную альтернативную часть тела автоматически сгенерированной из HTML
Сообщение отображается правильно в GMailИнтерфейс «Отправленные» элементы, если я просматриваю оригинал сообщения. Однако сообщение прибывает в пункт назначения с заменой текстовой части на HTML-часть. Я проверил его с несколькими направлениями, включая Yahoo Mail.
Соответствующая часть входного многокомпонентного сообщения:
--0000000000d81f74059447a2ad02
Content-type: text/plain; charset=UTF-8
Hello plain text
--0000000000d81f74059447a2ad02
Content-type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<b>Hello html</b>
--0000000000d81f74059447a2ad02--
Просмотр необработанного сообщения на цели (Yahoo Mail) показывает следующее:
--00000000000046bd1105948482e9
Content-Type: multipart/alternative; boundary="00000000000046bd0e05948482e7"
--00000000000046bd0e05948482e7
Content-Type: text/plain; charset="UTF-8"
*Hello html*
--00000000000046bd0e05948482e7
Content-Type: text/html; charset="UTF-8"
<b>Hello html</b>
--00000000000046bd0e05948482e7--
Вотполный тестовый пример,
https://gist.github.com/borisreitman/448e2699c267221ebbf430b64346baaa
Обратите внимание, что текстовая часть теперь содержит "Hello html" вместо оригинального "Hello plain text".