如何解决如何在 Laravel Fortify 中更改重置密码电子邮件模板?
我使用 fortify 进行身份验证,但是我需要更改由 fortify 自动发送的“重置密码”电子邮件模板中的文本。我找不到实现这一目标的方法。
还可以使模板可从 Nova 编辑吗?我在 Nova 中有一个 MailTemplate 资源以允许从 Nova 更改电子邮件模板,但我无法为“重置密码电子邮件”实现此目的,因为它是由 fortify 发送的,并且无法找到控制它的方法。
解决方法
Fortify 使用 Laravel 的核心通知系统发送密码重置电子邮件。对此负责的特定文件是位于 PasswordReset.php
的 Illuminate\Auth\Notifications
文件。
自定义发送的电子邮件的最简单方法是制作 PasswordReset
文件的副本并将其保存到您的项目中,并使用不同的名称(可选)(例如 App\Notifications
)。
复制并根据自己的喜好对其进行自定义后,您需要覆盖 sendPasswordResetNotification
模型上的 User
方法,该方法继承自 CanResetPassword
Authenticatable
课。
/**
* Send the password reset notification.
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$this->notify(new App\Notifications\CustomResetPasswordNotification($token));
}
当您在那里时,您可能想要覆盖其他一些通知,例如 VerifyEmail
通知。
关于在 Nova 中管理内容/布局,我怀疑这是可能的。您可能需要编写一个自定义程序包来读取 mardown
文件,这就是您在电子邮件中使用的内容,或者为可以存储在数据库中并通过 Nova 管理的文本定义一些占位符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。