我正在开发一个电子商务网站,当客户使用 G Suite SMTP 中继服务完成订单时,该网站会向客户发送大量电子邮件。但是这些电子邮件中有很多都失败了。它似乎也没有任何模式 - 有时所有电子邮件都会发送,有时只发送一两封,有时没有。
我收到以下错误:421, "4.7.0", Try again later, closing connection
。
看这里:https ://support.google.com/a/answer/3726730?hl=en并不能真正帮助我调试这个或找出一些电子邮件失败的原因。
我正在使用 phpmailer 类(https://sourceforge.net/projects/phpmailer/)
第一次握手失败时似乎会出现此问题:
function Hello($host="") {
$this->error = null; # so no confusion is caused
if(!$this->connected()) {
$this->error = array(
"error" => "Called Hello() without being connected");
return false;
}
# if a hostname for the HELO was not specified determine
# a suitable one to send
if(empty($host)) {
# we need to determine some sort of appopiate default
# to send to the server
$host = "localhost";
}
// Send extended hello first (RFC 2821)
//If this fails then the second attempt will always fail
if(!$this->SendHello("EHLO", $host))
{
//when this fails it generates the try again later error
if(!$this->SendHello("HELO", $host))
return false;
}
return true;
}
那么调试这个的最佳方法是什么?