Laravel 5.3通知与Mailable

Nee*_*eel 25 laravel laravel-mail laravel-5.3 laravel-notification

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

  1. 如果我只是要发送电子邮件通知,我使用Mailables而不是Notifications更好吗?

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

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

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

pat*_*cus 38

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

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

  • 这里要记住的一件事是你还必须明确地传递`to`地址,因为它不会自动将它从通知中删除,就像`MailMessage`一样. (7认同)

Jul*_*oro 9

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

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

如果你想在不同的通道(Mail,SMS,Slack等)发送预定义的布局,通知是非常好的

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

  • 我还想提一下,Notifications可以自动存储在数据库中.如果您希望保留电子邮件日志并且不想编写额外的逻辑,那么通知就会派上用场.但是,在数据库中存储电子邮件并不难. (3认同)