MENU

Wordpress评论回复邮件通知功能

March 19, 2020 • 阅读: 1470 • 笔记&折腾



想给自己的博客添加邮件通知功能,当游客发表评论时,将会有邮件通知。当游客的评论有回复时,游客将会收到邮件通知。

使用插件的方式。

下载WP SMTP插件或者WP MAIL SMTP插件,这里使用WP SMTP插件作为示范。

第一步,下载后打开 WP SMTP的设置,并填写信息:

然后保存更改。

注意:qq邮箱如果开启了安全模式,密码请填写授权码。授权码生成方式:

如果是其他通用邮箱,但是不知道服务器地址及端口号,可点击 WP SMTP 设置菜单的标题旁的图标,会有各邮箱的服务器信息。

保存后进行邮件测试,在下方填写测试邮件内容:

点击发送。收件邮箱将会收到测试邮件。

第二步,现在在WordPress的任意文章评论,将会有邮件通知:

但是如果我们回复评论,评论者没有邮件通知。所以在主题的 function.php 中添加如下代码:

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 = 'mybules@qq.com' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); //e-mail 发出点, no-reply 可改为可用的 e-mail.
$to = trim(get_comment($parent_id)->comment_author_email);
$subject = '[' . get_option("blogname") . '] 您的留言有了新回复';
$message = '
<div style="width: 60%;margin: 0 auto">
<div style="font-size: 28px;line-height: 28px;text-align: center;"><p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p></div>
<div style="border-bottom: 1px solid #eee;padding-top: 10px;">
<p style="color: #999;">您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:</p>
<p style="font-size: 18px;">' . trim(get_comment($parent_id)->comment_content) . '</p>
</div>
<div style="border-bottom: 1px solid #eee;padding-top: 10px;">
<p style="color: #999;">' . trim($comment->comment_author) . ' 给您的回复:</p>
<p style="font-size: 18px;">' . trim($comment->comment_content) . '</p>
<p style="text-align: center;font-size: 12px;padding-bottom: 20px;"><a style="border: 1px solid #3297fb;color: #3297fb;padding: 7px 14px;text-decoration: none;-moz-border-radius: 4px;-webkit-border-radius: 4px;border-radius:4px;" href="' . esc_attr(get_comment_link($parent_id, array('type' => 'comment'))) . '">点击查看</a></p>
</div> <div style="font-size: 12px;color: #999;text-align: center;">
<p>此邮件由系统自动发送,请勿回复</p>
<p>© <a href="http://www.newpm.net" style="color: #999;text-decoration: none;">' . get_option('blogname') . '</a></p>
</div>
</div>';
$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";
$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers ); } }
add_action('comment_post', 'comment_mail_notify');

注意修改 变量wp_email 的邮箱地址,请填写你在WP SMTP设置的邮箱

至此,现在回复评论,评论者将会收到回复通知:

Last Modified: February 6, 2021