我尝试使用带有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一切正常。那么我怎样才能将这项工作用于生产?
答案 0 :(得分:5)
您在邮件主机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
答案 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