我希望我的应用程序将Mailables用于它发送的所有电子邮件,因此我创建了自己的ResetPasswordEmail
类,扩展了Mailable
。然后我创建了自己的ResetPassword
通知类,该类扩展了同名的供应商类,并覆盖了toMail
方法,如下所示:
public function toMail($notifiable)
{
return (new ResetPasswordEmail())->with('token', $this->token);
}
然后我从sendPasswordResetNotification
模型中的CanResetPassword
特征覆盖User
,如下所示:
public function sendPasswordResetNotification($token)
{
$this->notify(new ResetPassword($token));
}
调用我的自定义ResetPassword
通知类。
问题是,如果我使用默认方法创建MailMessage
并发送它,它会自动使用用户的电子邮件填充“到”字段。但是,当我使用我的ResetPasswordEmail
mailable类时,它不会。
有没有一种很好的方法可以让我的自定义邮件像这样工作?
答案 0 :(得分:1)
最后我把#34;设置为"我的Mailable实例的字段如下:
public function toMail($notifiable)
{
return (new ResetPasswordEmail())->with('token', $this->token)->to($notifiable->email);
}
由于$notifiable
在这种情况下是User
模型的一个实例,因此我可以获得这样的电子邮件。我不知道这是否是最好的方法,但它确实有效。