在 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 中;