[英]Laravel certificate verification errors when sending TLS email
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:證書驗證失敗
如何解決“證書驗證失敗”錯誤?
我找到了解決方案。 無需更改guzzlehttp / guzzle / src / Client.php,這在另一個問題中建議。
解:
從https://curl.haxx.se/docs/caextract.html下載cacert.pem文件
將cacert.pem放在您喜歡的地方。
編輯php.ini
兩行:
curl.cainfo=D:/Servers/php/sslfiles/cacert.pem
openssl.cafile=D:/Servers/php/sslfiles/cacert.pem
當您收到 ssl 證書驗證錯誤時,您可以在 .env 文件中設置這兩個變量:
MAIL_PORT=587
MAIL_ENCRYPTION=tcp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.