remove Mailer, add SwiftMailer, fix password recover request

This commit is contained in:
2021-02-03 15:45:29 +01:00
parent 01e93f7ba3
commit 2fee88bfce
3 changed files with 69 additions and 30 deletions

View File

@@ -22,13 +22,15 @@ use Psr\Log\LoggerInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Component\Translation\TranslatorInterface;
use Twig\Environment;
/**
* Class Mailer
* Classe d'aide pour l'envoi de notification.
*
* Héberge toutes les méthodes pour ré-écrire les URL en fonction de la langue
* de l'utilisateur.
* Héberge toutes les méthodes pour ré-écrire les URL en fonction de la langue de l'utilisateur.
*
* @package Chill\MainBundle\Notification
*/
class Mailer
{
@@ -38,45 +40,49 @@ class Mailer
protected $logger;
/**
*
* @var \Twig\Environment
*/
protected $twig;
/**
*
* @var \Swift_Mailer
*/
protected $mailer;
/**
*
* @var \Swift_Mailer
*/
protected $forcedMailer;
/**
*
* @var RouterInterface
*/
protected $router;
/**
*
* @var TranslatorInterface
*/
protected $translator;
/**
*
* @var array
*/
protected $routeParameters;
/**
* Mailer constructor.
*
* @param LoggerInterface $logger
* @param Environment $twig
* @param \Swift_Mailer $mailer
* @param RouterInterface $router
* @param TranslatorInterface $translator
* @param $routeParameters
*/
public function __construct(
LoggerInterface $logger,
\Twig\Environment $twig,
MailerInterface $mailer,
Environment $twig,
\Swift_Mailer $mailer,
// due to bug https://github.com/symfony/swiftmailer-bundle/issues/127
// \Swift_Transport $mailerTransporter,
RouterInterface $router,
@@ -86,12 +92,11 @@ class Mailer
$this->logger = $logger;
$this->twig = $twig;
$this->mailer = $mailer;
//$this->forcedMailer = new \Swift_Mailer($mailerTransporter);
$this->router = $router;
$this->translator = $translator;
$this->routeParameters = $routeParameters;
//$this->forcedMailer = new \Swift_Mailer($mailerTransporter);
}
/**
* Envoie une notification à un utilisateur.
@@ -140,6 +145,11 @@ class Mailer
$this->sendMessage($message, $force);
}
/**
* @param \Swift_Message $message
* @param $force
* @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface
*/
public function sendMessage(\Swift_Message $message, $force)
{
if ($force) {
@@ -149,6 +159,15 @@ class Mailer
}
}
/**
* @param User $to
* @param $template
* @param array $parameters
* @return string
* @throws \Twig\Error\LoaderError
* @throws \Twig\Error\RuntimeError
* @throws \Twig\Error\SyntaxError
*/
public function renderContentToUser(User $to, $template, array $parameters = array())
{
$context = $this->router->getContext();