Справочник по PHP


Как вставить в письмо картинку


Допустим, у нас задача - вставить в письмо, отправляемое с сайта пользователю, свой баннер (кнопку).

Сделать это можно двумя способами:


Первый - в HTML-коде письма указываем адрес картинки как на простой страничке <IMG src="http://spravkaweb.ru/img/88x31.gif">

В этом случае, если пользователь читает ваше письмо online, картинка благополучно загрузится с указанного сервера и отобразится в письме. Но если пользователь не в online, картинка загрузиться не сможет.


Второй способ - это поместить картинку в само письмо как прикрепленный файл (более подробно о прикреплении файлов к письму читайте здесь), присвоить этому файлу уникальный идентификатор, а затем в теле письма при указании адреса картинки сослаться на этот идентификатор.


Таким образом, в письмо можно вставлять не только изображения, но и flash-ролики, музыку, элементы ActiveX.


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


Чтобы присвоить идентификатор картинке, надо в разделе письма, где она располагается, поместить следующий заголовок:

 

 

Content-ID: <идентификатор>

где идентификатор является строкой, которая будет уникальной для данного письма (по примеру параметра boundary заголовка Content-Type).

Теперь в самом письме можно в адресе картинки подставлять ее идентификатор.

<IMG src="cid:идентификатор">

Почтовая программа проанализирует его, извлечет из соответствующей секции картинку и покажет ее.

Вот как может выглядеть письмо:

Date: Sat, 13 Mar 2004 09:56:31 -0300Subject: Отправка изображенияFrom: "Evgen" <admin@spravkaweb.ru>To: admin@localhost.ruSubject: Отправка изображенияMime-Version: 1.0Content-Type: multipart/alternative; boundary="spravkaweb-1234" --spravkaweb-1234Content-type: text/html; charset="windows-1251"Content-Transfer-Encoding: 8bit <h3>Привет</h3>Это проба отправки письма с прикрепленной картинкой.<BR>А вот и сама картинка:<BR><img src="cid:spravkaweb_img_1"> --spravkaweb-1234Content-Type: image/jpeg; name="5.jpg"Content-Transfer-Encoding:base64Content-ID: <spravkaweb_img_1> /9j/4AAQSkZJRgABAQAAAQABAAD/2wBD ....--spravkaweb-1234--




Начало  Назад  Вперед



Книжный магазин