我正在使用 fortify 进行身份验证,但是我需要更改 fortify 自动发送的“重置密码”电子邮件模板中的文本。我找不到实现这一目标的方法。
是否可以从 Nova 使模板可编辑?我在 Nova 中有一个 MailTemplate 资源,允许从 Nova 更改电子邮件模板,但我无法为“重置密码电子邮件”实现这一点,因为它是由 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 管理的文本定义一些占位符。