【发布时间】:2018-02-02 16:53:33
【问题描述】:
最近我一直在记录来自 PHPMailer 的消息,以了解通过 Google Apps 帐户通过 SMTP 发送的失败的传出电子邮件。 $mail->ErrorInfo 属性返回:
SMTP Error: data not accepted.SMTP server error: DATA END command failed
奇怪的是,当我在 Google Apps 帐户上检查已发送的邮箱时,这些邮件仍然被成功接收和传递。并且错误没有任何可辨别的一致性 - 看起来可能是外发邮件的 3%。
我正在使用 PHPMailer-5.2.16。失败的消息没有什么特别之处,我可以以与成功相同的方式重新发送它们。
邮件功能配置所有内容,然后尝试发送消息并记录失败,如下所示:
if (!$mail->send()) {
file_put_contents('mail.log', date('c') . ' ' . $mail->ErrorInfo . PHP_EOL, FILE_APPEND);
}
谁能想到在消息仍在传递时我会遇到这样的间歇性错误结果的原因吗?
【问题讨论】:
-
也许您与 gmail 的网络连接不可靠? @Adern 的建议很好。除此之外,您使用的是旧的、有缺陷的、易受攻击的 PHPMailer 版本 - Get the latest。
-
谢谢 - 我考虑过这一点,但邮件正在送达这一事实表明一切正常。好吧,大部分都很好。是的,很好的建议。我会更新的。