帝国cms使用stmp用qq邮箱失败的解决方法

今天一个帝国cms6.6的网站,需要开启找回密码功能,临时准备使用qq邮箱,在开启了qq邮箱的stmp服务以后,测试了几次都不通过,最后发现是使用了ssl端口的问题。

帝国cms6.6使用qq邮箱的stmp服务正确方法

1、qq邮箱开启stmp服务

打开qq邮箱,设置——账号里面开启。同时获得授权码。

最新的qq邮箱的stmp服务为smtp.qq.com,端口为465或者是587,因此假如你使用25端口,肯定无法成功,因为qq邮箱官方已经关闭的此端口。

2、帝国cms后台配置stmp服务

SMTP服务器 :smtp.qq.com
SMTP端口 :465
发信人地址:****@qq.com
发信人呢称 :土星建站网
是否需要登录验证:是
邮箱登陆用户名:***@qq.com
邮箱登录密码:填写上面获得的授权码,不是qq密码,特别要注意哦。

3、修改e/class/class.smtp.php文件

打开这个文件找到62行左右 把这段代码覆盖即可

$this->smtp_conn = fsockopen("ssl://".$host, # the host of the server

之所以出现无法使用的原因,因为帝国cms默认是使用25端口发送的,但是现在qq邮箱(阿里云企业邮箱一样也不行了,需要特殊申请)已经不再开放25端口,因此看到使用25端口的教程都是错误的。必须使用465这ssl链接专用端口,否则发送无法成功。帝国cms似乎最新版也没更正这一点,增加一个ssl端口选择就行了。

设置修改好以后,重新测试找回密码功能,成功。