Я знаю, что эта проблема PHPMailer, вероятно, одна из самых обсуждаемых, и, честно говоря, у меня никогда не было такой проблемы. Но недавно я начал получать ошибки «Не удалось подключиться к серверу: (0)». Я пытался обновить PHPMailer до последней версии, но это не помогло. Я также установил уровень отладки на 2, но пока он не дает мне никакой конкретной информации. Вот моя реализация:
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; //gmail SMTP server
$mail->SMTPAuth = true;
$mail->Username = '-------@gmail.com'; //username
$mail->Password = '-------------'; //password
$mail->SMTPSecure = 'ssl';
$mail->Port = 465 ;
$mail->isHTML(true);
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 2;
$mail->setFrom('-----@---------.net', 'contact form');
$mail->addAddress('-----------------@hotmail.com', 'Admin');
$mail->Subject = $email_subject;
$mail->Body = $email_body;
$mail->AltBody = htmlspecialchars(strip_tags($email_body));
В моем аккаунте Google включены настройки IMAP и менее защищенные приложения. Я хотел бы отметить, что я пытался использовать tls с портом 587, но безрезультатно. Странно то, что этот код раньше работал, что могло измениться?
РЕДАКТИРОВАТЬ: Вот журнал, который я получаю, когда я пытаюсь подключиться по tls:
2019-03-14 21:52:38 СЕРВЕР -> КЛИЕНТ: 220 smtp.gmail.com ESMTP y140sm743514wmd.18 - gsmtp
2019-03-14 21:52:38 КЛИЕНТ -> СЕРВЕР: EHLO localhost
2019-03-14 21:52:38 СЕРВЕР -> КЛИЕНТ: 250-smtp.gmail.com к вашим услугам, [212.25.63.79] 250-РАЗМЕР 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 * SMTPUT250 *
2019-03-14 21:52:38 КЛИЕНТ -> СЕРВЕР: STARTTLS
2019-03-14 21:52:38 SERVER -> КЛИЕНТ: 220 2.0.0 Готов к запуску TLS
Ошибка SMTP: не удалось подключиться к узлу SMTP.
2019-03-14 21:52:38 КЛИЕНТ -> СЕРВЕР: ВЫЙТИ
2019-03-14 21:52:38 СЕРВЕР -> КЛИЕНТ: