Я знаю, что есть много похожих вопросов, я прочитал их все, попробовал все в комментариях.Все еще не работает.
Я создал учетную запись gmail для этого проекта и с самого начала установил менее безопасные конфигурации использования приложений.Если кто-нибудь может дать мне какие-либо идеи, я часто это делаю, я пытаюсь решить эту проблему в течение нескольких месяцев.
Вот результат:
"2018-06-03 21:03:33 СЕРВЕР -> КЛИЕНТ: 2018-06-03 21:03:33 SMTP УВЕДОМЛЕНИЕ: EOF перехвачен при проверке подключения. Ошибка SMTP: не удалось проверить подлинность. Ошибка SMTP: не удалось проверить подлинность. Сообщение не было отправлено.Ошибка почтовой программы: ошибка SMTP: не удалось аутентифицироваться.> "
И это мой код send.php:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
require 'PHPMailer/src/Exception.php';
require 'vendor/autoload.php';
if(isset($_REQUEST['send']))
{
$name= $_REQUEST['name'];
$tel= $_REQUEST['tel'];
$email= $_REQUEST['email'];
$preference= $_REQUEST['preference'];
$area= $_REQUEST['area'];
$message= $_REQUEST['message'];
$mail = new PHPMailer(true);
try {
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'mygmailaccount@gmail.com';
$mail->Password = 'thepassword';
$mail->SMTPSecure = 'TSL';
$mail->Port = 587;
$mail->CharSet= 'UTF-8';
// Port 465 for SSL auth. Also tried 587 for authenticated TLS
$mail->setFrom($email, $name);
$mail->addAddress('mygmail@gmail.com', 'Myname');
$mail->isHTML(true);
$mail->Subject = "Contact from ".$name;
$mail->Body = "Name:". $name. ". </br> Tel:". $tel. ". </br> Email:". $email. ". </br> Preference:". $preference. ". </br> Area:". $area. ". </br> Message:". $message. ". </br> ";
$mail->AltBody = "Name:". $name. ". ::: Tel:". $tel. ". ::: Email:". $email. ". ::: Preference:". $preference. ". ::: Area:". $area. ". ::: Message:". $message. ". ::: ";
$mail->send();
$_SESSION["success"] = "Thanks for the message";
}
catch (Exception $e)
{
echo 'Message hasnt been sent. Mailer Error: ', $mail->ErrorInfo;
}
}
Редактировать: я пробовал то, что сказали Абдулла и Гласс, деактивировал двухэтапную проверку и изменил на tsl с портом 587 и отладкой 3 и получил эти выходные данные:
2018-06-03 22:03:55 Соединение: открытие к smtp.gmail.com:587, timeout = 300, options = array () 2018-06-03 22:03:55 Подключение: открыто 2018-06-03 22:03:55 SERVER -> КЛИЕНТ: 220 smtp.gmail.com ESMTP u74-v6sm3867212qku.55 - gsmtp 2018-06-03 22:03:55 КЛИЕНТ -> СЕРВЕР: EHLO localhost 2018-06-03 22:03:55 СЕРВЕР -> КЛИЕНТ: 250-smtp.gmail.com к вашим услугам,[190.2.100.71] 250-РАЗМЕР 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250 SMTPUTF8 2018-06-03 22:03:55 КЛИЕНТ -> СЕРВЕР: STARTTLS 2018-06-03 22:03:56 СЕРВЕР -> CLI2.0.0 Готов к запуску TLS 2018-06-03 22:03:56 Ошибка подключения.Ошибка № 2: stream_socket_enable_crypto (): операция SSL завершилась неудачно с кодом 1. Сообщения об ошибках OpenSSL: ошибка: 14090086: процедуры SSL: ssl3_get_server_certificate: сбой проверки сертификата [H: \ xampp \ htdocs \ mati \ PHPMailer \ src \ SMTP.php строка 406] Ошибка SMTP: не удалось подключиться к узлу SMTP.2018-06-03 22:03:56 КЛИЕНТ -> СЕРВЕР: ВЫЙТИ 2018-06-03 22:03:56 СЕРВЕР -> КЛИЕНТ: 2018-06-03 22:03:56 ОШИБКА SMTP: Сбой команды QUIT: 2018-06-03 22:03:56 Соединение: закрыто SMTP Ошибка: не удалось подключиться к узлу SMTP.Эль менсае но ха сидо энвиадо.Ошибка почтовой программы: ошибка SMTP: не удалось подключиться к узлу SMTP.
Edit2: решено, я загрузил на временный сервер, который использует аутентификацию tsl, и работал отлично.Я могу поблагодарить вас достаточно @ abdulla-nilam и @ mr-glass за ваш вклад.В конце концов, сообщение отправлено, спасибо еще раз.Сначала он не работал с моего локального хоста, но на временном сервере работает просто отлично.