完美解决phpcms邮件无法发送

很长一段时间没有写文章了,最近一直在忙建站的事情,由于自己技术有限所以用了网上很火爆的phpcms来建站。

网站放到服务器上时,发现了一个很大的问题,什么问题呢?

完美解决phpcms邮件无法发送

在本地能够完美使用的邮箱服务居然不能使用了,这使得小编百思不得其解,在网上疯狂的找解决办法,结果发现一个有用的都没有。

最后没办法了,问了问服务器商,发现fsockopen函数是没被禁用的(这个函数是phpcms发邮件十分重要的一个函数),最后调出phpcms的错误日志(phpcms的错误日志为error_log.php文件)来看(错误日志的位置为:根目录/caches/error_log.php),发现每点一次发送邮件,错误日志就会多出同一个错误(fsockopen(): unable to connect to smtp.163.com:25 (Connection timeout))。这句话的原意是无法连接到邮件地址的25端口(小编这里使用的邮件服务器是163的),换句话说就是服务器禁止25端口。

小编这里使用的是阿里云服务器,经过和服务器商的讨论发现,阿里云服务器默认禁止邮件的25端口,要开通还要申请,非常的麻烦,还不一定通过。

完美解决phpcms邮件无法发送

小编于是就换成了465端口,因为465端口服务器没禁止。可是单单的把phpcms后台的邮件发送端口改成465也不能发送邮件,那又如何更改呢?

其实很简单的,在邮件服务器那行改成:ssl://smtp.163.com(这里可以换成QQ的,新浪的,但是前面的ssl://别忘了),这样就行了。

怎么样有没有帮助到你们呢?其实想要在阿里服务器上发任何邮件都是不能使用25端口的哟,如果用了请改成465就好了,对了别忘记验证密码就是客户端授权密码,邮件设置测试就是接受邮件的邮箱地址(^U^)ノ~YO。

相关推荐