Laravel 5.3通知 - 只使用电子邮件地址进行通知

21

我的应用程序中有一个输入外部电子邮件的字段,我希望能够向该电子邮件发送通知。

问题在于,这个电子邮件可能不在我的应用程序内,所以我不能使用 $user->notify()。

是否有一种仅使用电子邮件地址发送通知的方法?

2个回答

58

使用 Laravel 5.5 及以上版本,您可以使用 Notification 门面发送“按需通知”:

Notification::route('mail', 'taylor@laravel.com')->notify(new InvoicePaid($invoice));

官方文档话题


25
您可以轻松地使用电子邮件地址创建一个临时用户实例。
(new User)->forceFill([
    'name' => 'Their name',
    'email' => 'email@example.com',
])->notify(new MailMessage);

1
附件是MailMessage类的一部分。您可以添加附件或显示内联附件;https://laravel.com/docs/5.1/mail#attachments。 - user6705732
1
我正在使用laravel 5.4,但这个解决方案对我不起作用,有人可以帮助我吗? - Thamer
我不相信当通知将被排队时这会起作用。临时模型没有ID,因此在队列工作者接收通知时它没有任何内容可供填充。 - Flame
只有在添加一个虚拟的“id”后,这个对我才有效。 - edisonmecaj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接