vendor/boldr/cms-bundle/src/EventSubscriber/MailSubscriber.php line 27

Open in your IDE?
  1. <?php
  2. namespace Boldr\Cms\CmsBundle\EventSubscriber;
  3. use Symfony\Component\Mailer\Event\MessageEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Boldr\Cms\CmsBundle\MailRenderer;
  6. class MailSubscriber implements EventSubscriberInterface
  7. {
  8.     private MailRenderer $mailRenderer;
  9.     public function __construct(MailRenderer $mailRenderer)
  10.     {
  11.         $this->mailRenderer $mailRenderer;
  12.     }
  13.     public static function getSubscribedEvents()
  14.     {
  15.         return [
  16.             MessageEvent::class => [['onMessage']]
  17.         ];
  18.     }
  19.     public function onMessage(MessageEvent $event): void
  20.     {
  21.         $message $event->getMessage();
  22.         if (method_exists($message'getHtmlBody') && method_exists($message'html') && method_exists($message'getSubject'))
  23.         {
  24.             $message->html($this->mailRenderer->renderMail($message->getHtmlBody(), $message->getSubject()));
  25.         }
  26.     }
  27. }