swiftmailer replaced by mailerinterface

This commit is contained in:
Julie Lenaerts 2022-07-25 15:41:44 +02:00
parent 54ffa999d8
commit 941d7b0352
2 changed files with 20 additions and 39 deletions

View File

@ -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) {

View File

@ -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'