2017-06-07 2 views
0

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 connectionDé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?

+0

Ajoutez l'enregistreur de débogage et la consignation d'étape pour identifier le problème exact. –

Répondre

0

Le message d'erreur est assez explicite. Vous appelez un service Web tiers, qui renvoie un code d'erreur indiquant que le serveur que vous appelez est saturé, réessayez plus tard. Est-ce un service gratuit qui vous permet de passer à un régime payant? Habituellement, quand vous voyez son genre de chose.

+0

Oui, il s'agit du service de relais SMTP Google G Suite que nous utilisons et qui est payé. Il y a une limite maximale de 10k emails que nous pouvons envoyer par jour et nous ne sommes pas proches de cela, j'ai du mal à imaginer qu'un des serveurs de Google soit à pleine capacité. –

+0

oui, je ne peux pas l'image que ce soit – delboy1978uk