让WP的评论有新回复时发送邮件通知

话说这个功能我折腾了很久,这次终于成功了。。。。
以前使用的是Cimy Swift SMTP这个插件来达成的,而且回复的是英文的邮件。
今天把邮件服务从QQ域名邮箱改到了Hotmail,因为我发现QQ域名邮箱收到的邮件和QQ收件箱是完全混合在一起的(以前用网页的,后来换到Outlook,现在用Thunderbird),即使通过“收信规则”也无法改变。
然后设置SMTP过于麻烦,就想用mail()函数来达成。
因为在更换主题的时候会有麻烦,所以我没有选择修改functions.php的代码来实现,而是使用了插件(Comment Reply Notification)来实现。
而在发送邮件的时候遇到了问题,我的VPS是CentOS+Kloxo,默认没有启用PHP的mail()函数。
在SSH窗口中键入以下代码来安装sendmail组件:

yum install sendmail

如果在安装sendmail组件之后依然不能发送邮件的话,请找到php.ini文件,将其中的sendmail_path =项更改为
sendmail_path = /usr/sbin/sendmail -t -i
即可,这是为了让系统找到sendmail的绝对路径。
而Comment Reply Notification插件的设置很简单,对于回复是否发送邮件,有一下五种选择:
邮件通知被回复评论的作者当评论被回复时

1.禁用
2.只有管理员或者文章作者回复时发送
3.任何人回复都发送
4.评论者自己选择是否接收邮件(默认选择)
5.评论者自己选择是否接收邮件(默认不选)

而邮件的主题我用的是:
编辑通知邮件的主题

您在[blogname]的评论有了新的回复-[postname]

只能使用文本, 你可以使用下列标签: [blogname] 表示博客名字, [postname] 表示文章名
我设置的邮件正文是:


[blogname]: 你在[postname] 的评论有了新的回复

您在[pc_date]的评论内容:

[pc_content]

在[cc_date]被[cc-author]评论:

[cc_content]

请点击这里来在原文章页面查看评论并交流、讨论

如果上面的链接不能打开请点击下面的链接:

[commentlink]

感谢您在[blogname]的评论

该邮件自动发出,请勿回复,关于该文章的讨论请至这里讨论

如有任何疑问请发送邮件至[email protected]


只能使用文本, 你可以使用 [pc_date] 表示父评论的日期, [pc_content] 表示父评论的内容, [cc_author] 表示子评论的作者 and [cc_date] 表示子评论的日期, [cc_url] 表示子评论的作者链接, [cc_content] 表示子评论的内容, [commentlink]表示父评论的链接, [blogname] 表示博客名, [postname] 表示文章名.
至此,设置完成,你可以试试在WordPress的评论后面添加一条新的回复,看看能不能收到邮件通知啦~