早就羡慕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,打开修改,找到下面代码

  if ($job=='editadminreply') $queryplus="`adminrepeditorid`='{$userdetail['userid']}', `adminrepeditor`='{$userdetail['username']}', `adminrepedittime`='{$currenttime}'";
  else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";

修改为

  if ($job=='editadminreply') $queryplus="`adminrepeditorid`='{$userdetail['userid']}', `adminrepeditor`='{$userdetail['username']}', `adminrepedittime`='{$currenttime}'";
  else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";
    $rep_type="留言";  
    include_once 'plugin/pushmail/sendmail.php';    

备份admin文件夹下的cp_reply.php,打开修改,找到下面代码

  if ($job=='editadminreply') $queryplus="`adminrepeditorid`='{$userdetail['userid']}', `adminrepeditor`='{$userdetail['username']}', `adminrepedittime`='{$currenttime}'";
  else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";

修改为

  if ($job=='editadminreply') $queryplus="`adminrepeditorid`='{$userdetail['userid']}', `adminrepeditor`='{$userdetail['username']}', `adminrepedittime`='{$currenttime}'";
  else $queryplus="`adminreplier`='{$userdetail['username']}', `adminrepid`='{$userdetail['userid']}',`adminreptime`='{$currenttime}'";
    $rep_type="评论";  
    include_once 'plugin/pushmail/sendmail.php';  

修改好上面两个文件后,下载安装包,修改压缩包里的sendmail.php文件,主要是修改发送邮件的设置,就是改为你的邮箱的SMTP服务器,用户名和密码,不过也可以自己修改邮件内容样式,修改好后上传到plugin文件夹,不需要安装,直接使用了

pushmail.rar

这里多说几句,因为是直接将密码写入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行左右

找到

else {
    if (v_replier=='' || v_content==''|| v_replier==' ' || v_content==' ' ) {
      alert(jslang[11]);
      return false;
    }

修改为

else {
  if (v_replier=='' || v_content==''|| v_replier==' ' || v_content==' '||v_repemail==''||v_repemail==' ' ) {
   alert(jslang[11]);
   return false;
  }

然后修改一下lang文件夹下对应语言包的jslang里面的11就行

jslang[11]='请填写昵称或内容!';

修改为

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是要修改成什么内容,这个随便。。

同样,修改完了别忘了刷新一下缓存