email вложения

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
gustav
Сообщения: 56
Зарегистрирован: 2013.01.20, 16:52
Откуда: Ташкент
Контактная информация:

email вложения

Сообщение gustav »

Здравствуйте. Как прочесть и отобразить письмо в HTML формате с картинками (картинки прикреплены к письму). В Outlook вместо картинок пустые квадраты. Картинки показываются внизу в виде вложений. Пользуюсь Zend mail.
Аватара пользователя
flashimage
Сообщения: 1517
Зарегистрирован: 2011.01.23, 12:43

Re: email вложения

Сообщение flashimage »

Делайте письмо в html, картинки вставляйте тегом <img>, с линком на ваш хост, где они лежат или вставляйте картинки прямо в тело письма http://www.spravkaweb.ru/php/sovet/mail/image
Бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
gustav
Сообщения: 56
Зарегистрирован: 2013.01.20, 16:52
Откуда: Ташкент
Контактная информация:

Re: email вложения

Сообщение gustav »

Вот мой код. Кто знает в чем ошибка?

Код: Выделить всё

      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>Ну а этот&nbsp;&mdash; и подавно.</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 вложения

Сообщение lancecoder »

здесь от Yii тока 1 строка :-D
gustav
Сообщения: 56
Зарегистрирован: 2013.01.20, 16:52
Откуда: Ташкент
Контактная информация:

Re: email вложения

Сообщение gustav »

Я пользуюсь модулем Zend Mail. А как вы формируете email вложения?
Dismal
Сообщения: 247
Зарегистрирован: 2011.10.16, 13:25

Re: email вложения

Сообщение Dismal »

С 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);
 
sergo
Сообщения: 23
Зарегистрирован: 2012.10.23, 15:26
Откуда: Россия

Re: email вложения

Сообщение sergo »

картинки вставляйте тегом <img>, с линком на ваш хост, где они лежат или вставляйте картинки прямо в тело письма
Сервер пожалейте -- ему от хотлинков может и поплохеть.
Хорошей практикой будет прикреплять картинки к письму через attachment
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: email вложения

Сообщение lancecoder »

sergo писал(а):
картинки вставляйте тегом <img>, с линком на ваш хост, где они лежат или вставляйте картинки прямо в тело письма
Сервер пожалейте -- ему от хотлинков может и поплохеть.
Хорошей практикой будет прикреплять картинки к письму через attachment
трафик пожалейте и как минимум юзер будет ждать пока не отправится картинка - очереди конечно решат эту проблему, но это уже другая история ;)
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: email вложения

Сообщение lancecoder »

по сути, что при отправке ее подгружать, что при просмотре письма, одна и та же шляпа - вид с боку
Аватара пользователя
greatdane
Сообщения: 408
Зарегистрирован: 2010.10.20, 14:05
Откуда: Электросталь
Контактная информация:

Re: email вложения

Сообщение greatdane »

sergo писал(а): Сервер пожалейте -- ему от хотлинков может и поплохеть.
Хорошей практикой будет прикреплять картинки к письму через attachment
Хорошая практика — отдавать статику nginx'ом. А ему вряд ли поплохеет от такой ерунды, как хотлинки на картинки в письмах.
sergo
Сообщения: 23
Зарегистрирован: 2012.10.23, 15:26
Откуда: Россия

Re: email вложения

Сообщение sergo »

greatdane писал(а):
sergo писал(а): Сервер пожалейте -- ему от хотлинков может и поплохеть.
Хорошей практикой будет прикреплять картинки к письму через attachment
Хорошая практика — отдавать статику nginx'ом. А ему вряд ли поплохеет от такой ерунды, как хотлинки на картинки в письмах.
с точки зрения принципа работы email через pop3/smtp -- подключился, скачал, отключился, работаешь с почтой локально -- надо бы использовать аттач. Тогда все картинки лежат на своём компе.

Если линковать на сервере -- картинки в письме будут недоступны при отсутствии интернета. Интернет не всегда и не везде бывает безлимитный, Москва -- это не вся евразия.
Ответить