После обновления до php 5.6 (mac os x sierra) я не могу отправлять письма в локальной тестовой среде.Symfony swiftmailer через smtp gmail на localhost opensl error
Но, к сожалению, доставка почты через swiftmailer в Symfony не работает.
Это ошибка:
[Symfony\Component\Debug\Exception\ContextErrorException]
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
То, что я обнаружил до сих пор:
Поскольку PHP 5.6 OpenSSL кажется требование: http://php.net/manual/en/migration56.openssl.php
Потому что после обновления я не был в состоянии использовать file_get_contents вообще без этой ошибки, так что я сделал, чтобы указать openssl.cafile = в моем php ini, как я нашел здесь: https://andrewyager.com/2016/10/04/php-on-macos-sierra-cant-access-ssl-data/
Теперь file_get_contents работает снова, но я не могу отправлять почту swiftmailer через smtp.
Это мой SwiftMailer конфигурация:
SwiftMailer:
transport: "smtp"
host: "smtp.gmail.com"
username: "%mailer_user%"
password: "%mailer_password%"
auth_mode: login
port: 587
encryption: tls
delivery_address: "%mailer_delivery_address%"
spool: { type: memory }
Должен ли я предоставить свой cafile на любом другом месте в симфони/Swiftmailer?
Я уже нашел это: PHP - Swiftmailer using STARTTLS and self signed certificates Но для таких решений, как это не вариант, потому что я хочу развернуть кодовую базу без изменения этого каждый раз. Я предпочитаю решать эту проблему на системном уровне.
Пожалуйста, укажите версию OpenSSL вы используете. Также, пожалуйста, покажите код, который устанавливает контекст, используемый OpenSSL. Он должен выглядеть так, как [SSL/TLS Client] (https://wiki.openssl.org/index.php/SSL/TLS_Client) в вики OpenSSL. – jww