PHP « Как ограничить количество отправленных писем в минуту при рассылке?
У нас есть рассылка по клиентам на 2 000 с гаком человек. Хостер поставил условие - не больше 100 писем в минуту.
Как правильно написать цикл, который бы отправлял по 100 писем в минуту?
Как правильно написать цикл, который бы отправлял по 100 писем в минуту?
1 ответов
Здравствуйте.
Если у вас нет времени, желания или знаний заморачиваться с cron и очередями, то вас вполне может спасти введение счетчика отправленных писем в программе. Увеличивайте его на каждой итерации цикла, а в конце каждой итерации делайте проверку - если этот счетчик равен 100, то делайте sleep(60) - это позволит скрипту заснуть на 60 секунд, что даст Вам гарантированную задержку в работе.
for($i = 0; $i < $emails_count; $i++){
//здесь какие-то действия по отсылке письма
if($i % 100 == 0){
sleep(60);
}
}