Swiftmailer 4 не извлекает отскоки как $отказавшие получатели


Я пробую этот код (из http://swiftmailer.org/docs/sending.html):

    require_once 'lib/swift_required.php';

//Create the Transport
$transport = Swift_SmtpTransport::newInstance('localhost', 25);

//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

//Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('[email protected]' => 'John Doe'))
  ->setBody('Here is the message itself')
  ;

//Send the message
$failedRecipients = array();
$numSent = 0;
$to = array('[email protected]', '[email protected]' => 'A name');

foreach ($to as $address => $name)
{
  $message->setTo(array($address => $name));
  $numSent += $this->send($message, $failedRecipients);
}

printf("Sent %d messages\n", $numSent);

Проблема в том, что если я отправил электронное письмо на плохой домен, swiftmailer распознает его как правильно отправленное электронное письмо, а $failedRecipients пусто. В моем почтовом ящике я вернул уведомление об ошибке.

Почему Swiftmailer не распознает это письмо как сбой и не заполняет $failedRecipients Array?

Author: hakre, 2011-08-09

1 answers

Swiftmailer заботится только о том, чтобы передать электронное письмо на почтовый сервер. Все остальное не имеет отношения к Swiftmailer.

Вы получаете сообщение об отказе, и вам нужно обработать их самостоятельно, потому что само электронное письмо на самом деле было синтаксически почтовым адресом, который не был отклонен первым сервером.

Это, кстати, относится к любой другой почтовой библиотеке и даже к функции php mail. Возможно, вы ищете приложение для обработки отказов или код.

Связано: Обработка отказов электронной почты с помощью PHP?

 3
Author: hakre, 2017-05-23 12:28:17