使用插件实现太容易了,但是我们想让自己的博客飞起来就少用插件吧。
不使用插件提供通知访客其评论有回复的前提条件是服务器开启了 mail() 函数,linux 的虚拟主机一般都开启了的,没有开启需要找客服帮忙。如果是 linux VPS 可以自己开启,方法如下。

一、服务器已经开启了 mail() 函数的情况下 (未开启请看第二大段):
进入 WordPress 后台 「外观」—->「编辑」—-> 右边找到 「functions.php」—-> 在

<?

下一行回车,空出一行后,然后粘贴以下代码,并保存即可:

//comment_mail_notify(所有的回复都会发邮件通知)
function comment_mail_notify($comment_id) {
  $comment = get_comment($comment_id);
  $parent_id = $comment->comment_parent ? $comment->comment_parent : '';
  $spam_confirmed = $comment->comment_approved;
  if (($parent_id != '') && ($spam_confirmed != 'spam')) {
    $wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME']));//发件人 e-mail 地址
    $to = trim(get_comment($parent_id)->comment_author_email);
    $subject = '您在 ['.get_option("blogname").'] 的留言有了回复';
    $message = '
    <div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;">
      <p>'.trim(get_comment($parent_id)->comment_author).', 您好!</p>
      <p> 这是您在 《'.get_the_title($comment->comment_post_ID).'》 中的留言:<br />'
       .trim(get_comment($parent_id)->comment_content).'</p>
      <p> 以下是'.trim($comment->comment_author).' 给您的回复:<br />'
       .trim($comment->comment_content).'<br /></p>
      <p> 您可以<a href="' . htmlspecialchars(get_comment_link($parent_id)) . '"> 点击这里查看回复的完整内容.</a></p>
      <p><a href="' . get_option('home') . '">' . get_option('blogname') . '</a> 内容已经更新,欢迎再度光临!</p>
      <p>(注: 此为系统邮件, 请勿回复!)</p>
    </div>';
    $from = "From: "" . get_option('blogname') . "" <$wp_email>";
    $headers = "$from
Content-Type: text/html; charset=" . get_option('blog_charset') . "
";
    wp_mail( $to, $subject, $message, $headers );
    //echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
  }
}
add_action('comment_post', 'comment_mail_notify');

二、 linux 服务器开启 mail() 函数的方法
先是 ssh 连接上 VPS,然后输入以下命令

vi /usr/local/php/etc/php.ini

在命令模式,使用 VI 的查找命令 「/」 进行内容查找:

/mail

如果第一次没有查找到,请再次输入/mail 查找,直到找到 [mail function]
位置,会看看到以下代码:

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =

然后将 sendmail_path =修改为:

sendmail_path = /usr/sbin/sendmail -t -i

然后重启 php-fpm 进程

/etc/init.d/php-fpm restart

以上步骤完了过后如果发现还不行,那可能是安装或启动 sendmail 组件,那么按以下步骤重新安装:
安装组件:

yum install sendmail

重启进程

/etc/init.d/php-fpm restart

检查运行情况

/etc/init.d/sendmail status

如果现实 running 则安装运行成功。
sendmail 启动停止重启命令,根据需要选择后面的 star 、 stop 、 restart

/etc/init.d/sendmail start stop restart