Я использую:
У меня есть два следующих сообщения об ошибках, когда я хочу отправить 5 или более электронных писем (это прекрасно работает, если я отправляю 1, 2 или 4 электронных письма …):
Примечание: fwrite (): отправка 40 байт завершилась неудачно с ошибкой errno = 32
/appli/projects/APACHE-PHP/apache_2.4/htdocs/APACHE-PHP/project/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php
по линии 231Примечание: fwrite (): отправка 6 байтов завершилась неудачно с ошибкой errno = 32
/appli/projects/APACHE-PHP/apache_2.4/htdocs/APACHE-PHP/project/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php
по линии 231
Я добавил Try / Catch (путем поиска в других сообщениях):
foreach($messages as $message){
try{
$this->get('mailer')->send($message);
}catch (Exception $e){
printf("Error: %s\n", $e->getMessage());
$mailer->getTransport()->stop();
sleep(10);
}
}
Но это все еще не работает …
Это странно, потому что я могу отправить более 5 писем (например, 12 писем), если я попробую простой пример с использованием почтовой функции PHP:
<?php
$msg = "Suspendisse vestibulum et lectus eu pellentesque. ";
$headers = "From: [email protected]" . "\r\n" .
"CC: [email protected]";
for($i = 1; $i <= 12; $i++){
mail("[email protected]","Test",$msg, $headers);
}
?>
Он прекрасно работает с функцией PHP mail (), но я могу отправить более 5 писем, когда попробую с Swiftmailer … Почему ??
Какие-либо предложения)?
Существует множество сообщений об ошибках и несколько обходных путей в соответствующих темах.
(Простая попытка поймать вы опубликовали выше или достаточно близко работал для меня, поэтому я делаю репост для других, которые ищут решение.)
while (true) {
while ($message = $queue->pop()) {
try { $mailer->send($message); }
catch (Exception $e) { printf("Error: %s\n", $e->getMessage()); }
}
$mailer->getTransport()->stop();
sleep(5);
}
Других решений пока нет …