src/Controller/ContactController.php line 24

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Contact;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Mailer\MailerInterface;
  9. use Symfony\Component\Mime\Email;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class ContactController extends AbstractController
  12. {
  13.     private $entityManager;
  14.     public function __construct(EntityManagerInterface $entityManager) {
  15.         $this->entityManager $entityManager;
  16.     }
  17.     #[Route('/contact'name'contact')]
  18.     public function index(Request $requestMailerInterface $mailer): Response
  19.     {
  20.         $contact = new Contact();
  21.         $nom=$request->request->get('name');
  22.             $objet =$request->request->get('objet');
  23.             $msg $request->request->get('message');
  24.             $mail $request->request->get('email');
  25.         if ($request->isMethod('POST')) {
  26.             $contact->setName($request->request->get('name'));
  27.             $contact->setObjet($request->request->get('objet'));
  28.             $contact->setMessage($request->request->get('message'));
  29.             $contact->setEmail($request->request->get('email'));
  30.             $email = (new Email())
  31.                 ->from($mail)
  32.                 ->to('promailjet@gmail.com')
  33.                 //->cc('cc@example.com')
  34.                 //->bcc('bcc@example.com')
  35.                 //->replyTo('fabien@example.com')
  36.                 //->priority(Email::PRIORITY_HIGH)
  37.                 ->subject($objet)
  38.                 ->text($msg);
  39.             $mailer->send($email);
  40.             
  41.             $this->entityManager->persist($contact);
  42.             $this->entityManager->flush();
  43.             $this->addFlash('notice''Merci de nous avoir contacté. Notre équipe va vous répondre dans les meilleurs délais.');
  44.         }
  45.         return $this->render('contact/index.html.twig', [
  46.             'controller_name' => 'ContactController',
  47.         ]);
  48.     }
  49. }