diff --git a/src/Bundle/ChillMainBundle/Notification/Mailer.php b/src/Bundle/ChillMainBundle/Notification/Mailer.php index 2607f1ffb..5bf00be8d 100644 --- a/src/Bundle/ChillMainBundle/Notification/Mailer.php +++ b/src/Bundle/ChillMainBundle/Notification/Mailer.php @@ -13,8 +13,9 @@ namespace Chill\MainBundle\Notification; use Chill\MainBundle\Entity\User; use Psr\Log\LoggerInterface; -use Swift_Mailer; use Swift_Message; +use Symfony\Component\Mailer\MailerInterface; +use Symfony\Component\Mime\Email; use Symfony\Component\Routing\RouterInterface; use Symfony\Contracts\Translation\TranslatorInterface; use Twig\Environment; @@ -29,40 +30,19 @@ use function call_user_func; */ class Mailer { - /** - * @var Swift_Mailer - */ - protected $forcedMailer; + protected MailerInterface $forcedMailer; - /** - * @var LoggerInterface - */ - protected $logger; + protected LoggerInterface $logger; - /** - * @var Swift_Mailer - */ - protected $mailer; + protected MailerInterface $mailer; - /** - * @var array - */ - protected $routeParameters; + protected array $routeParameters; - /** - * @var RouterInterface - */ - protected $router; + protected RouterInterface $router; - /** - * @var TranslatorInterface - */ - protected $translator; + protected TranslatorInterface $translator; - /** - * @var \Twig\Environment - */ - protected $twig; + protected Environment $twig; /** * Mailer constructor. @@ -72,7 +52,7 @@ class Mailer public function __construct( LoggerInterface $logger, Environment $twig, - Swift_Mailer $mailer, + MailerInterface $mailer, // due to bug https://github.com/symfony/swiftmailer-bundle/issues/127 // \Swift_Transport $mailerTransporter, RouterInterface $router, @@ -120,12 +100,12 @@ class Mailer * * @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface */ - public function sendMessage(Swift_Message $message, $force) + public function sendMessage(Email $email, $force) { if ($force) { - $this->forcedMailer->send($message); + $this->forcedMailer->send($email); } else { - $this->mailer->send($message); + $this->mailer->send($email); } } @@ -146,7 +126,7 @@ class Mailer $force = false ) { $fromEmail = $this->routeParameters['from_email']; - $fromName = $this->routeParameters['from_name']; + // $fromName = $this->routeParameters['from_name']; $to = $recipient instanceof User ? $recipient->getEmail() : $recipient; $subjectI18n = $this->translator->trans( @@ -155,12 +135,13 @@ class Mailer $subject[2] ?? null ); - $message = (new Swift_Message($subjectI18n)) - ->setFrom($fromEmail, $fromName) - ->setTo($to); + $message = (new Email()); + $message->subject($subjectI18n); + $message->to($to); + $message->from($fromEmail); foreach ($bodies as $contentType => $content) { - $message->setBody($content, $contentType); + $message->text($content); } if (null !== $callback) { diff --git a/src/Bundle/ChillMainBundle/config/services/notification.yaml b/src/Bundle/ChillMainBundle/config/services/notification.yaml index bb0b6bb8c..9343e46fd 100644 --- a/src/Bundle/ChillMainBundle/config/services/notification.yaml +++ b/src/Bundle/ChillMainBundle/config/services/notification.yaml @@ -12,7 +12,7 @@ services: arguments: $logger: '@Psr\Log\LoggerInterface' $twig: '@Twig\Environment' - $mailer: '@swiftmailer.mailer.default' + $mailer: '@Symfony\Component\Mailer\MailerInterface' # $mailerTransporter: '@swiftmailer.transport' $router: '@Symfony\Component\Routing\RouterInterface' $translator: '@Symfony\Contracts\Translation\TranslatorInterface'