DbHelp.ru
Маленький Yii блог
Комментарии
zolter: Ваши голоса за статью - стимулируют написание новых!
Женя: Спасибо за ответ :)
San: Хорошая новость.
zolter: Так что тут уже зависит от нагрузки самого проекта. Когда хостер начнет просить переходить на тарифы...
zolter: Я использую обычный хостинг. Притом у меня часть сайтов на нашем хостере, часть на зарубежном - и та...


Подключаем SwiftMailer к Yii

Рубрика: Мелкие заметки на тему Yii

Оцените эту статью:

Рейтинг: 0.00 (0)
18 Окт. 2009

Yii Framework Blog img http://dbhelp.rulogo Разговор сегодня пойдет про SwiftMailer. Это удобный инструмент для отправки почты из php скрипта. Вы сможете:

 

  1. очень легко и просто прикреплять вложения к письму
  2. посылать сообщения используя SMTP, sendmail, postfix. Поддерживается шифрование паролей
  3. встроенная защита от иньекций в заголовках и тексте письма

вы больше некогда не вспомните про то, что такое функция mail() в php...

---

Сам SwiftMailer может быть установлен в виде пакета на сервер или просто закачен в виде набора php классов. Для простой установки на хост, советовал бы на досуге почитать инструкцию. Список плюсов который я привел - естественно не полный, для более детального изучения инструмента - посмотрите их сайт [англ.]

 

Говорить мы будем про подключение данного инструмента к Yii.

  1. Первым делом скачайте SwiftMailer 4.1
  2. Создайте каталог protected/vendor/swift
  3. Достаньте с архива папку lib, и перенесите её содержимое в protected/vendor/swift

Если бы мы не использовали Yii, то четвертым пунктом был бы запуск следующего кода для проверки:

function sendHtmlMail($from, $to, $subject, $body, $attachments = array()) {
    require_once 'lib/swift_required.php';
 
    $message = Swift_Message::newInstance()
      ->setSubject($subject)
      ->setFrom($from)
      ->setTo($to)
      ->setBody($body, 'text/html');
 
    $transport = Swift_SmtpTransport::newInstance('host', 25)
      ->setUsername('username')
      ->setPassword('password');
 
    $mailer = Swift_Mailer::newInstance($transport);
    return $mailer->send($message);
}
 
var_dump(sendHtmlMail("fromMailAddress", "toMailAddress", "subject", "body"));

Для работы с Yii, нам достаточно изменить строчку:

require_once 'lib/swift_required.php';

на:

spl_autoload_unregister(array('YiiBase','autoload'));
Yii::import('application.vendor.swift.swift_required', true);
spl_autoload_register(array('YiiBase','autoload'));

На этом в принципе теоретическая часть заканчивается. Посмотрите код который я привел выше — и попробуйте на нем составить свои примеры.

 

 



Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
Другие yii статьи:

  1. Я надеюсь на эту статью обратят внимание люди которые занимаються обучением по моим урокам «Создаем блог вместе». Сегодня я обнаружил ... "Создаем блог вместе : bugfix #1"

  2. Мы очень рады обьявить о выпуске стабильной версии Yii Framework 1.1.0! next Этот релиз играет важную роль в истории разв ... "Стабильная версия Yii Framework 1.1"

  3. Новое сообщение на официальном сайте поддержки Yii информирует нас про утверждение нового дизайна сайта, логотипа и стиля. Как сообщает разработчик фреймворка, ... "Новый Yii дизайн"

Оставить комментарий


Код:
Имя: