Cid в изображениях не работает при отправке почты со встроенными изображениями - PullRequest
0 голосов
/ 31 мая 2018

У меня есть тело письма со встроенным изображением, установленным следующим образом:

<img src="cid:<<content-id>>">

Я использую nodemailer для отправки почты.У меня также есть относительный URL-адрес изображения.Но изображение не отображается в Outlook.Похоже, cid не работает с последними версиями Outlook.

Другие параметры?

Возможно ли получить base64 изображения в nodejs.Я видел пример с canvas и xmlhttprequest, но это невозможно сделать в узле без использования внешних модулей, которые я не хочу.

Какие-либо решения, пожалуйста?

1 Ответ

0 голосов
/ 07 сентября 2018

Используя пример, если ваше свойство html:

<p><img src="cid:c001" /></p>

, тогда свойство attachments должно быть следующим:

[ { path: "data:image/gif;base64,...image data here....",
     cid: "c001"
} ]

Для дополнительных встроенных изображений простодобавьте их в массив attachments.

Выше будет сгенерировано письмо следующим образом:

Content-Type: multipart/alternative; boundary="s1"

--s1
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

    ...the (plain)`text` part of your message
--s1
Content-Type: multipart/related; type="text/html"; boundary="s2"

--s2
Content-Type: text/html

<p><img src="cid:c001" /></p>
--s2

Content-Type: image/gif; name=attachment-1.gif
Content-ID: <c001>
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=attachment-1.gif

...image data here....
--s2
--s1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...