Symfony4 无法在电子邮件中提供路由所需的令牌
Symfony4 can't give token needed for route in email
我正在尝试使用电子邮件重置密码,但出现以下错误:
An exception has been thrown during the rendering of a template ("Some mandatory parameters are missing ("token") to generate a URL for route "resetPassword".").
这是来自我的控制器的邮件部分:
$message = (new \Swift_Message('Reinitialisez votre mot de passe'))
//put the email adress you defined in .env.local here
->setFrom('myEmail@gmail.com')
->setTo($formEmail)
->setBody(
$this->renderView(
'emails/emailResetPassword.html.twig',
[
'name' => $name,
'token' => $token,
]
),
'text/html'
);
$mailer->send($message);
这是邮件视图:
<h1>Une demande de reinitialisation de mot de passe a été éffectuée</h1>
<p>Bonjour {{ name }}, cliquez <a href="{{ path('resetPassword') }}">ici</a> si vous avez demandé à réinitialiser votre mot de passe,
sinon vous pouvez ignorer ce email.</p>
<br>
<small>L'équipe.</small>
resetPassword 是以下路径:
/**
* @Route("/changer-mot-de-passe/{token}", name="resetPassword")
*/
我认为问题是 Symfony 不理解 'token' => $token is {token} 来自我的路线。但我不知道如何解决我的问题。
感谢您的帮助:)
如果你不提供,Symfony 不知道使用什么令牌。
您可以将参数传递给 path()
函数,因此您的代码应该是:
<p>Bonjour {{ name }}, cliquez <a href="{{ path('resetPassword', {'token': token}) }}">ici</a> si vous avez demandé à réinitialiser votre mot de passe,
sinon vous pouvez ignorer ce email.</p>
我正在尝试使用电子邮件重置密码,但出现以下错误:
An exception has been thrown during the rendering of a template ("Some mandatory parameters are missing ("token") to generate a URL for route "resetPassword".").
这是来自我的控制器的邮件部分:
$message = (new \Swift_Message('Reinitialisez votre mot de passe'))
//put the email adress you defined in .env.local here
->setFrom('myEmail@gmail.com')
->setTo($formEmail)
->setBody(
$this->renderView(
'emails/emailResetPassword.html.twig',
[
'name' => $name,
'token' => $token,
]
),
'text/html'
);
$mailer->send($message);
这是邮件视图:
<h1>Une demande de reinitialisation de mot de passe a été éffectuée</h1>
<p>Bonjour {{ name }}, cliquez <a href="{{ path('resetPassword') }}">ici</a> si vous avez demandé à réinitialiser votre mot de passe,
sinon vous pouvez ignorer ce email.</p>
<br>
<small>L'équipe.</small>
resetPassword 是以下路径:
/**
* @Route("/changer-mot-de-passe/{token}", name="resetPassword")
*/
我认为问题是 Symfony 不理解 'token' => $token is {token} 来自我的路线。但我不知道如何解决我的问题。
感谢您的帮助:)
如果你不提供,Symfony 不知道使用什么令牌。
您可以将参数传递给 path()
函数,因此您的代码应该是:
<p>Bonjour {{ name }}, cliquez <a href="{{ path('resetPassword', {'token': token}) }}">ici</a> si vous avez demandé à réinitialiser votre mot de passe,
sinon vous pouvez ignorer ce email.</p>