Не удается авторизоваться PHPMailer
Пустые строки у меня заполнены и данные почты у меня указаны правильно. (Не ссылайтесь на другие статьи, там я не нашел решения.)
Текст скрипта отправки письма на почту указанную в форме:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
//Server settings
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '';
$mail->Password = '';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
//Recipients
$mail->setFrom('');
$mail->addAddress($_POST['email']);
//Content
$mail->isHTML(true);
$mail->Subject = '';
$mail->CharSet = 'UTF-8';
$mail->setLanguage('ru', 'PHPMailer/language/');
$lastName = $_POST['last-name'];
$firstName = $_POST['first-name'];
$mail->Body = '';
if(!($mail->send())){
$message = 'Письмо не отправлено';
}
else{
$message = 'Письмо отправлено';
}
$response = ['message' => $message];
header('Content-type: application/json');
echo json_encode($response);
?>
Текст ошибки:
<br />
<b>Fatal error</b>: Uncaught PHPMailer\PHPMailer\Exception: Ошибка SMTP: не удалось пройти аутентификацию. in C:\xampp\htdocs\site\php\PHPMailer\src\PHPMailer.php:2261
Stack trace:
#0 C:\xampp\htdocs\site\php\PHPMailer\src\PHPMailer.php(2058): PHPMailer\PHPMailer\PHPMailer->smtpConnect(Array)
#1 C:\xampp\htdocs\site\php\PHPMailer\src\PHPMailer.php(1687): PHPMailer\PHPMailer\PHPMailer->smtpSend('Date: Wed, 16 A...')
#2 C:\xampp\htdocs\site\php\PHPMailer\src\PHPMailer.php(1521): PHPMailer\PHPMailer\PHPMailer->postSend()
#3 C:\xampp\htdocs\site\php\query.php(39): PHPMailer\PHPMailer\PHPMailer->send()
#4 {main}
thrown in <b>C:\xampp\htdocs\site\php\PHPMailer\src\PHPMailer.php</b> on line <b>2261</b><br />
Я думал насчет того, что спец. символы в пароле и почте кодируются неправильно, но я к сожалению не обладаю достаточными знаниями, чтобы проверить.
Ответы (1 шт):
Автор решения: Иван
→ Ссылка
В тестовом режиме включи эту строчку, там будет выводится очень детальный отчет
$mail->SMTPDebug = SMTP::DEBUG_SERVER;