linux 下 用phpmailer类smtp发送邮件始终不成功,
开启DEBUG提示:ERROR: Failed to connect to server: (0) SMTP Connect() failed
===============
在windows下测试是完全没有问题的,传到网上的linux的VPS或者虚拟主机发送邮件不行,开启debug后,出现的错误是这样的,我在windows下测试这个smtp服务器是可以连接的,到了Linux就不行呢?
网上有很多解决方案,第一是防火墙禁止端口的说法,但是否决,我本地有一台装linux用作本地测试用的服务器,我传到本地,同样不能发送,也是这样的错误。不过这里我关闭了selinux,iptables。都还是不行。证明应该不是端口的问题。
解决方案二:php的scoktes这个没开启。我用phpinfo查看了下,绝对的没问题,scoktes这个选项是 开启的。
方案三:用pfsockopen 函数替换 fsockopen函数 ,有的说替换以上的函数可以,但是测试后还是不行
CSDN上某人说解决过,但是又不留方法。如果是我,我肯定留下方案。 收起
开启DEBUG提示:ERROR: Failed to connect to server: (0) SMTP Connect() failed
===============
在windows下测试是完全没有问题的,传到网上的linux的VPS或者虚拟主机发送邮件不行,开启debug后,出现的错误是这样的,我在windows下测试这个smtp服务器是可以连接的,到了Linux就不行呢?
网上有很多解决方案,第一是防火墙禁止端口的说法,但是否决,我本地有一台装linux用作本地测试用的服务器,我传到本地,同样不能发送,也是这样的错误。不过这里我关闭了selinux,iptables。都还是不行。证明应该不是端口的问题。
解决方案二:php的scoktes这个没开启。我用phpinfo查看了下,绝对的没问题,scoktes这个选项是 开启的。
方案三:用pfsockopen 函数替换 fsockopen函数 ,有的说替换以上的函数可以,但是测试后还是不行
CSDN上某人说解决过,但是又不留方法。如果是我,我肯定留下方案。 收起
研究了很多终于知道了,原来是服务器的php.ini 禁用了fsockopen函数。
你可以打开php.ini。有两个地方可能禁用此函数:
1、 allow_url_fopen = On选项是否为ON,为OFF时函数将被禁用
2、查看 disable_functions = ..........后有没有 fsockopen。如果有去掉