解决laravel使用QQ邮箱发邮件失败

在 laravel 中使用 QQ 发送邮件的时候莫名其妙的出现了如下错误:
Connection could not be established with host smtp.exmail.qq.com [php_network_getaddresses: getaddrinfo failed: Name or service not known #0]
in StreamBuffer.php line 270

顺藤摸瓜找到 vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php
发现其实是这个 错误抑制符号;

去掉这个 @ 可以看到真正的报错原因是这样的

stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known
in StreamBuffer.php line 267

先用 yum install -y bind-utils 安装 nslookup 命令;
然后 nslookup smtp.exmail.qq.com 可以获取 ip ;

我们可以得到2个ip;
163.177.72.143 和 163.177.90.125 ;
然后把这两个ip加入到 /etc/hosts 中;

白俊遥博客
请先登录后发表评论
  • latest comments
  • 总共2条评论
白俊遥博客

年轻♛⑤霸道:最后吧得到的2个ip,加入到 /etc/hosts中  没太明白?

2019-02-14 17:48:04 回复

白俊遥博客

AS:为什么还要手动设置host呢?机器的dns服务器是什么?

2019-02-02 11:57:14 回复