/ / No se puede enviar correo con PHPMailer y Mailtrap - php, mysql, email, phpmailer

No se puede enviar correo con PHPMailer y Mailtrap - php, mysql, email, phpmailer

Estoy tratando de enviar un correo electrónico de prueba a un correo electrónico.io bandeja de entrada, pero sigo recibiendo estos errores cuando enciendo la depuración. Anteriormente obtenía un comando de Nombre de usuario que fallaba hasta que agregué AuthType = Login.

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

Aquí está mi código en la página que intenta enviar.el correo electrónico. Las credenciales se almacenan en la clase Config, y he verificado varias veces que el nombre de usuario y la contraseña coinciden con los proporcionados por la bandeja de entrada de mailtrap. Actualmente, el puerto está configurado en 465. También he intentado 2525 con los mismos resultados. El puerto 25 solo hace que la aplicación se agote.

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("myemail@gmail.com", "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"));
}
}
}

}

Respuestas

0 para la respuesta № 1

Descubrí el problema. No puede simplemente enviar correo desde localhost sin ningún tipo de configuración de servidor SMTP, por eso recibí errores. Para cualquier persona que se encuentre con esto en el futuro, Papercut para Windows puede usarse para probar el envío de correo en su máquina local.