J'essaie d'envoyer un e-mail de test à une boîte de réception mailtrap.io, mais je continue d'obtenir ces erreurs lorsque j'active le débogage. Auparavant, j'obtenais une commande Nom d'utilisateur a échoué jusqu'à ce que j'ai ajouté AuthType = Connexion.Impossible d'envoyer le courrier avec PHPMailer et Mailtrap
2017-08-01 22:34:46 SERVER -> CLIENT: 220 mailtrap.io ESMTP ready
2017-08-01 22:34:46 CLIENT -> SERVER: EHLO localhost
2017-08-01 22:34:46 SERVER -> CLIENT: 250-mailtrap.io 250-SIZE 5242880 250-PIPELINING 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250-AUTH PLAIN LOGIN CRAM-MD5 250 STARTTLS
2017-08-01 22:34:46 CLIENT -> SERVER: STARTTLS
2017-08-01 22:34:46 SERVER -> CLIENT: 220 2.0.0 Start TLS
2017-08-01 22:34:47 CLIENT -> SERVER: EHLO localhost
2017-08-01 22:34:47 SERVER -> CLIENT: 250-mailtrap.io 250-SIZE 5242880 250-PIPELINING 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 AUTH PLAIN LOGIN CRAM-MD5
2017-08-01 22:34:47 CLIENT -> SERVER: AUTH LOGIN
2017-08-01 22:34:47 SERVER -> CLIENT: 334 xxxx
2017-08-01 22:34:47 CLIENT -> SERVER: xxxxxxxxxxx=
2017-08-01 22:34:47 SERVER -> CLIENT: 334 xxxxxxxxxxxx
2017-08-01 22:34:47 CLIENT -> SERVER:
2017-08-01 22:34:50 SERVER -> CLIENT: 535 5.7.0 Invalid login or password 2017-08-01 22:34:50 SMTP ERROR: Password command failed: 535 5.7.0 Invalid login or password
2017-08-01 22:34:50 SMTP Error: Could not authenticate.
2017-08-01 22:34:50 CLIENT -> SERVER: QUIT
2017-08-01 22:34:51 SERVER -> CLIENT: 221 2.0.0 Bye
2017-08-01 22:34:51 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Voici mon code sur la page qui essaie d'envoyer l'e-mail. Les informations d'identification sont stockées dans la classe Config et j'ai vérifié plusieurs fois que le nom d'utilisateur et le mot de passe correspondent à ceux fournis par la boîte de réception mailtrap. Actuellement, le port est fixé à 465. J'ai essayé 2525 ainsi aux mêmes résultats. Le port 25 ne fait que temporiser l'application.
if(isMethod('post')) {
if (isset($_POST['email'])) {
/*********************
*configure PHPMailer*
*********************/
$mail = new PHPMailer();
$mail->AuthType = 'LOGIN';
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = Config::SMTP_HOST;
$mail->SMTPAuth = true;
$mail->Username = Config::SMTP_USER;
$mail->Passowrd = Config::SMTP_PASSWORD;
$mail->SMTPSecure = 'tls';
$mail->Port = Config::SMTP_PORT;
$mail->isHTML(true);
$mail->setFrom('[email protected]', 'My Name');
if (!getEmailDb()) {
echo (displayMessage("E-Mail does not exist.", "warning"));
}
else {
$email = getEmailDb();
$token = bin2hex(openssl_random_pseudo_bytes(50));
$mail->addAddress($email);
$mail->Subject = 'This is a test email.';
$mail->Body = 'Email body';
if($mail->send()) {
echo (displayMessage("E-Mail sent. It should show up in your inbox pretty soon.", "success"));
}
else {
echo (displayMessage("Could not send E-Mail to ".$email, "warning"));
}
}
}
}
Définissez '$ mail-> SMTPDebug = 2;' pour que vous puissiez voir ce que le serveur dit. TLS ne fonctionnera pas au port 465; essayez 587. Lisez également le guide de dépannage sur lequel le message d'erreur pointe. – Synchro
L'utilisation de ce port donne un délai d'expiration. Mailtrap dit d'utiliser 25, 465 ou 2525 pour les connexions SMTP. Je vais éditer ce message avec les informations de débogage de niveau 2 sous le port 465. – SolidSnackDrive
Peut-être que [this] (https://stackoverflow.com/a/25670661/2917673) pourrait aider – Yolo