使用gmail发送Laravel 5.5邮件

时间:2017-09-18 14:54:58

标签: php laravel email

我尝试使用带有gmail的laravel 5.5发送电子邮件时收到错误。

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

请注意,我的测试服务器mailtrap一切正常。那么我怎样才能将这项工作用于生产?

2 个答案:

答案 0 :(得分:5)

您在邮件主机MAIL_HOST=smtp.gmail.com

中有错误

根据您的问题,您使用了MAIL_HOST=gmail-smtp-msa.l.google.comMAIL_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

答案 1 :(得分:4)

通常为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