Как отправить токен в symfony4?

эй, мне нужно отправить токен с помощью быстрой рассылки, а сообщение содержит ссылку для перенаправления пользователя на страницу, где он может установить свой новый пароль. Моя проблема в том, что сообщение, которое я получаю, это сценарий html страницы, а не ссылка, которая перенаправляет на него, надеюсь, вы поможете.

        /**
         * @Route("/checking_email", name = "checking_email")
         */
        public function CheckingEmail(Request $request,\Swift_Mailer $mailer, TokenGeneratorInterface $tokenGenerator)
        {
            $user = new User();
            $email = $request->request->get("inputEmail", "valeur par défaut si le champ n'existe pas");

            $user = $this->getDoctrine()
            ->getRepository(User::class)
            ->findOneBy(['email' => $email]);
            ////////////////////////////////////
            if (!$user){
                $var=true;
                $this->addFlash("notice", "This is an error message");  

            }else{

             $var=false;
        $user->setToken($tokenGenerator->generateToken());
        //enregistrement de la date de création du token
        $user->setPasswordRequestedAt(new \Datetime());
        $em = $this->getDoctrine()->getManager();
        $em->flush();                 

        $message = (new \Swift_Message('try to check this link to renew ur password '))
        ->setFrom($user->getEmail())
        ->setTo('[email protected]')
        ->setBody($this->render('security/reset_pass.html.twig',array('user' => $user->getToken())),'text/plain');

        $mailer->send($message);
        //return $this->redirectToRoute("security/redifine.html.twig");
                }        
                return $this->render('security/reset_pass.html.twig',[
                    'form'=> $email,
                    'var'=>$var,
                    ]);
            }

сообщение, которое я получаю в Gmail

Вы должны указать, что ваша почта находится в HTML: symfony.com/doc/current/email.html#sending-emails

Thomas Lefetz 14.11.2018 12:55

спасибо, братан, сделай это как ответ, чтобы проголосовать за тебя :)

Younes Oulkaid 15.11.2018 02:01
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
2
267
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны указать, что ваша почта находится в HTML:

https://symfony.com/doc/current/email.html#sending-emails

$message = new \Swift_Message('try to check this link to renew ur password ')
        ->setFrom($user->getEmail())
        ->setTo('[email protected]')
        ->setBody(
          $this->render('security/reset_pass.html.twig', [
            'user' => $user->getToken()
          ]), 
          'text/html'
        );

Другие вопросы по теме