参考https://laravel.com/docs/5.2/mail#queueing-mail我该如何使邮件排队向批量用户发送电子邮件,并在每张电子邮件发送1分钟之间差距。
foreach($user as $user){
Mail::later(60,'web.mail.NotifyUserExpiring', ['user'=> $Sub->user,'ExpiryDate' => $exp], function ($message) {
$message->to($user->email);
$message->subject('Services Renewal Reminder');
}
laravel使用具有防叶插件的SwiftMailer。
因此,如果您想在发送邮件后等待一分钟,您可以这样做:
Mail::getSwiftMailer()->registerPlugin(new Swift_Plugins_AntiFloodPlugin(1, 1));
foreach($user as $user){
Mail::send(new Message($user));
}
如果您想在100封电子邮件后暂停30秒,则需要将第一行的数字更改为:
$mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(100, 30));