web-dev-qa-db-fra.com

Erreur PHPMailer: SMTP -> ERROR: Impossible de se connecter au serveur.

J'essaie de google toute la matinée et je pense que j'ai besoin de Stackoverflow maintenant!

J'ai écrit un script simple pour envoyer un mail (de hotmail à gmail) mais j'obtiens cette erreur:

SMTP -> ERREUR: échec de la connexion au serveur: une tentative de connexion a échoué car la partie connectée n'a pas répondu correctement après un certain temps ou la connexion établie a échoué car l'hôte connecté n'a pas répondu. (10060) Échec de la connexion SMTP (). Erreur

C'est le code:

<?php
require_once("../includes/phpMailer/class.phpMailer.php");
require_once("../includes/phpMailer/class.smtp.php");


$to_name = "RECEIVER NAME";
$to = "[email protected]";


$subject = "Mail test at " . strftime("%T", time());

$message = "This is a test message";
$message = wordwrap($message, 70);


$from_name = "MY NAME";
$from = "[email protected]";


$mail = new PHPMailer();

$mail->IsSMTP();
$mail->SMTPDebug  = 2;
$mail->Host = "smtp.live.com";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "MY USERNAME (hotmail)";
$mail->Password = "MY PASSWORD (hotmail)";


$mail->FromName = $from_name;
$mail->From = $from;
$mail->AddAddress($to, $to_name);
$mail->Subject = $subject;
$mail->Body = $message;

$result = $mail->Send();

echo $result ? 'Sent' : 'Error';

?>

Une autre information est que même la fonction mail () standard ne fonctionnait pas, et en vérifiant les informations php, j'ai trouvé ceci:

sendmail_from - MY PROPER MAIL (hotmail)

sendmail_path - aucune valeur

SMTP - localhost

smtp_port - 25

Je vous remercie!!

6
FrancescoMussi

Je crois que le port 25 est bloqué sur smtp.live.com. Je ne peux pas me connecter à smtp.live.com:25 d'ici non plus. Essayez d'utiliser le port 587 à la place, avec TLS. Donc, ce serait:

$mail->Port = 587;
$mail->SMTPSecure = 'tls';   
5
mti2935

J'ai trouvé une solution à ce problème, essayez ceci

Vérifiez si votre PHP utilise openSSL extension ou non ...!

  1. Editez votre php.ini à partir de votre dossier php installé
  2. Recherche de extension = php_openssl.dll
  3. L'initiale ressemblera à ceci; extension = php_openssl.dll
  4. Retirer le ';' et cela ressemblera à ceci extension = php_openssl.dll
  5. Si vous ne trouvez pas le extension = php_openssl.dll , ajoutez cette ligne extension = php_openssl.dll .
  6. Ensuite, redémarrez votre serveur Xampp, LAMP ou Apache (cela dépend de celui que vous utilisez).

J'espère que cette méthode résoudra votre problème ...

2
Sohail xIN3N

Vous voudrez peut-être vérifier les ports pris en charge. Par exemple, mon hôte prend en charge smtp via les ports 25, 3535 et 80.
L’utilisation du port 80 a fonctionné pour moi

0
CodesmithX