概述发送电子邮件:Laravel 5.1 - 内置密码重置功能无法与令牌
我创建使用内置在系统中Laravel 5.1密码重置功能,我已经按照说明它究竟是如何说here。
resources/views/emails/password.blade.php
中的视图接收到一个变量$token
,其中包含密码重置令牌以使用户与密码重置请求相匹配。在视图里,我有以下的代码应该是建立在用户设置的新密码页面的URL链接:
Click here to reset your password: {{ url('password/reset/'.$token) }}
问题:
它不会在发送电子邮件所有。但我已经意识到,如果我删除最后一个结尾斜杠(见下文):
Click here to reset your password: {{ url('password/reset'.$token) }}
我收到类似http://mywebsite.com/password/reset35df435dfgdfg...
结论:
每当有password/reset/
之间的尾随斜线和$token
,电子邮件不发送。即使我手动输入网址。
为什么/
在$token
之前会影响正在发送的电子邮件?有任何想法吗?
尝试的解决方案:
url('password/reset', [$token]); //DID NOT WORK
action('Auth\[email protected]', ['token' => $token]); //DID NOT WORK
route('password/email', ['token' => $token]); //DID NOT WORK
url('password/reset/'.$token); //DID NOT WORK
不相信这一点。当然,一个常量字符串不能以* backward *斜线结尾,因为它会避免结束语。那会导致解析错误。但是一个正斜杠?这应该没有任何问题。 – Jason