如何在SwiftMailer中提取传送失败?

问题描述 投票:1回答:1

SwiftMailer的文档说:

可以通过使用by-reference参数send()来获取被传输拒绝的地址列表。在Swift Mailer尝试将消息发送到给定的每个地址时,如果收件人被拒绝,它将被添加到数组中。

// Pass a variable name to the send() method
if (!$mailer->send($message, $failures))
{
  echo "Failures:";
  print_r($failures);
}

但是,我没有找到确定失败原因的方法。例如。 send返回0,$failures充满电子邮件地址,但我想知道为什么发送失败/被拒绝。

我该怎么做?不可能吗快速浏览内部消息源表明,SwiftMailer catch可以使用异常来填充$failedRecipients,并且看来异常的消息并未保存在任何地方。我想念什么吗?

php email swiftmailer
1个回答
0
投票

我认为不可能做到这一点。不幸的是,只能查看失败的电子邮件地址列表,而不是这些地址失败的原因。

来自关于GitHub(https://github.com/swiftmailer/swiftmailer/issues/891)的讨论:

\Swift_Transport_AbstractSmtpTransport::_doMailTransaction()中的异常被静默吞下

© www.soinside.com 2019 - 2024. All rights reserved.