src/Services/ContactService.php line 42

Open in your IDE?
  1. <?php
  2. namespace App\Services;
  3. use App\Entity\Contact;
  4. use DateTime;
  5. use DateTimeZone;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
  8. use Symfony\Component\Mime\Email;
  9. use Symfony\Component\Mailer\MailerInterface;
  10. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  11. class ContactService
  12. {
  13.     private $em;
  14.     private $flash;
  15.     private $mailerService;
  16.     private ParameterBagInterface $parameters;
  17.     public function __construct(EntityManagerInterface $emFlashBagInterface $flashMailerService $mailerServiceParameterBagInterface $parameters)
  18.     {
  19.         $this->em $em;
  20.         $this->flash $flash;
  21.         $this->mailerService $mailerService;
  22.         $this->parameters $parameters;
  23.     }
  24.     public function sendEmail(Contact $contact): void
  25.     {
  26.         $contact->setCreatedAt(new DateTime('now'));
  27.     
  28.         $this->mailerService->send(
  29.             "Message de la page contact de Voyance telephone",
  30.             $contact->getEmail(),
  31.             $this->parameters->get('consultantEmail'),
  32.             "emailTemplate/contact.html.twig",
  33.             [
  34.                 "name" => $contact->getName(),
  35.                 "email" => $contact->getEmail(),
  36.                 "message" => $contact->getMessage()
  37.             ]
  38.         );
  39.         $this->flash->add('success''Votre message est bien envoyé, merci.');
  40.     }
  41. }