Yii::$app->mailers->sendMultiple($messages) в цикле в паре со sleep() творит чудеса
foreach ($messages as $message){
Yii::$app->mailers->send($message);
AppHelper::addJson($mailing, 'received_emails', $to);
}
работает нормально, отправляет в цикле письма и делает пометки об этом в базе. Но на хостинге есть одно из ограничений: не отправлять более 60 писем в минуту. Для этого я добавляю sleep(1.1)
foreach ($messages as $message){
Yii::$app->mailers->send($message);
AppHelper::addJson($mailing, 'received_emails', $to);
sleep(1.1);
}
и происходит дублирование отправки письма, т.е. на один и тот же адрес отправляется по 2 письма. Вопрос: как sleep() умудряется это сделать? Возможно есть нормальный способ задать нужную задержку между письмами? В идеале через как-то типа
->addHeader('задержка', '1')
Yii::$app->mailer->sendMultiple($messages);