phpMailer在CentOS 6.5下无法发送邮件的解决办法

网站在Windows平台上开发测试,完成了后同步到CentOS6.5 Nigix运行。发现phpMailer组件无法与SMTP服务器建立连接,导致无法发送邮件。

错误代码:

phpmailer smtp connect() failed

在网上找到一些解决办法,实测下面的方案可行:
1.原因分析,phpMailer在进行smtp服务器DNS解析时,得到了IP v6地址,然后与IP v6解析到的地址进行连接,导致连接失败。
2.办法有三个:1.跳过DNS解析,直接给出IP地址。2.强制进行IPv4 DNS解析。3.禁用IPv6。
3.因为用不到IPv6,所以我采用禁用IPv6的办法。

步骤:
1.检测IPv6

ip -6 addr show 

如果有显示,则说明启用了IPV6协议


2.关闭IPv6用vi在/etc/modprobe.d/dist.conf结尾添加

alias net-pf-10 off
alias ipv6 off
有可能上面文件不存在
可使用以下命令关闭IPv6
sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1

未经允许不得转载!phpMailer在CentOS 6.5下无法发送邮件的解决办法