如何在 Laravel Fortify 中更改重置密码电子邮件模板?

Sou*_*mes 2 laravel laravel-fortify

我正在使用 fortify 进行身份验证,但是我需要更改 fortify 自动发送的“重置密码”电子邮件模板中的文本。我找不到实现此目标的方法。

是否可以从 Nova 编辑模板?我在 Nova 中有一个 MailTemplate 资源,允许从 Nova 更改电子邮件模板,但我无法实现“重置密码电子邮件”,因为它是由 fortify 发送的,并且无法找到控制它的方法。

Unf*_*lux 8

Fortify 使用 Laravel 的核心通知系统发送密码重置电子邮件。负责此操作的特定文件是PasswordReset.php位于 的文件Illuminate\Auth\Notifications

自定义发送的电子邮件的最简单方法是复制文件并使用不同的名称(PasswordReset可选)将其保存到您的项目中的某个位置(例如)。App\Notifications

复制并根据您的喜好对其进行自定义后,您需要覆盖模型sendPasswordResetNotification上从类上的特征User继承的方法。CanResetPasswordAuthenticatable

/**
 * Send the password reset notification.
 *
 * @param  string  $token
 * @return void
 */
public function sendPasswordResetNotification($token)
{
    $this->notify(new App\Notifications\CustomResetPasswordNotification($token));
}
Run Code Online (Sandbox Code Playgroud)

您可能想要覆盖其他一些通知,例如通知VerifyEmail

关于管理 Nova 中的内容/布局,我怀疑这是可能的。您可能需要编写一个自定义包来读取mardown您在电子邮件中使用的文件,或者为可以存储在数据库中并通过 Nova 管理的文本定义一些占位符。