【发布时间】:2021-10-21 19:12:13
【问题描述】:
我目前正在开发一个 Laravel 应用程序,不同的用户可以在其中注册以向用户发送电子邮件。
示例: 公司 A 有一个帐户并将 SMTP 详细信息存储在数据库中。 公司 B 也有一个帐户,并将 SMTP 详细信息存储在数据库中。
每家公司都有自己的一组客户数据(尤其是电子邮件)
为了发送电子邮件,我使用 Laravel 的通知环境。
如果 A 公司现在想要向所有客户发送通知,我不想使用 .env 文件的 SMTP 详细信息。 B 公司也应该发送自己的数据。
以下是“工作流程”中文件的概述:
AnnouncementController.php:
(...)
dispatch(new SendNewAnnouncementNotificationJob($announcement));
(...)
SendNewAnnouncementNotificationJob.php
(..)
Notification::route('mail', $subscriber->email)
->notify((new NewAnnouncement($announcement)));
(..)
NewAnnouncement.php
(...)
use Illuminate\Contracts\Queue\ShouldQueue;
(...)
class NewAnnouncement extends Notification implements ShouldQueue
{
(...)
use Queueable;
(...)
public function toMail($notifiable)
{
return (new MailMessage)
->from($this->announcement['sender_name'])
->subject('New Announcement at '.$this-> announcement['pagename'].'')
->line($announcement['text'])
->line('Thank you for using our application!');
}
(..)
我现在可以在什么时候存储单个 SMTP 详细信息,尤其是考虑到队列功能?
【问题讨论】: