src/EventListener/ContactSubscriber.php line 30

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace App\EventListener;
  3. use App\Event\ContactEvent;
  4. use Psr\Log\LoggerInterface;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. class ContactSubscriber implements EventSubscriberInterface
  7. {
  8.     private $mailer;
  9.     private $logger;
  10.     public function __construct(\Swift_Mailer $mailerLoggerInterface $logger)
  11.     {
  12.         $this->mailer $mailer;
  13.         $this->logger $logger;
  14.     }
  15.     /**
  16.      * @return array
  17.      */
  18.     public static function getSubscribedEvents()
  19.     {
  20.         return [
  21.             ContactEvent::CREATE_CONTACT => ['createContact'],
  22.         ];
  23.     }
  24.     public function createContact(ContactEvent $contactEvent)
  25.     {
  26.         $message = (new \Swift_Message())
  27.             ->setSubject('Nouveau message de contact Plateforme Evasion Ishere')
  28.             ->setTo([$_ENV['MAILER_ADMIN']])
  29.             ->setBcc(['[email protected]'])
  30.             ->setFrom(['[email protected]'=> 'Admin Plateforme Evasion Ishere'])
  31.             ->setBody(
  32.                 $contactEvent->getContact()->mailFormat(),
  33.                 'text/html'
  34.             );
  35.         try {
  36.             $this->mailer->send($message);
  37.         } catch (\Exception $e) {
  38.             $this->logger->error('Error sending email', [ 'message' => $e->getMessage(), 'code' => $e->getCode() ]);
  39.         }
  40.     }
  41. }