早就羡慕WORDPRESS的邮件回复功能了,游客们往往在博客中留言或者对某篇文章评论,博主虽然看见了,也回复了,但是游客却有可能不再回来看博主的留言(因为我就经常到处评论+留言,但是从来不回头去看博主的回复)。今天逛BO-BLGO的论坛,听说BO-BLOG的专属邮件回复插件已经开发出来了。找了半天,终于在小峰网络遨游记找到了插件。有了这个插件,可以增加游客和博主的互动,增加博客的回访率。
此文章转自小峰网络遨游记,FORECE 稍有修改~ 转载请注明
PS: 有后台版本的插件已经被风吟重新编辑出来有后台的版本了,BO论坛有下载,地址如下
http://bbs.bo-blog.com/viewthread.php?tid=23688&extra=page%3D1
此插件听说是Gently制作的,不知道是哪位大神。
插件的功能:
博主回复留言后,可以像WP一样发送email到留言者信箱提示已经有回复,增加回访率
BO-BLOG版本(2.1.1 Release 2.1.1.3626.0)
工具:EDITPLUS
备份admin文件夹下的cp_message.php,打开修改,找到下面代码
else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";
修改为
else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";
$rep_type="留言";
include_once 'plugin/pushmail/sendmail.php';
备份admin文件夹下的cp_reply.php,打开修改,找到下面代码
else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";
修改为
else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";
$rep_type="评论";
include_once 'plugin/pushmail/sendmail.php';
修改好上面两个文件后,下载安装包,修改压缩包里的sendmail.php文件,主要是修改发送邮件的设置,就是改为你的邮箱的SMTP服务器,用户名和密码,不过也可以自己修改邮件内容样式,修改好后上传到plugin文件夹,不需要安装,直接使用了
这里多说几句,因为是直接将密码写入Sendmail.php中,所以最好新注册一个邮箱,用不同密码创建,如果是GMAIL的话,STMP信息在sendmail.php已有,只是改动一下邮箱地址和密码即可。
还有不知道为什么小峰的代码中多了个大括号。可能BO-BLOG版本不一样吧。我这里把在$queryplus 前的大括号去掉了。
详见:http://blog.joysboy.net/Bo-Blogl-Comments-And-Message-E-Mai-Remind/
邮件(必填),这个文字可以在后台中外观扩展-语言包微调里边修改,不过这只是假的,邮箱验证我们还需要修改两个文件。
以下内容摘抄自BO论坛中的夕阳的发言
更改一下Images\js\common.js 的代码,让系统验证一下用户是否填写了邮件
强制输入MAIL的修改
在images\js\common.js 中253行左右
找到
if (v_replier=='' || v_content==''|| v_replier==' ' || v_content==' ' ) {
alert(jslang[11]);
return false;
}
修改为
if (v_replier=='' || v_content==''|| v_replier==' ' || v_content==' '||v_repemail==''||v_repemail==' ' ) {
alert(jslang[11]);
return false;
}
然后修改一下lang文件夹下对应语言包的jslang里面的11就行
将
修改为
最后去后台更新一下缓存,然后一切就大功告成了。希望大家都能使用上这个插件~~
最后冰剑同学提出来个BUG
就是已注册的用户没有填写EMAIL的也会提示错误,而且新注册的一般都不回填写EMAIL的。对于没有开启注册功能的朋友来说,下边修改可以不看。。。(比如我)
冰剑说的话:数据库操作有风险,请先备份,后果自负。
备份inc\mod_login.php
打开inc\mod_login.php
第一步:
查找
$formbody.=$t->set('form_eachline', array('text'=>"*{$lnc[134]}", 'formelement'=>""));
下面加入
$formbody.=$t->set('form_eachline', array('text'=>"*{$lnc[139]}", 'formelement'=>""));
第二步:
查找
$formbody.=$t->set('form_eachline', array('text'=>"*{$lnc[138]}", 'formelement'=>" {$lnc[137]}"));
下面加入
$formbody.=$t->set('form_eachline', array('text'=>"*{$lnc[139]}", 'formelement'=>""));
第三步:
查找,并删除
$formbody.=$t->set('form_eachline', array('text'=>$lnc[139], 'formelement'=>""));
第四步:
查找
if (preg_search($username, $forbidden['banword']) || preg_search($username, $forbidden['keep'])) catcherror ($lnc[158]);
下面加入
if ($email==='') catcherror ("未填写电子邮件。");
如果要修改已经注册了,并没有填写EMAIL的用户,就进入后台-数据维护-MYSQL
将如下代码输入进去,确定提交
update boblog_user set email = 'nullEmail' where email = ''
其中nullemail是要修改成什么内容,这个随便。。
同样,修改完了别忘了刷新一下缓存