email вложения
email вложения
Здравствуйте. Как прочесть и отобразить письмо в HTML формате с картинками (картинки прикреплены к письму). В Outlook вместо картинок пустые квадраты. Картинки показываются внизу в виде вложений. Пользуюсь Zend mail.
- flashimage
- Сообщения: 1517
- Зарегистрирован: 2011.01.23, 12:43
Re: email вложения
Делайте письмо в html, картинки вставляйте тегом <img>, с линком на ваш хост, где они лежат или вставляйте картинки прямо в тело письма http://www.spravkaweb.ru/php/sovet/mail/image
Бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
Re: email вложения
Вот мой код. Кто знает в чем ошибка?
Код: Выделить всё
Yii::import('application.vendors.*');
require "Zend/Mail.php";
$mail = new Zend_Mail('UTF-8');
$filename = Yii::app()->getBaseUrl(true).'/media/ball.png';
$mail->setType(Zend_Mime::MULTIPART_RELATED);
$at = $mail->createAttachment(file_get_contents($filename));
$at->type = 'image/png';
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding = Zend_Mime::ENCODING_BASE64;
$at->id = 'cid_' . md5_file($filename);
$mail->setBodyHtml("<body>
<p>
<img src=\"<?php 'cid:' . $at->id ?>\" title=\"Шар с игрой света и тени\" style=\"width: 156px; height: 114px; border: solid 1px #ccc; margin: 0px 20px 20px 0px; float: left\"/>
Текст этого абзаца обтекает изображение.</p>
<p>Текст этого абзаца тоже будет обтекать картинку.</p>
<p style=\"clear: left\">А этот абзац уже не обтекает рисунок.</p>
<p>Ну а этот — и подавно.</p>
</body>", 'UTF-8', Zend_Mime::ENCODING_8BIT);
$mail->setHeaderEncoding(Zend_Mime::ENCODING_QUOTEDPRINTABLE);
$mail->addTo("alexander@example.com", "Alexander Makarov");
$mail->setFrom("robot@example.com", "Robot");
$mail->setSubject("Zend_Mail");
$mail->send();
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: email вложения
здесь от Yii тока 1 строка
Re: email вложения
Я пользуюсь модулем Zend Mail. А как вы формируете email вложения?
Re: email вложения
С Zend_mail не работал. Но, если решите поменять библиотеку, в YiiMailMessage (на базе SwiftMailer) работает так:
Код: Выделить всё
$message = new YiiMailMessage;
$message->addTo('client@mail.ru');
$message->from = 'info@mail.com';
$message->setSubject('Subject');
$body = 'Hello!';
$message->setBody($body);
$message->attach(Swift_Attachment::fromPath('images/image.jpg'));
Yii::app()->mail->send($message);
Re: email вложения
Сервер пожалейте -- ему от хотлинков может и поплохеть.картинки вставляйте тегом <img>, с линком на ваш хост, где они лежат или вставляйте картинки прямо в тело письма
Хорошей практикой будет прикреплять картинки к письму через attachment
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: email вложения
трафик пожалейте и как минимум юзер будет ждать пока не отправится картинка - очереди конечно решат эту проблему, но это уже другая историяsergo писал(а):Сервер пожалейте -- ему от хотлинков может и поплохеть.картинки вставляйте тегом <img>, с линком на ваш хост, где они лежат или вставляйте картинки прямо в тело письма
Хорошей практикой будет прикреплять картинки к письму через attachment
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: email вложения
по сути, что при отправке ее подгружать, что при просмотре письма, одна и та же шляпа - вид с боку
- greatdane
- Сообщения: 408
- Зарегистрирован: 2010.10.20, 14:05
- Откуда: Электросталь
- Контактная информация:
Re: email вложения
Хорошая практика — отдавать статику nginx'ом. А ему вряд ли поплохеет от такой ерунды, как хотлинки на картинки в письмах.sergo писал(а): Сервер пожалейте -- ему от хотлинков может и поплохеть.
Хорошей практикой будет прикреплять картинки к письму через attachment
Re: email вложения
с точки зрения принципа работы email через pop3/smtp -- подключился, скачал, отключился, работаешь с почтой локально -- надо бы использовать аттач. Тогда все картинки лежат на своём компе.greatdane писал(а):Хорошая практика — отдавать статику nginx'ом. А ему вряд ли поплохеет от такой ерунды, как хотлинки на картинки в письмах.sergo писал(а): Сервер пожалейте -- ему от хотлинков может и поплохеть.
Хорошей практикой будет прикреплять картинки к письму через attachment
Если линковать на сервере -- картинки в письме будут недоступны при отсутствии интернета. Интернет не всегда и не везде бывает безлимитный, Москва -- это не вся евразия.