【发布时间】:2018-07-01 03:12:25
【问题描述】:
我正在使用 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);
}
【问题讨论】:
-
将所有邮件/操作放入队列并定期(每分钟?)处理该队列以处理最旧的项目。