Larevel 重写发送邮件找回密码

laravel发送邮件找回密码,收到默认的url是:

        http://your domain name/password/reset/token


使用自带的发送邮件找回密码,那么用户只能收到上面那串固定的url。可是如果对接需求更改,使用其他的页面地址去找回密码,比如:

        http://your domain name/#/reset_password_by_email?token=asdasdasdasda


这种情况比较常见,特别是前后端分离的情况。所以我们该如何去修改邮件内默认的url呢?替代方案有多种,这里介绍相对优秀,而且符合laravel框架认证机制的方案。实际上本文是参考外国朋友的相关文章,我这里对这个方案进行了实践和整理(看懂上面那篇文章而且能完整实践的话,请自行跳过)。

让我们找找laravel默认的发送邮件找回密码的方法:

进入SendsPasswordResetEmails文件:

到这里很清楚知道,实际上调用的就是这个sendResetLinkEmail这个方法。 因为是在/vendor里的文件,所以不能直接在上面修改,而是需要在这里重写sendResetLinkEmail方法:

新建一个Notification类,运行artisan命令:

生成下面这个文件:

需求的url修改好了,那么如何使用这个notification呢? 请继续看:

至此,整个过程实践过程就结束了,收到的邮件url是自己填写的那一串啦。 修改发送邮件模板很简单,具体请自行查看laravel文档。

你可能感兴趣的:(Larevel 重写发送邮件找回密码)