【问题标题】:How to change Reset password email template in Laravel Fortify?如何在 Laravel Fortify 中更改重置密码电子邮件模板?
【发布时间】:2021-05-26 21:12:03
【问题描述】:

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

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

【问题讨论】:

    标签: laravel laravel-fortify


    【解决方案1】:

    Fortify 使用 Laravel 的核心通知系统来发送密码重置电子邮件。对此负责的具体文件是位于Illuminate\Auth\NotificationsPasswordReset.php 文件。

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

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

    /**
     * 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 管理的文本定义一些占位符。

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 2017-03-27
      • 1970-01-01
      • 2017-02-26
      • 2021-06-04
      • 2017-12-19
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      相关资源
      最近更新 更多