Подтвердить что ты не робот

Как создать электронное письмо со встроенными изображениями, совместимое с большинством почтовых клиентов

Мы создали систему, которая позволяет внедрять изображение в исходящую электронную почту.

Вот исходное сообщение, созданное нашей системой. Этот пример содержит вложение изображения и встроенное изображение.

Mime-Version: 1.0
From: ...
To: ...
CC: 
Subject: test
x-sender: ...
x-mailer: ...
Content-Type: multipart/mixed; boundary="-------------...A128803765634794"

---------------...A128803765634794
Content-Type: multipart/related; boundary="-------------...B128803765634796"

---------------...B128803765634796
Content-Type: text/html; charset="UTF-8"

<p style="margin: 0; padding: 0"><img src="cid:083.gif" alt="" /></p>

---------------...B128803765634796
Content-type: image/gif; name="083.gif"
Content-ID: <083.gif>
X-Attachment-Id: 083.gif
Content-Disposition: Embedded; filename="083.gif"
Content-transfer-encoding: base64

............................................................................
............................................................................
......................................................
---------------PineappleCodeB128803765634796--
---------------PineappleCodeA128803765634794
Content-type: image/gif; name="waiting.gif"
Content-Disposition: Attachment; filename="waiting.gif"
Content-transfer-encoding: base64

............................................................................
............................................................................
......................................................
---------------PineappleCodeA128803765634794--

Есть ли другой заголовок, который я должен добавить или правильнее, чтобы я следовал?

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

Когда письмо отправлено в Gmail, я получаю

Изображения не отображаются.
Отображать изображения ниже - Всегда показывать изображения с...

Затем внедренное изображение показано как вложение изображения (так же как и мое другое вложение изображения)

Я нажимаю "Отображать изображения ниже", и мое изображение отображается в теле письма, но не удаляется из раздела "Вложения".

Если я вернусь в свою коробку и вернусь к электронной почте, она будет выглядеть нормально.

Я не понимаю, почему это так. Это не связанное изображение (с внешнего URL), и это не происходит при отправке встроенных изображений из Gmail в Gmail. Именно это заставляет меня думать, что я могу что-то делать неправильно, и я боюсь, что это может повлиять на других получателей.

4b9b3361

Ответ 1

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

Ответ 2

У меня возникли проблемы с загрузкой встроенных изображений в Gmail, и я обнаружил, что неправильно использовал библиотеку PEAR Mail_Mime в PHP. Как уже отмечалось, Content-ID должен быть отформатирован как идентификатор сообщения. Библиотека PEAR Mail_Mime попытается добавить идентификатор домена в свой Content-ID, если он не указан. Он также попытается выполнить повторное выражение, заменив этот Content-ID в теге HTML письма, чтобы сохранить ссылку. В моем случае этот шаг был неудачным, что привело к разрыву ссылки из тега HTML в MIME-приложение. Поэтому Gmail отказывался отображать встроенный образ. Однако он отображал изображение как приложение.