我在laravel中从事邮件工作。我正在遵循配置。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=********
MAIL_PASSWORD=########
MAIL_ENCRYPTION=tls
我已经尝试过了,但是没有用
还有更多类似的问题,但我仍然没有解决方案。我出现以下错误:
ErrorException(E_WARNING) stream_socket_enable_crypto():对等证书CN =
gains.nanosupercloud.com' did not match expected CN=
smtp.sendgrid.net'
我不知道我在做什么错。这是用于发送电子邮件的代码。
public function toMail($notifiable)
{
return (new MailMessage)
->from(\Config::get('values.app_email'),\Config::get('values.app_name'))
->subject('Successfully approved your Company')
->greeting(sprintf('Hello %s', $this->user->name))
->line('Your company has been approved successfully. Now, it will be visible to our website');
}
任何建议都值得赞赏。
注意:一切都可以在本地服务器上正常运行(ubantu 16.04)
答案 0 :(得分:0)
我给出的答案可能看起来很有趣,但是在实时服务器中发送邮件时出现相同的错误
只需更改
MAIL_DRIVER=smtp
到
MAIL_DRIVER=sendmail
我不知道这是怎么回事的原因,但这对我来说很好
答案 1 :(得分:0)
我也是这样。在本地它工作正常,但在实时服务器中,因为我使用 GoDaddy 服务器,同样的问题不断出现。但最后,它起作用了。下面是我的 .env 文件代码。
MAIL_DRIVER=smtp
MAIL_HOST=abc.com
MAIL_PORT=25
MAIL_USERNAME=info@abc.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=
希望它对你有用。
答案 2 :(得分:0)
在 .env 文件中添加这一行以禁用邮件加密
MAIL_ENCRYPTION = NULL
答案 3 :(得分:0)
我有类似的问题,我所做的是改变
MAIL_DRIVER=smtp
到
MAIL_DRIVER=sendmail
然后用
清除缓存php artisan config:cache
一切都很顺利