C’est intermittent alors difficile à reproduire et tester.
En cas d’échec initial, facteur réessaie jusqu’à 5 fois, avec des délais croissants à chaque fois, et jusqu’à présent je crois que tous les mails ont fini par partir, généralement au 2eme essai mais parfois au 4eme. Mais pour des mails « en direct » comme les rappels de mot de passe, c’est pas pratique.
Par contre, j’ai l’impression que le formulaire d’envoi du mail affiche une erreur quand le mail est en échec au 1er envoi, si bien que les internautes ré-envoient. Comme tous les mails finissent par arriver, une destinatrice m’a dit avoir reçu 40 copies d’un même mail !
Explorant le code de facteur je vois qu’on peut définir une constante pour obtenir les logs de PHPMailer. Avec par exemple define ('_FACTEUR_DEBUG_SMTP', 2);
dans le fichier d’options. Les valeurs sont celles des constantes SMTP::DEBUG_OFF
à SMTP::DEBUG_LOWLEVEL
présentées sur la page Troubleshooting · PHPMailer/PHPMailer Wiki · GitHub mais il faut leur valeur numérique car elles sont pas encore définies à ce moment dans le fichiers d’options. Et il faut aussi define ('_LOG_FILTRE_GRAVITE', _LOG_DEBUG);
car c’est un log de niveau _LOG_DEBUG
.
Avec une valeur 2, le diagnostic a été que c’était un problème de connexion SMTP. Alors je suis passé à 3 pour avoir plus de précisions. À suivre.