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



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


Как и в случае с прикрепляемыми файлами, если нам заранее неизвестно, какой тип картинки будет прикреплен, заголовку Content-Type можно присвоить значение application/octet-stream.

Для закрепления этой темы напишем программу, которая отправляет письмо с картинкой:

<?php/*Зададим в переменной $file_name путь до вставляемой картинки.В нашем случае она находится в том же каталоге, что и файл отправки письма. Но вместо этого сюда можно подставитьфайл, полученный сценарием из <INPUT type=file name=file_name>.*/$file_name="5.jpg";$subj="Отправка изображения";$bound="spravkaweb-1234";$headers="From: \"Evgen\" <admin@spravkaweb.ru>\n";$headers.="To: admin@localhost.ru\n";$headers.="Subject: $subj\n";$headers.="Mime-Version: 1.0\n";$headers.="Content-Type: multipart/alternative; boundary=\"$bound\"\n";$body="--$bound\n";$body.="Content-type: text/html; charset=\"windows-1251\"\n";$body.="Content-Transfer-Encoding: 8bit\n\n";$body.="<h3>Привет</h3>Это проба отправки письма с прикрепленной картинкой.<BR>А вот и сама картинка:<BR><img src=\"cid:spravkaweb_img_1\">";$body.="\n\n--$bound\n";$body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\"\n";$body.="Content-Transfer-Encoding:base64\n";$body.="Content-ID: <spravkaweb_img_1>\n\n";$f=fopen($file_name,"rb");$body.=base64_encode(fread($f,filesize($file_name)))."\n";$body.="--$bound--\n\n";mail("admin@localhost.ru", $subj, $body, $headers);?>

Хочу отметить, что аналогичным образом в письмо можно вставлять не только картинки, но, например, flash-ролики, звук, и другие элементы, которые должны подгружаться к странице из файлов.




Содержание  Назад  Вперед