src/EventSubscriber/FailedMessageSubscriber.php line 31
<?phpnamespace App\EventSubscriber;use Psr\Log\LoggerInterface;use Symfony\Bridge\Twig\Mime\TemplatedEmail;use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\Mailer\MailerInterface;use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;use Symfony\Component\Mime\Address;class FailedMessageSubscriber implements EventSubscriberInterface{private MailerInterface $mailer;private ParameterBagInterface $params;public function __construct( MailerInterface $mailerInterface, LoggerInterface $logger, ParameterBagInterface $params){$this->mailer = $mailerInterface;$this->params = $params;}public static function getSubscribedEvents(): array{return [WorkerMessageFailedEvent::class => 'onMessageFailed'];}public function onMessageFailed( WorkerMessageFailedEvent $event): void {$error = $event->getThrowable()->getMessage();$trace = $event->getThrowable()->getTraceAsString();$emailFrom = $this->params->get('app.email_from');$emailTo = $this->params->get('app.email_administrateur');$email = (new TemplatedEmail())->from(new Address($emailFrom, 'Valoire-Estel KAT'))->to($emailTo)->subject('An error has been occured')->htmlTemplate('emails/errors/error.html.twig')->context(['error' => ['date' => date('Y-m-d H:i:m',strtotime('now') ),'context' => 'Message queue','message' => $error,'trace' => $trace],]);$this->mailer->send($email);}}