在使用 PHPMailer 发送注册认证信息的提示 smtp connect() failed. 开始还以为是PHP扩展没有安装,后来才发现是vultr 封了相关端口导致。
解决方案:使用 ssmtp 解决来转发
1、关闭 sendmail
杀掉sendmail 所有进程
# killall sendmail
然后编辑 /etc/rc.conf 添加以下内容
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
2、安装ssmtp, make replace 会自动修改 /etc/mail/mailer.conf 把默认用的邮件系统从sendmail改成ssmtp
# cd /usr/ports/mail/ssmtp/ # make install replace3、配置 ssmtp
# cd /usr/local/etc/ssmtp # cp revaliases.sample revaliases # cp ssmtp.conf.sample ssmtp.conf修改 ssmtp.conf 如下图
修改revaliases 文件如下
然后放弃 PHPMailer 使用ssmtp 发送邮件就可以了。
如果你需注册 vultr VPS 可以使用 http://www.vultr.com/?ref=7005541 就当是支持本文啦!
参考文献
http://blog.csdn.net/raptor/article/details/39854397
在vultr的vps让 FreeBSD 10.3 支持163 smtp 发信
最新推荐文章于 2019-02-27 15:48:45 发布