[英]What is the maximum number of recipients for email sending in laravel?
我正在尝试使用Laravel Mailable向所有客户发送电子邮件。 我有以下邮件结构。
<?php
namespace 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。 Mail Facade可以处理以发送电子邮件的$recipients
数组的最大大小是多少?
我已经阅读了laravel邮件文档,无法弄清楚。 任何建议和帮助都将受到赞赏。
Laravel不会限制接收者的数量。 该限制由邮件提供商设置,但是对此没有标准。
大多数提供商最多允许100个收件人(收件人+ CC + BCC),但是有些提供商允许更多收件人。 但是,如果您将一个包含100个以上收件人的邮件发送到不允许有这么多收件人的邮箱,则该邮件可能不会到达。
诸如此类的最佳解决方案是分批发送邮件。 这样可以加快处理速度,并确保邮件正确到达。
电子邮件数量不固定。 这完全取决于您的服务器规格。 电子邮件将继续发送,直到或由于某些配置php.ini使其停止为止。 因此,没有固定的发送电子邮件号码。
我在项目中使用mailtrap测试电子邮件时也遇到相同的问题。 这是在本地主机上发送邮件的快速解决方法。
在我的侦听器中,我向用户(超过400个用户)发送电子邮件,我使用了Laravel的report
助手和try-catch
循环,在该循环中,如果其中一封邮件没有通过,则电子邮件发送功能不会失败。
try{
Mail::to($user)->send(new NewsEmail($user, $news));
}catch (\Exception $e){
report ($e)
}
报告助手功能使您可以使用异常处理程序的报告方法快速报告异常,而无需呈现错误页面。 有关更多详细信息,请参见官方文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.