Каков правильный способ создания HTML-E-mail с встроенными вложениями и не встроенными вложениями?HTML-электронная почта с встроенными вложениями и не встроенными вложениями
Кроме того, пожалуйста, сообщите мне, какой Content-Type использовать только с встроенными вложениями и только с не встроенными вложениями.
До сих пор я не сделал это так:
MIME-Version: 1.0
[some more headers]
Content-type: multipart/mixed;
boundary="myboundary"
--myboundary
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
[html with img cid:my_image]
--myboundary
Content-Type: image/png;
name="my_image.png"
Content-Transfer-Encoding: base64
Content-ID: <my_image>
Content-Disposition: inline;
filename="my_image.png"
[base64 image data]
--myboundary
Content-type:application/pdf;
name="my_pdf.pdf"
Content-length:1150
Content-Transfer-Encoding: base64
Content-ID: <my_pdf.pdf>
Content-Disposition: attachment;
filename="my_pdf.pdf"
[base64 pdf data]
--myboundary--
Почта хорошо выглядит в перспективе. Но я заметил, что Thunderbird не отображает мое встроенное изображение и показывает вместо него 2 вложения («Мой образ и мой PDF»). Поэтому я сделал некоторую отладку и заметил, что встроенные изображения должны быть отправлены через Content-Type: multipart/related
.
Таким образом, я изменил Content-Type: multipart/mixed
на Content-Type: multipart/related
, и Thunderbird отобразило его правильно: изображение показано в html и одном приложении, отображается PDF.
Я не уверен, что это правильное решение, хотя оно работает. Правильно ли использовать multipart/related
(в случае, если у меня есть встроенные и не встроенные вложения, в случае, если у меня есть только встроенные вложения и в случае, если у меня есть только не встроенные вложения)?
Или это правильный способ использования одной границы типа, связанной с разделением встроенных вложений и другой границей смешанного типа, чтобы разделить нестрочные вложения?
Я надеюсь, что вы можете предоставить мне образец для
- Email с инлайн только вложения
- Email с не инлайн только вложения
- электронной почты с помощью встроенных и без встроенных приложений
Я написал ответ с на подобный вопрос и создана ascii art, чтобы объяснить ответ: http://stackoverflow.com/a/40420648/633961 – guettli