PHPMailer: “impossible de se connecter à l'hôte SMTP”
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Full Name: ".clean_string($_POST['full_name'])."\n";
$email_message .= "Email: ".clean_string($_POST['email'])."\n";
$email_message .= "Telephone number: ".clean_string($_POST['telephone'])."\n";
$email_message .= "Message: ".clean_string($_POST['comments'])."\n";
$mail = new PHPMailer();
$body = $email_message;
$body = str_replace('\\', '', $body);
$mail->IsSMTP(); //telling the class to use SMTP
$mail->SMTPAuth = true; //enable SMTP authentication
$mail->SMTPSecure = "ssl"; //sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; //sets GMAIL as the SMTP server
$mail->Port = 465; //set the SMTP port for the GMAIL server
$mail->Username = "[email protected]"; //GMAIL username
$mail->Password = "XXXXXX"; //GMAIL password
$mail->SetFrom('[email protected]', 'First Last');
$mail->Subject = "Imperia";
$mail->AltBody = //optional, comment out and test
"To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($body);
$address = "[email protected]";
$mail->AddAddress($address, "To Name");
if(!$mail->Send()) {
echo "<font color='red'> Message error </font>". $mail->ErrorInfo;
} else {
echo "<font color='red'> Message sent </font>";
}
Je suis en utilisant ce code pour essayer d'envoyer un email à l'aide de SMTP, mais j'ai une erreur:
SMTP Error: could not connect to SMTP hôte
Quelqu'un pourrait-il me dire quel est le problème ici? Je ne peux pas trouver un moyen de résoudre ce problème. Grâce
- activer le débogage $mail->SMTPDebug = 1; pour plus de détails
Vous devez vous connecter pour publier un commentaire.
J'ai couru dans cette ainsi, et daemoni la solution a fonctionné pour moi. Plus précisément, j'ai changé mon code de cette fonction:
J'ai eu un problème similaire hier, il s'avère que smtp.gmail.com a la résolution de l'adresse IPv6, alors que tout était plus ou moins rompu à partir de là.
Ma solution est de mettre de l'adresse IPv4 au lieu de smtp.gmail.com
(Dans mon cas 173.194.79.108, je ne suis pas sûr si c'est global, donc peut-être que la commande ping pour obtenir l'adresse IP de la première)
C'est une solution temporaire, mais fonctionnera probablement pour une longue période de temps.
"Impossible de se connecter à l'hôte SMTP" vous dit que vous n'avez pas de connexion à partir de votre serveur source vers le serveur de cibler, dans ce cas smtp.gmail.com.
Les raisons possibles sont
S'il vous plaît tester avec, par exemple, telnet, si vous pouvez vous connecter à smtp.gmail.com au port 465 à tous (à partir du serveur d'hébergement de votre code PHP).
Aussi, je suppose que vous avez permis requis extensions.
Eu une erreur similaire et avait à son tour sur "l'Accès des moins sûr apps" dans le compte gmail.
Vous pouvez trouver dans les paramètres du compte.
Vérifier ces choses
Vérifier le php.ini la ligne extension=php_openssl.dll et de désactiver votre pare-feu. Il pourrait être le blocage de la connexion ssl.