GMail SMTP发送邮件,收到错误(4.7.0),但邮件发送!

时间:2009-06-18 07:30:42

标签: php smtp gmail phpmailer

我正在使用GMail SMTP服务器发送邮件。 而PHPMailer作为邮件发送脚本。

我收到此错误(我记录所有SMTP错误,即每当PHPMailer :: Send失败): -

SMTP Error: Data not accepted.<p>SMTP server error: 4.7.0 Temporary System Problem.  Try again later (WS)

但邮件实际上是发送的。 (我通过匹配发送邮件的时间戳和日志中的时间戳来了解。)

怎么可能? 这个错误意味着什么?

更新:我想我的问题并不清楚。让我重新说一下: -

如果在PHPMailer能够将邮件发送到GMail SMTP后邮件丢失,我不担心。但我担心PHPMailer返回错误,但邮件已发送。有可能吗?

1 个答案:

答案 0 :(得分:2)

我认为SMTP无论如何都不保证交付。它是一种存储转发机制。这就是为什么有些电子邮件可能会丢失的原因(例如,如果在转发消息的过程中继电器崩溃)。

如果您依赖于重要功能的电子邮件,您可能希望强制执行某种反馈机制(可能通过响应)。然后,如果在特定时间范围内未收到回复,则再次尝试。

更新:这当然是可能的。您所需要的只是一个邮件服务器,它会向您发送错误代码。它可能由于各种原因发送错误代码,列出太多。我建议使用上面的方法,因为你不应该单独依赖服务器响应,特别是如果它没有任何原子性/酸度。