Bonjour,

Dans mon controller SecutityController j'ai crée une fonction registration qui permet aux utilisateurs de s'inscrire.

Ce que je fais

Voici mon controller :

/**
     * @Route("/inscription", name="user_registration", methods={"GET","POST"})
     */
    public function registration(MailerInterface $mailer, Request $request, EntityManagerInterface $manager, UserPasswordEncoderInterface $encoder): Response
    {
        $user = new User();

        $form = $this->createForm(UserType::class, $user);

        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {

            $manager = $this->getDoctrine()->getManager();

            $hash = $encoder->encodePassword($user, $user->getPassword());

            $user->setPassword($hash);

            $manager->persist($user);
            $manager->flush();

            $email = (new TemplatedEmail())

            ->from(new Address('contact@waloude.org', 'Waloude'))
            ->to(new Address($user->getEmail(), $user->getUsername()))
            ->subject('Confirmation de votre inscription Waloude!')
            ->htmlTemplate('email/welcome.html.twig')
            ->context([
                //'user' => $user,
            ]);

            $mailer->send($email);

            return $this->redirectToRoute('app_login');

        }

        return $this->render('security/registration.html.twig', [
            'user' => $user,
            'form' => $form->createView(),
        ]);
    }

Ce que je veux

Après l'inscription l'utilisateur devrait recevoir un email de confirmation.

Ce que j'obtiens

Après l'inscription l'utilisateur devrait recevoir un email de confirmation et c'est là le problème. L'utilisateur s'inscrit bien mais ne reçoit pas de mail de confirmation

Merci d'avance de votre aide

3 réponses


Dans un environement local tu as besoin d'un outil pour envoyer des mails, Mail Dev par exemple
voici un tuto https://grafikart.fr/tutoriels/maildev-tester-emails-595

Je suis en production maintenant et ça ne fonctionne pas

alors vérifie ta configuration SMPT dans ton .env, quand je parle d'environement local, c'est sur ta machine locale pas sur un serveur distant