phpcms发送邮件失败怎么办?解决Phpcms邮件无法发送
网站放到服务器上时,发现了一个很大的问题,什么问题呢?
在本地能够完美使用的邮箱服务居然不能使用了,这使得小编百思不得其解,在网上疯狂的找解决办法,结果发现一个有用的都没有。
最后没办法了,问了问服务器商,发现fsockopen函数是没被禁用的(这个函数是phpcms发邮件十分重要的一个函数),最后调出phpcms的错误日志(phpcms的错误日志为error_log.php文件)来看(错误日志的位置为:根目录/caches/error_log.php),发现每点一次发送邮件,错误日志就会多出同一个错误(fsockopen(): unable to connect to smtp.163.com:25 (Connection timed out))。
这句话的原意是无法连接到邮件地址的25端口(小编这里使用的邮件服务器是163的),换句话说就是服务器禁止25端口。
小编这里使用的是阿里云服务器,经过和服务器商的讨论发现,阿里云服务器默认禁止邮件的25端口,要开通还要申请,非常的麻烦,还不一定通过。
小编于是就换成了465端口,因为465端口服务器没禁止。可是单单的把phpcms后台的邮件发送端口改成465也不能发送邮件,那又如何更改呢?
其实很简单的,在邮件服务器那行改成:ssl://smtp.163.com(这里可以换成QQ的,新浪的,但是前面的ssl://别忘了),这样就行了。
怎么样有没有帮助到你们呢?其实想要在阿里服务器上发任何邮件都是不能使用25端口的哟,如果用了请改成465就好了,对了别忘记验证密码就是客户端授权密码,邮件设置测试就是接受邮件的邮箱地址。
PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!
Atas ialah kandungan terperinci phpcms发送邮件失败怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!