网站在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下无法发送邮件的解决办法