使用 gmail 发送 Laravel 5.5 邮件 [重复]
Posted
技术标签:
【中文标题】使用 gmail 发送 Laravel 5.5 邮件 [重复]【英文标题】:Send Laravel 5.5 mail using gmail [duplicate] 【发布时间】:2018-02-27 04:09:52 【问题描述】:我在尝试使用 laravel 5.5 和 gmail 发送电子邮件时遇到错误。
MAIL_DRIVER=smtp
MAIL_HOST=gmail-smtp-msa.l.google.com
MAIL_PORT=587
MAIL_USERNAME=mygmailadress
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
我将邮件主机从 smtp.google.com 更改为那个,因为我无法访问 smtp.google.com
这是我尝试发送邮件时遇到的错误
stream_socket_enable_crypto(): Peer certificate CN=`smtp.gmail.com' did not match expected CN=`gmail-smtp-msa.l.google.com'
这是我在使用 mail_host smtp.google.com 时使用的错误
Connection could not be established with host smtp.google.com
[php_network_getaddresses: getaddrinfo failed: Name or service not known #0
请注意,我的测试服务器邮件陷阱一切正常。那么我怎样才能使这项工作用于生产呢?
【问题讨论】:
【参考方案1】:邮件主机MAIL_HOST=smtp.gmail.com
有错误
根据您的问题,您使用了MAIL_HOST=gmail-smtp-msa.l.google.com
和MAIL_HOST=gmail-smtp-msa.l.google.com
但gmail主机是smtp.gmail.com
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=mygmailadress
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
【讨论】:
我该如何解决?【参考方案2】:通常将加密设置为 ssl 有效:
'encryption' => 'ssl'
在你的config/mail.php
:
但你最好还是坚持smtp.gmail.com
:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=mygmailadress
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl
【讨论】:
ssl 不如 tls 安全,而且似乎对 gmail 已关闭,我无法使用 ssl 连接,但使用 tls 工作得很好以上是关于使用 gmail 发送 Laravel 5.5 邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 密码重置电子邮件未在 Heroku 上使用 gmail 发送
Laravel 5.5 - 仅记录 500 错误,从不通过 api 发送错误详细信息?
无法从 Laravel 应用程序发送电子邮件:无法与主机 smtp.gmail.com 建立连接 [连接超时 #110]