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
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à.
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