Отправить email с помощью Swiftmailer в SIlex
Для того, чтобы отправить сообщение электронной почты в микрофреймворке silex используюя Swiftmailer, используем следующий способ.
Так же можно подключить вывод логов отправки письма
//Подключается класс Response use Symfony\Component\HttpFoundation\Response; //Вызывается метод post приложения в который передаётся бызымянная функция с сообщением $app->post('/sendmail', function () use ($app) { $request = $app['request']; $app->register(new Silex\Provider\SwiftmailerServiceProvider()); $transporter = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls') ->setUsername('user@example.com') ->setPassword('password'); $app['mailer'] = Swift_Mailer::newInstance($transporter); $message = \Swift_Message::newInstance() ->setSubject('Тема письма') ->setFrom(array('noreply@example.com')) ->setTo(array('user@example.com')) ->setBody('Тело сообщения'); $app['mailer']->send($message); return new Response('Сообщение отправлено', 201); });
//Логирование отправки письма $logger = new Swift_Plugins_Loggers_ArrayLogger(); $app['mailer']->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); // Вывод логов $logger = new Swift_Plugins_Loggers_EchoLogger(); $app['mailer']->registerPlugin(new Swift_Plugins_LoggerPlugin($logger)); print $logger->dump();
Добавить комментарий