Je travaille sur un site de commerce électronique qui envoie un certain nombre de courriels au client lorsqu'il termine sa commande en utilisant le service de relais SMTP de G Suite. Mais un grand nombre de ces e-mails échouent. Il ne semble pas non plus y avoir de modèle - parfois tous les emails vont envoyer, parfois seulement un ou deux, et parfois aucun. J'obtiens l'erreur suivante: 421, "4.7.0", Try again later, closing connection
Débogage des échecs de messagerie SMTP - GSuite
En regardant ici: https://support.google.com/a/answer/3726730?hl=en ne m'aide pas vraiment à déboguer cela ou comprendre pourquoi certains emails échouent.
J'utilise la classe phpmailer (https://sourceforge.net/projects/phpmailer/)
La question semble se produire lorsque la première poignée de main échoue:
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;
}
Alors, quelle est la meilleure approche pour le débogage cela?
Ajoutez l'enregistreur de débogage et la consignation d'étape pour identifier le problème exact. –