我有时间在另一个帖子上及时回复,对不起。
该过程的目的是在一定时间后将邮件发送给网站的用户。
我有一个在特定时间执行 php 文件的 cron
例如,每周一上午 8:00
* 8 ** 1 php-f / $ filepath ()
这个 php 文件发送数千封电子邮件,但不是从早上 8 点开始连续发送,而是从 8:00 开始每分钟发送 30 封邮件,例如
那是:
08:00 -> 0-30 封邮件
08:01 -> 30-60 封邮件
08:02 -> 60-90 封邮件……等等。
由于启动 cron 在早上 8 点运行一次,我考虑过使用 php sleep 功能在几分钟之间暂停但不尊重命令,系统失败并被锁定。根据我使用 C 的经验,睡眠功能始终可以正常工作。
我将运输设置为在何时发送 30 封邮件并使用计数器退出循环
***** php-f /$filepath ()
因此强制系统每分钟运行一次文件。
我的代码
$res = $admin->array_mixed(); //Array with all mails address
$send_per_min=30;
$send = 0;
foreach ($res as $r){
$mails->AddAddress("$r['invitacion_email']");
.
.
.
$mails = new PHPMailer(true);
$mails->Mailer = "smtp";
.
.
.
if($mails->Send()){
$send++;
$log_OK .= $mail." Send!!! \n";
}else{
$log_KO .= $mail." Failed!!! \n";
}
if ($send == $send_per_min){//With this line I checked that after making 30 shipments out of the loop until the next minute the cron rerun
//I want to replace it with a sleep that once sent 30 mails, wait until the next minute. In this way, you could set the cron at a specific time
break;
}
}//End for
我希望你比上一篇文章更清楚(https://stackoverflow.com/questions/15393432/sending-emails-with-phpmailer-partitioned)。
向社区问好。
Pd-对不起我的英语不好