По какой-то причине, начиная с последнего вторника без каких-либо изменений в нашем серверном программном обеспечении (Debian 8), у меня возникла эта проблема:
[Пн. 13 января 11: 13: 07.112949 2020 ] [php7: warn] [pid 2400] [client 83.240.191.162:42899] PHP Предупреждение: stream_socket_enable_crypto (): ошибка создания контекста SSL в
У нас есть несколько веб-сайтов на этом сервере (около 50), и некоторые из них могут отправлять электронные письма, а другие нет. Я проверил страницу справки PHP Mailer (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting), и, например, возврат этой команды echo QUIT | openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:587
(сильно обрезан):
Start Time: 1578912430
Timeout : 300 (sec)
Verify return code: 0 (ok)
--- 250 SMTPUTF8 DONE
Но при PHP электронное письмо не отправляется.
Open SSL настроен в PHP: ![PHP OpenSSL](https://i.stack.imgur.com/Okhpw.png)
А также установлено на сервере: OpenSSL 1.0.2l 25 May 2017
Я проверил время сервера и синхронизировал его, мы также обновили libs openssl, на всякий случай.
По крайней мере, есть сайт, который работает правильно и отправляет электронные письма через SwiftMailer, но даже когда я настраиваю другие сайты с той же конфигурацией, электронное письмо не отправляется и всегда выдает ту же ошибку.
Также я Вы обновили библиотеку сертификатов, загрузив файл cacert.pem и добавив его в PHP вручную.
![Cacert.pem installed](https://i.stack.imgur.com/MQZe9.png)
Есть идеи?