web-dev-qa-db-fra.com

AVIS SMTP PhpMailer: EOF intercepté lors de la vérification de la connexion)

J'ai un problème avec phpMailer, je ne peux pas envoyer d'e-mail et cela me donne cette erreur:

2016-03-03 21:32:09 SERVER -> CLIENT: 2016-03-03 21:32:09 SMTP NOTICE: EOF caught while checking if connected 2016-03-03 21:32:09 SMTP Error: Could not authenticate. 2016-03-03 21:32:09 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Erreur : SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

Voici mon code:

<?php require('phpmailer/PHPMailerAutoload.php'); 
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'ssl://smtp.gmail.com';
$mail->SMTPAuth= true;
$mail->Username='[email protected]';
$mail->Password='passwordgmail';
$mail->Port = 587; 
$mail->SMTPDebug = 2; 
$mail->SMTPSecure = 'ssl';
$mail->SetFrom('[email protected]', 'Name');
$mail->AddAddress('[email protected]', 'HisName');
$mail->Subject = 'Subject';
$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail    clients";
if(!$mail->Send()) {
echo 'Error : ' . $mail->ErrorInfo;
} else {
    echo 'Ok!!';
  } 
?>

J'ai essayé toutes les réponses que j'ai trouvées, mais aucune n'a fonctionné jusqu'à présent. J'ai également essayé d'autres ports, les 25 et 465 ne fonctionnent pas et me donnent d'autres erreurs. Si quelqu'un pouvait m'aider, ce serait vraiment sympa =). Je vous remercie

10
Max G

Vous utilisez SMTPSecure = 'ssl' avec Port = 587. Ça ne marchera pas. Utilisez ssl/465 ou tls/587; ne les confondez pas. Ce problème (et bien d'autres) sont traités dans le guide de dépannage auquel le message d'erreur renvoie.

Notez également que le ssl: le préfixe de votre valeur Host remplacera la valeur dans SMTPSecure, donc je vous suggère de le supprimer de là.

24
Synchro
require('phpmailer/PHPMailerAutoload.php'); 
$mail = new PHPMailer();
$mail->IsSMTP(true);
$mail->Host = 'smtp.gmail.com'; // not ssl://smtp.gmail.com
$mail->SMTPAuth= true;
$mail->Username='[email protected]';
$mail->Password='passwordgmail';
$mail->Port = 465; // not 587 for ssl 
$mail->SMTPDebug = 2; 
$mail->SMTPSecure = 'ssl';
$mail->SetFrom('[email protected]', 'Name');
$mail->AddAddress('[email protected]', 'HisName');
$mail->Subject = 'Subject';
$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail    clients";
if(!$mail->Send()) {
echo 'Error : ' . $mail->ErrorInfo;
} else {
    echo 'Ok!!';
} 

https://www.google.com/settings/u/0/security/lesssecureapps activez cette

1
Justin J