Я пытаюсь отправить электронное письмо с помощью php и swiftmailer с помощью STARTTLS, но я получаю ошибку сертификата. У меня есть root-доступ к SMTP-серверу, и используемый сертификат самоподписан. Я использую Debian на обеих машинах (веб-сервер и сервер SMTP)PHP - Swiftmailer с использованием STARTTLS и самоподписанных сертификатов
PHP message: PHP Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in [..]/lib/classes/Swift/Transport/StreamBuffer.php on line 97 PHP message: PHP Fatal error: Uncaught exception 'Swift_TransportException' with message 'Unable to connect with TLS encryption' in [..]/lib/classes/Swift/Transport/EsmtpTransport.php:294
мне нужно добавить свой собственный сертификат где-то, чтобы он принял ли? Или это какая-то ошибка конфигурации OpenSSL?
Где вы создали эти строки? –
@WilliamLepinski Вы просто звоните в setStreamOptions, где бы вы ни находились в своем коде, который вы создаете экземпляр Swift_SmtpTransport. Если вы не знаете, как использовать Swift Mailer, см. Пример здесь: http://swiftmailer.org/docs/sending.html Следуйте этому примеру, но добавьте вызов setStreamOptions из экземпляра Swift_SmtpTransport. –
Это худшее, что вы можете сделать, отключите все преимущества безопасности TLS. –