Отправка письма с вложением и отправка HTML-письма с вложением существенно отличаются по своей природе. Конечно же, и те и те находятся в теле письма, закодированы в base64, но используемые в обоих случаях заголовки различаются. В данном статье описывается, как отправить HTML-файл с внедренными (в отличие от прикрепленных) изображениями, используя класс Mime_mail. Подразумевается, что предыдущую статью Вы уже прочитали.
<?php include('Mail.php'); include('Mail/mime.php'); $text = 'Text version of email'; $html = 'HTML version of email'; $file = '/tmp/image.jpg'; $crlf = "\r\n"; $hdrs = array( 'From' => 'you@yourdomain.com', 'Subject' => 'Test mime message' ); $mime = new Mail_mime($crlf); $mime->setTXTBody($text); $mime->addHTMLImage ($file, 'image/jpeg'); $mime->setHTMLBody($html); $body = $mime->get(); $hdrs = $mime->headers($hdrs); $mail =& Mail::factory('mail'); $mail->send('postmaster@localhost', $hdrs, $body); ?>
Отличие этого примера от приведенного в предыдущей статье - использование функции addHTMLImage. Она принимает следующие параметры:
- string $data
полный путь к прикрепляемому изображению на сервере либо его содержимое. Обязательный параметр.
- string $c_type
значение заголовка Сontent-type, который будет отправлен. Необязательный параметр, значение по умолчанию: application/octet-stream.
- string $name
имя прикрепляемого изображения. Будет использовано только в случае, если первый параметр ($data) является содержимым файла.
- boolean $isfile
определяет, является ли первый параметр путем к изображению. Необязательный параметр, значение по умолчанию: true.
Аналогично методу addAttachment существует два способа вызова этого метода: в качестве первого параметра можно указывать путь к изображению либо двоичные данные изображения. Во втором случае третий и четвертый параметры являются обязательными.
Особенность этого метода заключается в том, что каждому изображению при помощи заголовка Content-ID: <8820c4185> ставиться в соответствие уникальный ключ. После этого все ссылки на прикрепляемое изображение заменяются ссылками на его ключ. В результате, в пришедшем к получателю письме будет строка вида <IMG src="/cid: 8820c4185">, которую почтовый клиент проанализирует, извлечет содержимое из соответствующей секции письма и "покажет картинку".
Немає коментарів:
Дописати коментар