-1

嘿,我需要使用 swift mailer 发送一个令牌,并且该消息包含一个链接,可将用户重定向到他可以设置新密码的页面。我的问题是我收到的消息是页面 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('my_email@gmail.com')
        ->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 中收到的消息

4

1 回答 1

0

您假设指定您的邮件是 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('my_email@gmail.com')
        ->setBody(
          $this->render('security/reset_pass.html.twig', [
            'user' => $user->getToken()
          ]), 
          'text/html'
        );
于 2018-11-15T09:26:22.950 回答