49

我对是否使用 Laravel 的NotificationMailable类有点困惑。据我了解,Mailables 仅用于发送电子邮件,而 Notifications 可用于发送电子邮件和短信。在我的应用程序中,我暂时没有发送短信通知的计划,所以我很困惑在这种情况下是否应该只使用 Mailable 类。我的问题是:

  1. 如果我只打算发送电子邮件通知,那么使用 Mailables 而不是通知会更好吗?

  2. 如果每封电子邮件都有不同的 html 布局,那么 Mailable 会是更好的选择吗?

  3. 即使所有电子邮件本质上都是通知电子邮件,使用 Mailables 而不是通知发送它们仍然有意义吗?

有人可以告诉我这两者之间的主要区别以及我们应该如何决定在 Laravel 5.3 中发送电子邮件时选择哪种方法。

4

2 回答 2

57

虽然它不在文档中,但从 Laravel 5.3.7 开始,通知mail通道可以处理Mailable通知对象之外的MailMessage对象。

因此,您可以将所有电子邮件创建为Mailable对象,如果您决定通过通知发送它们,您只需让您的toMail()方法返回Mailable您已经创建的对象。

于 2016-11-18T20:32:30.957 回答
19

是的,明确地说,如果每个电子邮件布局不同,您应该使用 Mailable

Mailable 是发送电子邮件的新方式,比以前更容易。比通知更可定制。

如果您想在不同的渠道(邮件、短信、Slack 等)中发送预定义的布局,通知非常好

您可以自定义通知布局,但是通过通知拥有 1 个布局会变得更加困难......这不是通知的用例

于 2016-11-18T18:46:19.803 回答