【问题标题】:Using a Mailable instead of a MailMessage for password reset emails in Laravel 5.5在 Laravel 5.5 中使用 Mailable 而不是 MailMessage 密码重置电子邮件
【发布时间】:2018-06-29 06:34:14
【问题描述】:

我希望我的应用程序对其发送的所有电子邮件都使用 Mailables,因此我创建了自己的 ResetPasswordEmail 类,该类扩展了 Mailable。然后我创建了自己的ResetPassword通知类,它扩展了同名的vendor类并覆盖了toMail方法,如下所示:

public function toMail($notifiable)
{
    return (new ResetPasswordEmail())->with('token', $this->token);
}

然后我在我的User 模型中从CanResetPassword 特征覆盖sendPasswordResetNotification,如下所示:

public function sendPasswordResetNotification($token)
{
    $this->notify(new ResetPassword($token));
}

调用我的自定义ResetPassword 通知类。

问题是,如果我使用创建MailMessage 并发送它的默认方法,它会自动使用用户的电子邮件填充“to”字段。但是当我使用 ResetPasswordEmail 可邮寄类时,它不会。

有没有一种好方法可以让它像我的自定义邮件一样工作?

【问题讨论】:

    标签: email laravel-5 reset-password


    【解决方案1】:

    最后我只是为我的 Mailable 实例设置了“to”字段,如下所示:

    public function toMail($notifiable)
    {
        return (new ResetPasswordEmail())->with('token', $this->token)->to($notifiable->email);
    }
    

    由于在这种情况下$notifiableUser 模型的一个实例,所以我可以收到这样的电子邮件。我不知道这是否是最好的方法,但它确实有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-13
      • 2018-05-27
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      相关资源
      最近更新 更多