Я пытаюсь отправить тестовое сообщение на размещенный домен на Dreamhost ошибка, возвращаемая PHPMailer: Не удалось подключиться к хосту SMTP.
Однако эта ошибка неправильная, у меня включено ведение журнала, и вот что на самом деле происходит.
Соединение: открытие к mx1.sub4.homie.mail.dreamhost.com:25,
timeout= 30, options=array ( ) Соединение: открыто S: 220
homiemail-mx32.g.dreamhost.com ESMTP
C: EHLO s81a.ikbb.com
S: 250-homiemail-mx32.g.dreamhost.com 250-ПИПЕЛИНИНГ 250-SIZE 40960000
250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250 8BITMIME
C: STARTTLS
S: 220 2.0.0 Готов к запуску TLS
C: QUIT
S: ОШИБКА SMTP: Не удалось выполнить команду QUIT: Соединение: закрыто
Я не мог понять, почему PHPMailer просто сдается, выдавая команду QUIT, когда он должен начать отправлять сообщение. Я получил еще одну подсказку из другого журнала:
Предупреждение PHP:stream_socket_enable_crypto(): сертификат узла CN=
Код: Выделить всё
*.mail.dreamhost.com' did not match expected CN=
Если я использую некоторые пользовательские параметры для предотвращения проверки используемого ими сертификата, я могу продолжить его. Вот что у меня есть:
Код: Выделить всё
$mail->SMTPOptions = array (
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true));
Как я могу перехватить эту ошибку, чтобы я знал, что есть проблема, но все равно отправлял сообщение?
Подробнее здесь: https://stackoverflow.com/questions/303 ... ertificate