centos/linux php mail “Access is denied.”

很多网友遇到这个问题,我的解决办法如下:
首先在你的服务器上新建phpinfo.php,内容如下:

<?php
    phpinfo();
?>

然后看看你的php的openssl部分是否开启?

openssl
然后测试对fsockopen()函数的支持,在服务器上新建test.php,代码如下:

<?php
$fp = fsockopen("smtp.ym.163.com",25,&$errno,&$errstr,60);
if(!$fp)
    echo "$errstr   ($errno) <br />\n";
else {
    echo "ok <br />\n";
    fclose($fp);
}
?>

如果这项OK,说明你的openssl环境没有问题。
如果遇到:php_network_getaddresses: getaddrinfo failed。
说明你服务器的dns设置有问题,简单的方法是修改类似windows下的hosts文件。
在bash里面输入nano /etc/hosts或者vi /etc/hosts,在这个文件里面添加你要解析的ip和对应的域名,如下示例:

123.58.178.59   smtp.ym.163.com

然后保存hosts文件,刷新测试页面。如果没有其他配置问题,页面显示OK…
Then everything will be ok~

发表评论