from(new Address(Common::config('site', 'email'), Common::config('site', 'nickname'))) ->to($user->getOutgoingEmail()) ->subject(_m('Please Confirm your Email')) ->htmlTemplate('security/confirmation_email.html.twig'); $signatureComponents = self::$verify_email_helper->generateSignature( 'verify_email', $user->getId(), $user->getOutgoingEmail() ); $context = $email->getContext(); $context['signedUrl'] = $signatureComponents->getSignedUrl(); $context['expiresAt'] = $signatureComponents->getExpiresAt(); $email->context($context); Mailer::send($email); } /** * @throws VerifyEmailExceptionInterface */ public function handleEmailConfirmation(Request $request, UserInterface $user): void { $this->verify_email_helper->validateEmailConfirmation($request->getUri(), $user->getId(), $user->getOutgoingEmail()); $user->setIsEmailVerified(true); DB::persist($user); DB::flush(); } }