Administrateur PHPfrance |
9782 Messages
28 oct. 2020, 20:31
n'y a-t-il vraiment pas moyen de savoir pourquoi au moment où le problème se pose afin de pouvoir informer directement l'utilisateur autrement que par "l'envoi du mail a échoué" ?
La seule façon de savoir pourquoi l'envoi a échoué, serait que ton script PHP aille lire le log du serveur SMTP et affiche le message d'erreur ou tout du moins une traduction du message d'erreur pour que ce soit compréhensible par un utilisateur lambda.
Entretemps j'ai reçu le log SMTP, il y a bien une erreur, mais je ne comprends pas ce que ça veut dire :
Message rejected due to content policy (17fd90f2-16a9-11eb-bb66-d0431ea8a29d) YSA
Ça te dit que ton hébergeur a mis en place une règle qui bloque l'envoi de ton mail, mais vu que le message d'erreur n'indique pas la règle qui a fait le blocage, il faut que tu demandes le détail à ton hébergeur.
Autre question restée sans réponse : si mail() retourne False, comment savoir si error_get_last() donne NULL ou une vraie erreur ?
Si mail() retourne False
il n'y a pas d'erreur PHP, donc ce que tu récupèreras avec error_get_last() (
qui ne récupère que les erreurs PHP) ne servira à rien pour ton problème.
Et en l'occurence ça renverra toujours NULL puisqu'il n'y a pas d'erreur PHP.
Quand tout le reste a échoué, lisez le mode d'emploi...