Ошибка соединения OpenSSL, вызванная stream_socket_enable_crypto()

В моем коде php у меня есть следующая строка, которая использует класс SWIFT MAILER

if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {

  return false;

}

однако редко (не всегда) я получаю следующую ошибку php

stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

я не уверен, где проблема, или я должен игнорировать это, поскольку это происходит только время от времени

3 ответа

У меня была такая же ошибка.

stream_socket_enable_crypto(): операция SSL не удалась с кодом 1. Сообщения об ошибках OpenSSL: ошибка: 1408F10B: процедуры SSL: SSL3_GET_RECORD: неверный номер версии

Это было вызвано неправильными настройками SMTP. Я имел:

      $transport = Swift_SmtpTransport::newInstance('mail.myserver.com', 465, 'tls');

и как только я исправил это на

      $transport = Swift_SmtpTransport::newInstance('mail.myserver.com', 465, 'ssl');

это работало нормально. Довольно неинтуитивное сообщение об ошибке, но в конце концов я его получил.

Типично routines:SSL3_GET_RECORD:wrong version number код для сервера, который вообще не использует SSL/TLS

Итак, не забудьте проверить это в первую очередь.

В вашем php.ini поиск строки

; extension=php_openssl.dll

и удалить; так становится:

extension=php_openssl.dll

Затем сохраните, перезагрузите и наслаждайтесь.

Другие вопросы по тегам