Laravel 8:无法与主机 smtp.gmail.com 建立连接
Posted
技术标签:
【中文标题】Laravel 8:无法与主机 smtp.gmail.com 建立连接【英文标题】:Laravel 8: Connection could not be established with host smtp.gmail.com 【发布时间】:2021-01-04 09:24:22 【问题描述】:我正在尝试使用 Google SMTP 服务器从我的 laravel 8 应用程序发送一封简单的电子邮件,但它不起作用,我收到此错误:
Swift_TransportException
Connection could not be established with host smtp.gmail.com :stream_socket_client(): SSL:
或
stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
我发现了很多关于这个问题的 SO 帖子,但没有一个对我有用,这是我尝试过的列表:
在 google 帐户中启用安全性较低的应用 使用端口 465 和 587 使用smtp.googlemail.com
和smtp.gmail.com
使用MAIL_ENCRYPTION=tls
和ssl
将'stmp'
更改为'sendmail'
Blocking switmailer's ssl constraint
还有什么我可以尝试的吗?
这是我的邮件配置,虽然我尝试了很多版本:
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=address@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="$APP_NAME"
【问题讨论】:
查看https://***.com/questions/30556773/how-to-fix-stream-socket-enable-crypto-ssl-operation-failed-with-code-1 能否请您发送邮件配置。 (只需省略密码等) @ChrisTownsend 当然,我已将其添加到问题中 【参考方案1】:试试这个并添加额外的身份验证模式环境变量
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=direction@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="$APP_NAME"
MAIL_AUTH_MODE=login
现在去config/mail.php
改变
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => null,
],
到
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => env('MAIL_AUTH_MODE'),
],
【讨论】:
它一直失败...抛出问题中显示的第二条错误消息 随机一张。您的环境是否有正确的日期和时间设置您所在的时区?【参考方案2】:最后,这是 Windows 的问题。我发现一些帖子指出 Windows 无法执行某些邮件服务。我在一台装有 Ubuntu 的计算机上尝试了完全相同的代码,并且在第一次尝试时就成功了。
【讨论】:
【参考方案3】:我遇到了同样的问题,我只是禁用了我的防病毒软件 (Avast / windows 10) 及其工作。
【讨论】:
你节省了我的时间,兄弟!谢谢!它也对我有用!以上是关于Laravel 8:无法与主机 smtp.gmail.com 建立连接的主要内容,如果未能解决你的问题,请参考以下文章
无法与主机 smtp.gmail.com [#0] 建立连接 - LARAVEL / XAMPP / PHP7
无法从 Laravel 应用程序发送电子邮件:无法与主机 smtp.gmail.com 建立连接 [连接超时 #110]
无法与主机 smtp.gmail.com 建立连接 Network is unreachable #101 error in Laravel email