我这里使用到了Comment Reply Notification和Main To Commenter两个评论回复通知插件,初始的通知邮件格式是不一样的,直接修改成一样的格式可能还需要局部的修改代码。
1. Comment Reply Notification插件
Comment Reply Notification插件可以在发表评论时选择在评论有回复时是否接收通知邮件。
为了让Comment Reply Notification的邮件主题能显示如“您在 [xxx] 上的评论刚刚被 yyy 回复了”,其源码并不支持添加回复者yyy,我们可以在wp-content/plugins/comment-reply-notification下comment-reply-notification.php的第196行后加一行新的:
197 $mail_subject = str_replace(‘[cc_author]’, $cc->comment_author, $mail_subject);
这样我们就可以使用“您在 [[blogname]] 上的评论刚刚被 [cc_author] 回复了”做为主题了。
2. Mail To Commenter插件
Mail To Commenter插件可以在发表评论时以“@user ”开头现实现对某个用户的回复,被回复者会收到一封邮件。WP-T-WAP插件在手机上回复评论时没有回复选项,使用此插件可以实现回复的功能。
Mail To Commenter邮件的发送者在接收时有时会显示“unknown user”之类的,为了与Comment Reply Notification一致,需要修改wp-content/plugins/mailtocommenter下mailtocommenter_functions.php的第216行:
216 $headers = “From: $blogname \n” ;
为两行(参见comment-reply-notification.php第219行):
216 $wp_email = ‘no-reply@’ . preg_replace(‘#^www\.#’, ”, strtolower($_SERVER[‘SERVER_NAME’]));
217 $headers = “From: \”$blogname\” <$wp_email>\n” ;
另外测试发现第218行(修改后)易导致收不到邮件(Comment Reply Notification没有此行),分析了收到的邮件结构发现该行是重复的,屏蔽或删除该行即可:
218 //$headers .= “MIME-Version: 1.0\n”;
此外在测试时还发现有的用户收不到邮件的情况,分析下来发现wp-content/plugins/mailtocommenter下mailtocommenter.php文件第54行:
if ((array_key_exists($name,$mails))and ($mails[“$name”]!=$admin_email) and ($mails[“$name”]!=$owner_email)){
标红部分过滤了博客的管理邮箱(后台:设置->常规,电子邮件),可能是防止垃圾邮件攻击吧,因此我们在设置博客的管理邮箱时尽量不要与除了admin之外的其他用户重复,否则会收不到邮件。当然也可以把上面标红部分和其后“ and”删除以去掉这个过滤。
Tags: 插件
你为什么用两个插件啊,用一个不就够了吗
两个是互补,使用CRN时在手机上用wap访问没有回复功能,MTC就弥补了这个缺陷,不过MTC总是发通知邮件,不象CRN那可选择接收。