霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

解决php_network_getaddresses: getaddrinfo failed错误

最近使用SMTP发送邮件的时候,总是不成功。返回的失败信息是:

Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed:Name or service not known in /home/www/WebMail/smtp.php on line 89

Warning: fsockopen(): unable to connect to smtp.exmail.qq.com:25 in /home/www/WebMail/smtp.php on line 70

经过仔细分析,这个问题并不是PHP的问题,而是出在域名解析环节。我在服务器上ping smtp.exmail.qq.com 居然ping不通,原来如此。

解决办法:

打开/etc/hosts,添加 对应ip 和 相应的SMTP域名。

或者打开/etc/resolv.conf,更改自己的域名解析服务器

修改完成后再次执行邮件发送程序,OK,错误没有了。