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


Порой бывает необходимо вставить в текст, отправляемого с сайта письма, графическое изображение. Например, рекламный баннер или просто фотографию. Приведенный ниже код сделает это.

function XMail( $from, $to, $subj, $text, $filename) {
$f = fopen($filename,"rb");
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "X-Mailer: PHPMail Tool\n";
$head .= "Reply-To: $from\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;charset=windows-1251\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";

$zag .= "------------".$un."\n";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name=\"".basename($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-ID: <promo>\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";

return @mail("$to", "$subj", $zag, $head);
}
// эта сама функция, которая сгенерирует письмо со вложенным файлом изображения. Этот код можно оставить без изменений.

$pfoto='photos/banner.gif';
// указываем путь к картинке, которую нужно прикрепить.

$txt .= "А вот и картинка:
<img src=\"cid:promo\" alt=\"Картинка" border=0>";
// Это содержание нашего письма. Здесь вы можете писать все, что угодно, но картинка прикрепляется имен так. Слово 'promo' - это идентификатор картинки, он же прописан в самой функции.

Xmail("admin@email.ru","user@email.ru","Заголовок письма",$txt,"$pfoto");
// А вот и вызов этой самой функции.
admin@email.ru - это email, который будет подставлен в заголовок письма в поле "От:".
user@email.ru - это адрес для отправки (Кому).
Заголовок письма - соответственно текст, который будет отображен в поле "Тема письма:"
$txt - содержание письма
$pfoto - прикрепляемая картинка, а точнее путь до нее на сервере, который мы определили выше.

Данная функция применяется в например в скрипте агентства недвижимости, скрипте работы.

Удачи в программировании!

©Невежин Евгений
http://nevius.ru
19.05.2007

При перепечатке информации ссылка на сайт http://nevius.ru обязательна.