diff --git a/src/Controller/RegistrationController.php b/src/Controller/RegistrationController.php index 0390cdb..7a1c339 100644 --- a/src/Controller/RegistrationController.php +++ b/src/Controller/RegistrationController.php @@ -15,6 +15,7 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\SecurityBundle\Security; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Mailer\Exception\TransportExceptionInterface; use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\TranslatorInterface; @@ -53,7 +54,7 @@ final class RegistrationController extends AbstractController ->subject($this->translator->trans('Please Confirm your Email')) ->htmlTemplate('backoffice/registration/confirmation_email.html.twig'), ); - } catch (\Exception $e) { + } catch (TransportExceptionInterface $e) { $logger->error($e->getMessage()); } $response = $security->login($user, 'form_login', 'main'); diff --git a/src/Security/EmailVerifier.php b/src/Security/EmailVerifier.php index 45c45dc..efac43a 100644 --- a/src/Security/EmailVerifier.php +++ b/src/Security/EmailVerifier.php @@ -8,18 +8,19 @@ use App\Entity\User; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\Mailer\Exception\TransportExceptionInterface; use Symfony\Component\Mailer\MailerInterface; -use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface; use SymfonyCasts\Bundle\VerifyEmail\VerifyEmailHelperInterface; -class EmailVerifier +readonly class EmailVerifier { public function __construct( - private readonly VerifyEmailHelperInterface $verifyEmailHelper, - private readonly MailerInterface $mailer, - private readonly EntityManagerInterface $entityManager, + private VerifyEmailHelperInterface $verifyEmailHelper, + private MailerInterface $mailer, + private EntityManagerInterface $entityManager, ) {} + /** @throws TransportExceptionInterface */ public function sendEmailConfirmation(string $verifyEmailRouteName, User $user, TemplatedEmail $email): void { $signatureComponents = $this->verifyEmailHelper->generateSignature( @@ -39,7 +40,6 @@ class EmailVerifier $this->mailer->send($email); } - /** @throws VerifyEmailExceptionInterface */ public function handleEmailConfirmation(Request $request, User $user): void { $this->verifyEmailHelper->validateEmailConfirmationFromRequest($request, (string) $user->getId(), (string) $user->getEmail());