Allow mail send fail

This commit is contained in:
2025-06-07 23:43:52 +02:00
parent bdbff32256
commit 7f93680987

View File

@@ -9,6 +9,7 @@ use App\Form\RegistrationFormType;
use App\Repository\UserRepository; use App\Repository\UserRepository;
use App\Security\EmailVerifier; use App\Security\EmailVerifier;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Bundle\SecurityBundle\Security; use Symfony\Bundle\SecurityBundle\Security;
@@ -29,6 +30,7 @@ final class RegistrationController extends AbstractController
UserPasswordHasherInterface $userPasswordHasher, UserPasswordHasherInterface $userPasswordHasher,
Security $security, Security $security,
EntityManagerInterface $entityManager, EntityManagerInterface $entityManager,
LoggerInterface $logger,
): Response { ): Response {
$user = new User(); $user = new User();
$form = $this->createForm(RegistrationFormType::class, $user); $form = $this->createForm(RegistrationFormType::class, $user);
@@ -43,14 +45,17 @@ final class RegistrationController extends AbstractController
$entityManager->persist($user); $entityManager->persist($user);
$entityManager->flush(); $entityManager->flush();
// generate a signed url and email it to the user try {
$this->emailVerifier->sendEmailConfirmation('app_verify_email', $user, // generate a signed url and email it to the user
new TemplatedEmail() $this->emailVerifier->sendEmailConfirmation('app_verify_email', $user,
->to((string) $user->getEmail()) new TemplatedEmail()
->subject($this->translator->trans('Please Confirm your Email')) ->to((string) $user->getEmail())
->htmlTemplate('backoffice/registration/confirmation_email.html.twig'), ->subject($this->translator->trans('Please Confirm your Email'))
); ->htmlTemplate('backoffice/registration/confirmation_email.html.twig'),
);
} catch (\Exception $e) {
$logger->error($e->getMessage());
}
$response = $security->login($user, 'form_login', 'main'); $response = $security->login($user, 'form_login', 'main');
\assert($response instanceof Response); \assert($response instanceof Response);