如何解决Laravel 8:无法与主机smtp.gmail.com建立连接
我正在尝试使用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
我发现了很多有关此问题的帖子,但没有一个对我有用,这是我尝试过的事情的清单:
- 在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=direction@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
解决方法
我遇到了同样的问题,我只是禁用了防病毒软件(Avast / Windows 10)及其功能。
,尝试一下并添加额外的身份验证模式环境变量
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','auth_mode' => env('MAIL_AUTH_MODE'),
,
最后,这是Windows的问题。我发现一些帖子指出Windows无法执行某些邮件服务。我在装有Ubuntu的计算机上尝试了完全相同的代码,并且在第一次尝试时就起作用了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。