emlog评论提交后页面超时的原因和解决方法
emlog是一款轻量级的博客系统,它有着简洁的界面和强大的功能,受到了很多博主的喜爱。但是,有些用户在使用emlog的过程中,遇到了一个比较棘手的问题,就是在留言评论时,点击提交后,页面不能跳转到评论后。刷新页面评论又成功,如果点击了多次提交,会出现多条评论。这样不仅影响了用户的体验,也给博主带来了不必要的麻烦。那么,这个问题是怎么产生的呢?又该如何解决呢?
首先,我们要分析一下这个问题的原因。经过查看php日志发现phpmailer有报错。phpmailer是一个用于发送电子邮件的PHP类库,emlog使用它来实现邮件通知的功能。也就是说,在用户发表评论或者博主发布文章时,emlog会通过phpmailer发送邮件通知相关的人员。但是,如果phpmailer发送邮件失败了,就会导致页面超时或者卡死,从而影响评论的正常显示。
那么,为什么phpmailer会发送邮件失败呢?有两种可能的情况:
-
一种是emlog后台系统-设置-邮件通知中的配置信息有误。比如SMTP服务器、端口、用户名、密码等信息填写错误或者不完整,或者SMTP服务器不支持SSL加密等。这种情况下,我们需要检查并修改邮件通知的配置信息,确保它们正确无误,并且与SMTP服务器相匹配。
-
另一种是服务器25端口被封了。25端口是SMTP协议默认使用的端口,用于发送电子邮件。但是由于25端口经常被用于发送垃圾邮件或者病毒邮件,所以很多互联网服务提供商(ISP)或者网络运营商(NOC)会对25端口进行封锁或者限制。这种情况下,我们需要联系服务器提供商或者网络运营商,申请开放25端口或者更换其他可用的端口。
那么,在确定了问题的原因后,我们就可以采取相应的解决方法了。有两种简单有效的方法:
-
一种是登录emlog后台系统-设置-邮件通知取消最下面评论通知(评论通知文章作者,回复评论通知评论人)和文章投稿通知(仅发送到创始人邮箱)后,评论正常了。这样就可以避免phpmailer发送邮件失败导致的页面超时问题,但是这样就不能收到评论后的邮件通知了。
或者在如下图,在smtp服务栏添加多口号如smtp.qq.com:465
-
另一种是修改邮件通知的配置文件搞定。具体步骤如下:
-
找到emlog根目录下的include/lib/mail/class.phpmailer.php文件,并用文本编辑器打开。
-
在第67行找到
var $Port = 25;
这一行代码,并将25改为其他可用的端口号,比如465或587等。 -
在第69行找到
var $SMTPSecure = '';
这一行代码,并根据SMTP服务器是否支持SSL加密进行修改。如果支持SSL加密,则将空字符串改为’ssl’或’tls’;如果不支持SSL加密,则保持空字符串不变。 -
保存并关闭文件。
以上就是emlog评论提交后页面超时的原因和解决方法,希望对您有所帮助。
发表评论