2016-11-18 5 views
11

Я немного смущен о том, следует ли использовать Laravel's Notification или Mailable класс. Из того, что я понимаю, Mailables используются для отправки только электронных писем, тогда как уведомления могут использоваться для отправки электронных писем и смс. В моем приложении у меня нет планов отправлять sms-уведомления, поэтому я смущен, если в этом случае я должен просто использовать класс Mailable. Мои вопросы:Laravel 5.3 Уведомление Vs Mailable

  1. Если я только собираюсь посылать уведомления электронных писем, это лучше для меня использовать Mailables вместо уведомлений?

  2. Если у каждого письма есть разный html-макет, тогда будет ли Mailable be лучшим вариантом?

  3. Даже если все электронные письма являются почтовыми отправлениями по электронной почте, делает ли они по-прежнему смысл отправлять их с помощью Mailables вместо уведомлений?

Может ли кто-то сказать мне основное различие между этими 2 и как мы должны решить, какой метод выбрать при отправке писем в Laravel 5.3.

ответ

5

Да, окончательно, если каждый макет электронной почты отличается, вы должны использовать разрешенные к пересылке по почте

является разрешенным к пересылке по почте нового способом отправки сообщений электронной почты, проще, чем раньше. Более настраиваемый, чем Уведомления.

Уведомление очень хорошо, если вы хотите отправить предопределенный макет в Дифференц канала (почта, SMS, расслабленные и т.д.)

Вы можете настроить уведомления макет, но с 1 раскладку путем уведомления будет получить сложнее ... это просто не случай использования для уведомлений

+2

Я также хотел бы упомянуть, что уведомления могут быть сохранены в базе данных автоматически. Если вы хотите сохранить журнал сообщений электронной почты и не хотите писать дополнительную логику, вам будет полезно получать уведомления. Но хранить электронное письмо в базе данных не так уж сложно. –

+0

Спасибо @ Джулиазин, который уточняет мою дилемму. Я отвечу на ваш ответ через 5 минут, как только это позволит мне. – Neel

+1

Это правда, и вы можете создать свой собственный драйвер, чтобы сделать свое собственное уведомление, поэтому оно достаточно мощное. Просто зависит от вашего варианта использования –

18

Хотя это не в документации, по состоянию на Laravel 5.3.7, Уведомления mail канал может работать с Mailable объектов в дополнение к уведомлению MailMessage объектов.

Таким образом, вы можете создать все ваши письма как Mailable объектов, и если вы решили отправить их с помощью уведомлений, вы бы просто иметь свой метод toMail() вернуть Mailable объектов, которые вы уже сделали.

+0

, что здорово. Это также приведет к переходу с Mailable на Notification в будущем, если потребуется, вместо перезаписи этого класса. – Neel

Смежные вопросы