Gmail Api отправляет текст и html в одном письме - PullRequest
0 голосов
/ 26 мая 2018

Почта, отправляющая либо текст, либо html, работает отлично, но когда я отправляю их обоих по одной почте, html приходит как вложение с именем «noname.html», которое содержит html.

Я прочитал другие связанныевопросы по этой теме, но не смог найти, что возможно не так.

MIME-Version: 1.0
From: sender@gmail.com
To: receiver@gmail.com
Subject: test
Content-type: multipart/mixed; boundary="012boundary"

--012boundary
Content-type: text/plain; charset="UTF-8"

Hello plain text!

--012boundary
Content-type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<b>Hello html</b>
--012boundary--`

1 Ответ

0 голосов
/ 26 мая 2018

Вы хотите отправить как текст HTML, так и текст, используя gmail API.Если мое понимание верно, как насчет этой модификации?

От:

Content-type: multipart/mixed; boundary="012boundary"

До:

Content-type: multipart/alternative; boundary="012boundary"

Примечание:

  • Используя multipart/alternative, можно отправить обе части Content-type: text/plain; charset="UTF-8" и Content-type: text/html; charset="UTF-8".

Ссылка:

В моей среде я могу подтвердить, что ваше тело запроса, которое было изменено на multipart/alternative, сработало.Если это не сработало в вашей среде, извините.

Редактировать:

Чтобы отправить текстовое тело, тело HTML и файл вложения HTML как одно электронное письмо,Структура тела запроса может быть создана следующим образом.

  • multipart / mixed
    • multipart / alternative
      • text / plain
      • text / html
    • text / html (файл вложений)

Пример тела запроса:

MIME-Version: 1.0
From: sender@gmail.com
To: receiver@gmail.com
Subject: test
Content-Type: multipart/mixed; boundary=012boundary01

--012boundary01
Content-Type: multipart/alternative; boundary=012boundary02

--012boundary02
Content-type: text/plain; charset=UTF-8

Hello plain text!

--012boundary02
Content-type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<b>Hello html</b>

--012boundary02--
--012boundary01
Content-type: text/html; charset=UTF-8
Content-Disposition: attachment; filename="sample.html"
Content-Transfer-Encoding: quoted-printable

<b>HTML sample attachment file</b>
--012boundary01--

Ссылки:

...