Swiftmailer 4 не получает отскоки как $ failedRecipients - PullRequest
2 голосов
/ 09 августа 2011

Я пытаюсь использовать этот код (из 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('john@doe.com' => 'John Doe'))
  ->setBody('Here is the message itself')
  ;

//Send the message
$failedRecipients = array();
$numSent = 0;
$to = array('receiver@domain.org', 'other@baddomain.org' => '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?

1 Ответ

3 голосов
/ 09 августа 2011

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

То, что вы получаете, - это отскок, и вам нужно обрабатывать его самостоятельно, потому что само письмо было синтаксически почтовым адресом, который не был отклонен первым сервером.

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

Похожие: Отказ от обработки электронной почты с помощью PHP?

...