繁体   English   中英

laravel中发送电子邮件的最大收件人数是多少?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM