<?php
namespace App\Services;
use App\Entity\Contact;
use DateTime;
use DateTimeZone;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
use Symfony\Component\Mime\Email;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
class ContactService
{
private $em;
private $flash;
private $mailerService;
private ParameterBagInterface $parameters;
public function __construct(EntityManagerInterface $em, FlashBagInterface $flash, MailerService $mailerService, ParameterBagInterface $parameters)
{
$this->em = $em;
$this->flash = $flash;
$this->mailerService = $mailerService;
$this->parameters = $parameters;
}
public function sendEmail(Contact $contact): void
{
$contact->setCreatedAt(new DateTime('now'));
$this->mailerService->send(
"Message de la page contact de Voyance telephone",
$contact->getEmail(),
$this->parameters->get('consultantEmail'),
"emailTemplate/contact.html.twig",
[
"name" => $contact->getName(),
"email" => $contact->getEmail(),
"message" => $contact->getMessage()
]
);
$this->flash->add('success', 'Votre message est bien envoyé, merci.');
}
}