встраивание изображения в HTML письмо - PullRequest
98 голосов
/ 15 июля 2011

Я пытаюсь отправить составное / связанное html-письмо со встроенными изображениями в формате gif. Это электронное письмо создано с использованием Oracle PL / SQL. Мои попытки не увенчались успехом: изображение отображается в виде красной буквы X (в Outlook 2007 и Yahoo Mail)

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

Итак, мои мысли - встроить изображение. Мои вопросы:

  1. Что я здесь не так делаю?
  2. Является ли подход встраивания правильным?
  3. Любые другие варианты, если мне нужно использовать все больше и больше изображений? Вложения не будут работать, поскольку изображения, как правило, представляют собой логотипы и значки, которые не имеют смысла вне контекста сообщения. Кроме того, некоторые элементы электронной почты являются ссылками в онлайновой системе, поэтому создание статического PDF-файла и присоединение не будут работать (насколько мне известно).

сниппет:

MIME-Version: 1.0
To: me@gmail.com
BCC: me@yahoo.com
From: email@yahoo.com
Subject: Test
Reply-To: email@yahoo.com
Content-Type: multipart/related; boundary="a1b2c3d4e3f2g1"

--a1b2c3d4e3f2g1

content-type: text/html;

    <html>
    <head><title>My title</title></head>
    <body>
    <div style="font-size:11pt;font-family:Calibri;">
    <p><IMG SRC="cid:my_logo" alt="Logo"></p>

... more html here ...

</div></body></html> 

--a1b2c3d4e3f2g1

Content-Type: image/gif;
Content-ID:<my_logo>
Content-Transfer-Encoding: base64
Content-Disposition: inline

[base64 image data here]

--a1b2c3d4e3f2g1--

Большое спасибо.

Кстати: да, я проверил, что данные base64 верны, так как я могу встроить изображение в сам html (используя тот же самый алгоритм использования для создания данных заголовка) и увидеть изображение в Firefox / IE.

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

Ответы [ 11 ]

0 голосов
/ 25 мая 2015

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

  1. Открыть MS Word
  2. Скопируйте изображение на пустую страницу
  3. Добавить гиперссылку на изображение (Ctrl + K)
  4. Скопируйте изображение на вашу электронную почту
...