Подключаем SwiftMailer к Yii
Рубрика: Мелкие заметки на тему Yii
18 Окт. 2009
Разговор сегодня пойдет про SwiftMailer. Это удобный инструмент для отправки почты из php скрипта. Вы сможете:
- очень легко и просто прикреплять вложения к письму
- посылать сообщения используя SMTP, sendmail, postfix. Поддерживается шифрование паролей
- встроенная защита от иньекций в заголовках и тексте письма
вы больше некогда не вспомните про то, что такое функция mail() в php...
---Сам SwiftMailer может быть установлен в виде пакета на сервер или просто закачен в виде набора php классов. Для простой установки на хост, советовал бы на досуге почитать инструкцию. Список плюсов который я привел - естественно не полный, для более детального изучения инструмента - посмотрите их сайт [англ.]
Говорить мы будем про подключение данного инструмента к Yii.
- Первым делом скачайте SwiftMailer 4.1
- Создайте каталог protected/vendor/swift
- Достаньте с архива папку 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'));
На этом в принципе теоретическая часть заканчивается. Посмотрите код который я привел выше — и попробуйте на нем составить свои примеры.
- Идейный вдохновитель этого материала Marko Bischof и его статья «Mail versenden mit Swift_Mailer und Yii» [нем.]
Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
- Я надеюсь на эту статью обратят внимание люди которые занимаються обучением по моим урокам «Создаем блог вместе». Сегодня я обнаружил ... "Создаем блог вместе : bugfix #1"
- Мы очень рады обьявить о выпуске стабильной версии Yii Framework 1.1.0!
next
Этот релиз играет важную роль в истории разв ... "Стабильная версия Yii Framework 1.1"
- Новое сообщение на официальном сайте поддержки Yii информирует нас про утверждение нового дизайна сайта, логотипа и стиля.
Как сообщает разработчик фреймворка, ... "Новый Yii дизайн"