<?php
namespace App\Controller;
use App\Form\ContactType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;
use Symfony\Component\Routing\Annotation\Route;
class ContactController extends AbstractController
{
/**
* @Route("/contact", name="contact")
*/
public function index(Request $request, MailerInterface $mailer): Response
{
$form = $this->createForm(ContactType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$email = (new Email())
->from($data['email'])
->to('contact@cabinet-avocat.fr') // Target email
->subject('Nouveau message: ' . $data['subject'])
->text("Nom: {$data['name']}\nEmail: {$data['email']}\nTéléphone: {$data['phone']}\n\nMessage:\n{$data['message']}");
try {
$mailer->send($email);
$this->addFlash('success', 'Votre message a bien été envoyé. Nous vous répondrons dans les plus brefs délais.');
} catch (\Exception $e) {
$this->addFlash('error', "Une erreur est survenue lors de l'envoi de votre message.");
}
return $this->redirectToRoute('contact');
}
return $this->render('contact/index.html.twig', [
'contact_form' => $form->createView(),
]);
}
}