发送 TLS 电子邮件时 Laravel 证书验证错误
Posted
技术标签:
【中文标题】发送 TLS 电子邮件时 Laravel 证书验证错误【英文标题】:Laravel certificate verification errors when sending TLS email 【发布时间】:2018-08-24 12:20:12 【问题描述】:Windows 10、Apache httpd 2.4、php 7.1.4、Laravel 5.5 允许 Gmail 的安全性较低。
我的 .env 文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=account@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl
错误信息:
无法与主机 smtp.gmail.com 建立连接
MAIL_PORT=587
MAIL_ENCRYPTION=tls
错误信息:
stream_socket_enable_crypto():SSL 操作失败,代码为 1。 OpenSSL 错误消息: 错误:14090086:SSL 例程:ssl3_get_server_certificate:证书验证失败
如何解决“证书验证失败”错误?
【问题讨论】:
请查看answer 如果像 smtp.gmail.com 这样的知名域的证书验证失败,我怀疑有人劫持了你的 DNS。 laravel : cURL error 60: SSL certificate unable to get local issuer certificate的可能重复 @Webinion 您的回答无效。请查看我编辑的问题。 【参考方案1】:解决方案:
下载the cURL cacert.pem
file
把 cacert.pem 放在你喜欢的地方
编辑php.ini
以引用此文件位置:
curl.cainfo = D:/Servers/php/sslfiles/cacert.pem
openssl.cafile = D:/Servers/php/sslfiles/cacert.pem
-
重启网络服务器
【讨论】:
以上是关于发送 TLS 电子邮件时 Laravel 证书验证错误的主要内容,如果未能解决你的问题,请参考以下文章