mailer = $mailer; $this->router = $router; $this->translator = $translator; } public function sendConfirmationEmailMessage(UserInterface $user) { $username = $user->getUsername(); $language = User::DEFAULT_LANGUAGE; if ($user instanceof User) { $username = $user->getDisplayName(); $language = $user->getLanguage(); } $url = $this->router->generate('fos_user_registration_confirm', ['token' => $user->getConfirmationToken()], UrlGeneratorInterface::ABSOLUTE_URL); $email = (new TemplatedEmail()) ->to(new Address($user->getEmail())) ->subject( $this->translator->trans('registration.subject', ['%username%' => $username], 'email', $language) ) ->htmlTemplate('emails/confirmation.html.twig') ->context([ 'user' => $user, 'username' => $username, 'confirmationUrl' => $url, ]) ; $this->mailer->send($email); } public function sendResettingEmailMessage(UserInterface $user) { $username = $user->getUsername(); $language = User::DEFAULT_LANGUAGE; if ($user instanceof User) { $username = $user->getDisplayName(); $language = $user->getLanguage(); } $url = $this->router->generate('fos_user_resetting_reset', ['token' => $user->getConfirmationToken()], UrlGeneratorInterface::ABSOLUTE_URL); $email = (new TemplatedEmail()) ->to(new Address($user->getEmail())) ->subject( $this->translator->trans('reset.subject', ['%username%' => $username], 'email', $language) ) ->htmlTemplate('emails/password-reset.html.twig') ->context([ 'user' => $user, 'username' => $username, 'confirmationUrl' => $url, ]) ; $this->mailer->send($email); } }