我正在处理邮件列表。
我的邮件列表现在有超过400封电子邮件,因此我正在使用foreach
。
我的问题是:我可以只限制100个电子邮件的foreach吗?
例如-向前100封电子邮件发送一封电子邮件,先中断,然后从停止的地方开始。因此,例如,对于400封电子邮件,foreach被调用4次以向所有电子邮件发送一封电子邮件。
foreach ($addresses as $to) {
mail($to,$subject,$message,$headers);
}
Run Code Online (Sandbox Code Playgroud)
我需要这样做,因为如果我一次将电子邮件发送到所有400封电子邮件中,我将获得503服务不可用。
我试过了但是没用...
$emailchunkarray = array_chunk($addresses, 50);
$arraysize = count ($emailchunkarray);
$x = 0;
function chunker() {
if ($x <= $arraysize) {
foreach ($emailchunkarray[$x] as $to) {
mail($to,$subject,$message,$headers);
}
$x++
$chunker2();
}
}
$chunker();
function chunker2() {
if ($x <= $arraysize) {
foreach ($emailchunkarray[$x] as $to){
mail($to,$subject,$message,$headers);
}
$x++;
$chunker();
}
}
Run Code Online (Sandbox Code Playgroud)
由于某些原因,我无法回答我的问题...所以这是我的做法:
$ChunkAddresses = 10;
$EmailChunkArray = array_chunk($Addresses, $ChunkAddresses);
$ArraySize = count ($EmailChunkArray);
$ChunkSize = 0;
$ForeachCounter …
Run Code Online (Sandbox Code Playgroud)