问题:邮件发送不了。
框架:Magento2.2
环境:PHP7.2 + nginx + openssl1.1.0j
现象:邮件发送不了
解决问题过程
使用“忘记密码”功能去重新问题,因为此功能涉及到发邮件功能,边提交一个忘记密码表单,边到服务器查看错误日志,tail -f /WEB_PATH/var/log/exception.log. 发现了日志中即时生成的错误信息“error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed at ......” 。开始着手解决问题,从周末晚上,周一全天,周二晚上,周三上午,一直在各种排查问题和错误一直到周三上午才解决。主要解决了三个大错误,Email可以正常发送了。以下是我解决三个问题的过程,记录下来,以后遇到类似错误,可以自勉,同时,也希望与遇见此错误的其他同事共勉。有些操作我其实不是很确定是不是必要,希望有类似经历的朋友给指点一下。
解决第一个错误:
服务器上,提交“忘记密码”后,在var/log/Exception.log 中产生的错误日志:“error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed at /WEB_PATH/web/vendor/swissup/module-email/Mail/Transport/Smtp.php:87, Zend\\Mail\\Protocol\\Exception\\RuntimeException(code: 2): Could not open socket: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed at /WEB_PATH/web/vendor/zendframework/zend-mail/src/Protocol/AbstractProtocol.php:209)