我正在尝试使用 Laravel Mailable 向所有客户发送电子邮件。我有以下邮件结构。<?phpnamespace App\Mail;use Illuminate\Bus\Queueable;use Illuminate\Mail\Mailable;use Illuminate\Queue\SerializesModels;use Illuminate\Contracts\Queue\ShouldQueue;/** * Class BroadcastEmail * @package App\Mail */class BroadcastEmail extends Mailable{ use Queueable, SerializesModels; /** * @var */ private $title; /** * @var */ private $body; /** * Create a new message instance. * * @param $title * @param $body * @return void */ public function __construct($title, $body) { $this->title = $title; $this->body = $body; } /** * Build the message. * * @return $this */ public function build() { return $this->subject($this->title)->view('emails.broadcast')->with(['body' => $this->body]); }}我已使用以下代码发送电子邮件。Mail::to($recipients)->send(new BroadcastEmail($title, $message));这里,$recipients变量是客户电子邮件的数组。将来它的大小可以超过10,000。$recipientsMail Facade 可以处理以发送电子邮件的数组的最大大小是多少?我已经阅读了 laravel 邮件文档并且无法弄清楚。任何类型的建议和帮助表示赞赏。
3 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
Laravel 不会限制接收者的数量。该限制由邮件提供商设置,但没有标准。
大多数提供商最多允许 100 个收件人(收件人 + 抄送 + 密件抄送),但有些提供商允许更多。但是,如果将超过 100 个收件人的邮件发送到不允许这么多收件人的邮箱,则邮件可能无法到达。
解决此类问题的最佳解决方案是分批发送少量邮件。这将允许更快的处理并确保邮件正确到达。
Helenr
TA贡献1780条经验 获得超4个赞
我在我的项目中使用 mailtrap 测试电子邮件时遇到了同样的问题。这是在本地主机上发送邮件的快速解决方法。
在我的 Listener 中,我向用户(超过 400 个用户)发送电子邮件,我使用了 Laravel 的report助手和try-catch循环,如果其中一封邮件没有通过,电子邮件发送功能不会失败。
try{
Mail::to($user)->send(new NewsEmail($user, $news));
}catch (\Exception $e){
report ($e)
}
报告助手函数允许您使用异常处理程序的报告方法快速报告异常,而无需呈现错误页面。更多关于这方面的信息在官方文档中。
明月笑刀无情
TA贡献1828条经验 获得超4个赞
电子邮件数量不固定。这一切都取决于您的服务器规格。电子邮件将继续发送,直到或除非 php.ini 由于某些配置而停止它。因此,发送电子邮件没有固定的数字。
- 3 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消