8
votes

Phpmailer n'a pas pu se connecter à l'hôte SMTP

Obtenir l'erreur suivante:

SMTP -> Erreur: Impossible de se connecter au serveur: php_network_getaddresses: gettaddrinfo a échoué: aucun hôte de ce type n'est connu. (0) Erreur SMTP: Impossible de se connecter à l'hôte SMTP. Il y avait un problème d'envoi de ce courrier! P> blockQuote>

Ceci est mon paramètre de fichier de configuration, car j'ai suivi ce Didacticiel PHPMailer P>

// Grab our config settings
require_once($_SERVER['DOCUMENT_ROOT'].'/config.php');

// Grab the FreakMailer class
//echo $_SERVER['DOCUMENT_ROOT'];
require_once($_SERVER['DOCUMENT_ROOT'].'/lib/MailClass.inc');

// instantiate the class
$mailer = new FreakMailer();

// Set the subject
$mailer->Subject = 'This is a test';
 $mailer->SMTPDebug = 1;
// Body
$mailer->Body = 'This is a test of my mail system!';

// Add an address to send to.
$mailer->AddAddress('manish.dekavadiya@gmail.com', 'Manish Dekavadiya');

if(!$mailer->Send())
{
    echo 'There was a problem sending this mail!';
}
else
{
    echo 'Mail sent!';
}
$mailer->ClearAddresses();
$mailer->ClearAttachments();


7 commentaires

Eh bien, le message d'erreur semble assez clair. Êtes-vous sûr que smtp.your-domain.com existe? Qui vous a donné cette information, l'hôte Web?


L'erreur est exactement là: "Impossible de trouver le transport" SSL "- Avez-vous oublié de l'activer lorsque vous avez configuré PHP?"


telnet smtp.votre-domaine.com 587, existe-t-il un service de réponse?


J'ai essayé avec ping et il n'a pas pu trouver l'hôte. Mais mail. .com renvoya une adresse IP, il doit donc être disponible. Maintenant, ce que j'ai besoin de changer?


@Marcel Korpel: Où avez-vous reçu ce message d'erreur? :)


@inquam: Voir Révision n ° 3


@ les deux. Désolé gars, je ne sais pas comment il a révisé. :( maintenant c'est la mise à jour finale de la question.


4 Réponses :


7
votes

est SMTP installée? Et si oui, il est configuré d'écouter SMTP..com sur le port 587? Si le serveur n'est pas configuré par vous-même, il n'est pas rare qu'ils écoutent le courrier..com à la place. Essayez également de vous connecter au port 25 pour voir s'il peut être configuré pour écouter le port SMTP par défaut.

Les messages d'erreur sont dans tous les cas très clairs. L'hôte ne répond pas à votre tentative de connexion. La raison pourrait être missenfiguriennes dans le serveur et dans PHP, les problèmes de pare-feu, les problèmes de routage, les problèmes DNS, etc.


4 commentaires

Pouvez-vous ping l'hôte de l'ordinateur qui exécute votre application PHP? Si vous pouvez, le serveur est au moins en vie. Ensuite, essayez de Telnet sur le port SMTP que vous essayez de vous connecter et de voir ce qu'il répond.


Je peux ping avec mail.mydomain.com, mais smtp.mydomain.com ne se trouve pas sur Ping. Telnet avec mail.mydomain.com répond .... Impossible d'ouvrir la connexion à l'hôte sur le port 23: Connecter a échoué


Essayez de Telnet à mail.mydomain.com sur le port 587 (comme c'est celui que vous utilisez dans votre script PHP). Et changer de SMTP. au courrier. dans votre script php.


Changer de smtp.mydomain.com en mail.mydomain.com comme vous suggérées donne cette erreur:> SMTP -> Erreur: Impossible de vous connecter au serveur: une tentative de connexion a échoué car la partie connectée n'a pas répondu correctement après une période de temps, ou une connexion établie a échoué car l'hôte connecté n'a pas réussi à répondre. (10060) Erreur SMTP: Impossible de se connecter à l'hôte SMTP. Il y avait un problème d'envoi de ce courrier!



3
votes

Espérons que cela aide quelqu'un d'autre là-bas parce que je me battais cette même erreur. D'abord, je commençais. J'avais une erreur qui a dit qu'il ne pouvait pas se connecter (). Ensuite, j'ai allumé le débogage et j'ai obtenu l'erreur que vous avez mentionnée. La solution qui a fonctionné pour moi était de changer le SMTP..com à l'adresse IP.

$mail->SMTPDebug  = 1; // enables SMTP debug information (for testing)
                           // 1 = errors and messages
                           // 2 = messages only


1 commentaires

@Justlearninthisstuff, cette solution a fonctionné pour moi, j'ai signalé l'adresse OP au lieu de l'URL et cela a fonctionné.



3
votes

J'ai eu ce problème il y a un moment, tout s'est effréné, mais le problème persistait. Un redémarrage de httpd.service a résolu.


2 commentaires

Et qui aurait pensé à cela ... Cela résolue la question dans mon cas. Merci


Comment faire ça?



0
votes

Avait ce problème après le redémarrage de l'ordinateur où Docker Conteneur avec Apache WebServer était en cours d'exécution.

Code PHP hébergé Apache Server qui a cessé d'envoyer des courriels après le redémarrage de l'ordinateur.

Redémarrer le conteneur Apache Docker a résolu le problème.


0 commentaires