使用Laravel和Mailgun向{1000}中的许多收件人发送电子邮件

时间:2018-01-22 13:13:45

标签: php laravel email mailgun

我正在使用Laravel 5.5和Mailgun。我想向超过700位收件人发送电子邮件广告系列,这个列表可能会增加到数千人。目前,我正在遍历每个电子邮件地址并一次发送一封电子邮件。结果通常只有大约530封电子邮件消失。我在网上搜索过,似乎找不到如何以更有效的方式处理这个问题的好解释,以便发送所有电子邮件。任何建议都将不胜感激。

public function mailCampaign()
{

    //Code to get all email data in JSON

    $emails= json_decode($data->getBody());
    $baseUrl = config('constants.base_url');

    foreach($emails as $key => $email){
        Mail::to($email)
            ->send(new EmailInstance($variable, $email, $baseUrl));
    }
    $data = ['message' => 'Success. Emails have been sent.'];
    return response()->view('emails.mail', $data, 200);
}

1 个答案:

答案 0 :(得分:3)

您不应该逐个发送电子邮件。请改用Mailgun API。您可以使用带有Bogardo/Mailgun包的API发送数千封电子邮件。

  

Mailgun支持通过单个API调用发送给一组收件人的功能。这可以通过为参数指定多个收件人电子邮件地址并使用收件人变量来实现。