gamark писал(а):а что хорошего в свифте? есть какие-то сложности с интеграцией?
Свежее и качественнее реализация, имхо. Как минимум он корректно возвращает ошибки, а не выводит их
Интегрировать проще простого. Вот инструкция:
1. кидаешь Swift Mailer в какую-нибудь папку на сервере, можно и extensions, но я клал в отдельную от приложения;
2. прописываешь вверху конфига main.php (можно в index.php в корне, как больше нравится) что-то вроде:
Код: Выделить всё
// SwiftMailer include start
spl_autoload_unregister(array('YiiBase', 'autoload'));
require_once ('SwiftMailer/swift_required.php');
spl_autoload_register(array('YiiBase', 'autoload'));
// SwiftMailer include end
3. после чего можно сделать какой-то общий метод типа этого:
Код: Выделить всё
public static function sendEmail($email, $subject, $message)
{
try
{
// Mail.ru
$transport = Swift_SmtpTransport::newInstance('smtp.mail.ru', 25)
->setUsername('[email protected]')
->setPassword('password');
/* // Gmail
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername('[email protected]')
->setPassword('password');
*/
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array('[email protected]' => 'Username'))
->setTo(array($email))
->setBody($message, 'text/html', 'utf-8');
if (!$mailer->send($message))
{
die('error'); // это для примера
}
}
catch (Exception $e)
{
die('error'); // это для примера
}
}
4. ну или соответственно юзать в любом другом методе.
Вроде ничего сложного
В примере используется метод отправки через SMTP.