web-dev-qa-db-ja.com

Laravel 5.3通知対郵送可能

Laravelの Notification または Mailable クラスのどちらを使用するかについて、少し混乱しています。私が理解していることから、MailablesはEメールのみを送信するために使用されますが、NotificationsはEメールとSMSを送信するために使用できます。私のアプリケーションでは、今のところSMS通知を送信する予定はないので、この場合にMailableクラスを使用するだけなのかと混乱します。私の質問は:

  1. メール通知のみを送信する場合、通知の代わりにMailablesを使用する方が良いですか?

  2. 各メールのHTMLレイアウトが異なる場合、Mailableの方が適していますか?

  3. すべてのメールが本質的に通知メールである場合でも、通知の代わりにMailablesを使用してそれらを送信することには意味がありますか?

これらの2つの主な違いと、Laravel 5.3。

33
Neel

はい、間違いなく、各電子メールのレイアウトが異なる場合は、Mailableを使用する必要があります

Mailableは、電子メールを送信する新しい方法で、以前よりも簡単になりました。通知よりもカスタマイズ可能。

事前定義されたレイアウトを別のチャネル(メール、SMS、Slackなど)で送信する場合、通知は非常に便利です。

通知のレイアウトはカスタマイズできますが、通知ごとに1つのレイアウトを作成することは難しくなります...通知の使用例ではありません

8

ドキュメントにはありませんが、Laravel 5.3.7以降、通知mailチャネルは、通知Mailableオブジェクトに加えて、MailMessageオブジェクトを処理できます。

したがって、すべてのメールをMailableオブジェクトとして作成できます。通知を介して送信する場合は、toMail()メソッドで、すでに作成したMailableオブジェクトを返すだけです。

38
patricus