Intereting Posts

Symfony 2: как отправить электронное письмо с помощью Swiftmailer

Я пытаюсь отправить электронные письма с помощью Swiftmailer с Symfony 2.

Это простая функция в контроллере

public function sendEmailAction() { $name = 'Test'; $mailer = $this->get('mailer'); $message = $mailer->createMessage() ->setSubject('Ciao') ->setFrom('send@example.com') ->setTo('recipient@example.com') ->setBody($this->renderView('dashboard/email.html.twig',array('name' => $name)), 'text/html'); $mailer->send($message); return $this->redirectToRoute('dashboard'); 

В параметрах.yml у меня есть следующая конфигурация

 parameters: database_host: 127.0.0.1 database_port: null database_name: symfony database_user: root database_password: null mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null secret: e23a8d7b075fa3c7e56b10186a24cf2790a3169a 

И это config.yml one

 # Swiftmailer Configuration swiftmailer: transport: "%mailer_transport%" host: "%mailer_host%" username: "%mailer_user%" password: "%mailer_password%" spool: { type: memory } 

К сожалению, я не могу отправлять электронные письма …

Пожалуйста, ознакомьтесь с документацией «Как отправить электронное письмо»

Swift Mailer предоставляет ряд методов для отправки электронной почты, в том числе с использованием SMTP-сервера, с использованием локальной установки sendmail или даже с использованием учетной записи GMail.

Пример с почтовым транспортом

 mailer_transport: mail mailer_host: 127.0.0.1 mailer_user: null mailer_password: null 

Пример с smtp

 mailer_transport: smtp mailer_encryption: ssl mailer_auth_mode: login mailer_host: smtp.gmail.com mailer_user: your@gmail.com mailer_password: ******* 

Пример с sendmail : прочитайте это

 mailer_transport: sendmail mailer_host: /usr/bin/sendmail # wherever your mail is #mailer_user: ~ #mailer_password: ~ 

Пример с учетной записью GMail

 mailer_transport: gmail mailer_encryption: ssl mailer_auth_mode: login mailer_host: smtp.gmail.com mailer_user: your@gmail.com mailer_password: ******* 

И используйте его вот так:

  $message = \Swift_Message::newInstance() ->setSubject('Hello Email') ->setFrom('from@example.com') ->setTo('to@example.com') ->setBody( $this->renderView( 'HelloBundle:Hello:email.txt.twig', array('name' => $name) ) ) ; $this->get('mailer')->send($message);