symfony Отправка почты SMTP (SwiftMailer) - как настроить, пример кода
Primary tabs
Отправка емаил с помощью SwiftMailer из сервиса (Symfony).
Конфигурация в .env выглядит так:
MAILER_URL=smtp://smtp.mail.ru:465?encryption=ssl&username=<адрес почты, которая будет отправлять>&password=<пароль почты, которая будет отправлять>
Код сервиса:
<?php namespace App\Service; use Swift_Mailer; use Swift_Message; use Twig_Environment; class FeedbackMailSender { /** * @var string */ private $adminEmail; /** * @var string */ private $senderEmail; /** * @var Twig_Environment */ private $twig; /** * @var Swift_Mailer */ private $mailer; /** * @param Swift_Mailer $mailer * @param string $adminEmail * @param string $senderEmail * @param Twig_Environment $twig */ public function __construct( Swift_Mailer $mailer, string $adminEmail, string $senderEmail, Twig_Environment $twig ) { $this->adminEmail = $adminEmail; $this->senderEmail = $senderEmail; $this->twig = $twig; $this->mailer = $mailer; } /** * @param string $userName * @param string $userEmail * @param string $userPhone * @param string $userMessage */ public function sendFeedback(string $userName, string $userEmail, string $userPhone, string $userMessage): void { $mail = (new Swift_Message('Feedback Email')) ->setFrom($this->senderEmail) ->setTo($this->adminEmail) ->setBody( $this->twig->render( 'feedback/feedback_email.html.twig', [ 'name' => $userName, 'email' => $userEmail, 'phone' => $userPhone, 'message' => $userMessage, ]), 'text/html'); $this->mailer->send($mail); } }
- Log in to post comments
- 4302 reads