$i = 1;
foreach ($recipients as $email => $name) {
$mail->AddBCC($email, $name);
if (!$mail->send()) {
$send = 0;
} else {
$send = 1;
}
$query = "INSERT INTO `newsletter_send`(`email`, `id_newsletter`, `date`, `send`) VALUES ('$email',$id_newsletter, NOW(),$send) ";
$stmt = $link->prepare($query) or die('error');
$stmt->execute();
$mail->clearAllRecipients();
$mail->ClearAddresses();
if (($i % 300) == 0) {
sleep(5);
}
$i++;
}
Для некоторых пользователей электронное письмо не отправляется. Я попытался отправить электронное письмо по отдельности, и я получил следующую ошибку
Ошибка SMTP: сбой следующих получателей: c***@**.it:: адрес отправителя отклонен: отказ политики — квота превышена.
Этот вопрос довольно неполный, более подробно поможет. Отправка сообщений индивидуально с помощью BCC не имеет никакого смысла. Для BCC нет причин, потому что каждое сообщение имеет только одного получателя, поэтому скрывать адреса не от кого.
Не все адреса электронной почты будут работать постоянно. Ожидайте ошибки и разбирайтесь с ними. Для временных сбоев доставки вы должны повторить попытку — но не делайте этого из PHP, попросите ваш почтовый сервер сделать это, так как это будет работать лучше.
Других решений пока нет …