老规矩,先看效果
个人觉得算是比较直观了 图一是管理员的审核邮件 图二是用户端的邮件 各种重点都有
实操
第一部分:代码
必应上一搜 不出意外搜出来的代码一模一样 试了一下都用不了(而且教程还不全)
具体都是在functions.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 = 'no-reply@' . 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") . '] 的留言有了回复';
$comment_link = get_comment_link($comment_id); // 获取评论链接
$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="' . $comment_link . '">查看回复完整內容</a></p> <!-- 添加评论链接 -->
<p>欢迎再度光临 ' . get_option('blogname') . '</p>
<p>(此邮件由系统自动发送,请勿回复.)</p>
</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');
这边我的博客用的是argon主题 直接粘贴会提示变量名冲突(argon自带的邮件回复很难用)
Cannot redeclare comment_mail_notify() (previously declared in wp-content/themes/argon/functions.php:1413)
这边我将部分问题修复了一下 并且进行完善 代码如下(亲测可以直接使用)
function my_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 = '把这里改成你的发件邮箱@XXX.com'; // 发件人邮箱
$to = trim(get_comment($parent_id)->comment_author_email);
$subject = '您在 [' . get_option("blogname") . '] 的留言有了回复';
$comment_link = get_comment_link($comment_id); // 获取评论链接
$message = '
<div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; 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="' . $comment_link . '">查看回复完整内容</a></p>
<p>欢迎再度光临 ' . get_option('blogname') . '</p>
<p>(此邮件由系统自动发送,请勿回复.)</p>
</div>';
$headers = array(
'Content-Type: text/html; charset=' . get_option('blog_charset'),
'From: "' . get_option('blogname') . '" <' . $wp_email . '>'
);
wp_mail($to, $subject, $message, $headers);
}
}
add_action('comment_post', 'my_comment_mail_notify');
记得换一下里面的邮箱 然后按下图方式配置
第二部分:安装WP Mail SMTP插件
这是一个能使wordpress发送邮件的插件 也是目前wp上最主流的邮件发送插件
wp有很多用到邮件的地方 比如更新 评论审核提醒 管理员权限二次确认 这些都是wp自带的 三因为smtp或pop3往往都没被正确配置 使邮件发不出去 此插件就是专门配置smtp和pop3的
插件可以直接在插件商城找到 国内机器也可以直连(我用的北京阿里云 完全正常安装)
等到安装完成后会打开一个配置界面 界面别关 先跟着做下面准备好邮箱
第三部分:配置插件和邮箱
注册阿里企业邮箱
接下来你需要一个支持smtp的邮箱 qq 16邮箱都行 但如果你是个人博客我建议你用阿里云或者企业微信的企业邮箱服务 这两个是免费的
我个人推荐免费版的阿里云企业邮箱(企业微信要绑定通讯录) 免费版的正常绝对够用了 并且能发到outlook gmail proton这些 亲测有效 可达性比微信的高多了
阿里云企业邮箱提供免费版、标准版、尊享版和集团版,阿里云一直都有免费企业邮箱提供,免费版企业邮箱到期后会自动续费 但是阿里云很鸡贼 把免费版入口隐藏了 但服务一直都有 可以直接点击下面链接进入
阿里云免费企业邮箱申请最新链接:阿里云免费企业邮箱申请链接(新) 打开链接如下图:
如果你的域名在万网 一键配置就行 不在万网则需要手动配置MX
完成开通后进入阿里企业邮箱-登录入口 (ali-exmail.cn)
邮箱账号:postmaster@你的域名
密码就是刚才设置的管理员密码
进入后在侧边栏展开“组织与用户” 进入“员工账号管理“
点击”“新建账户”
在新建账户界面中要注意
1. 最好不要填手机号 后面还要验证很麻烦
2. 填写密码下面有个“初次登录修改密码”这个不要勾选
做了上面两项的话就不要再用阿里云企业邮箱官方平台去登录了 因为每一次登录都会让你验证手机号和修改密码 直接用第三方邮箱客户端就好
3. 务必要勾选开启POP3/SMTP服务和开启IMAP/SMTP服务 这两项默认是没有勾选的(没有这两项服务后续就配置不了wp mail smtp和第三方邮箱客户端)
如果你要做评论通知,可以用blog或admin这两个邮箱名
配置WP Mail SMTP
1. 划到下面找到“其他 SMTP”
按下图进行配置
下一项什么也不用动
第四项是关于pro版本推广的 如果你不需要随便填一个错误的邮箱地址就行 实测不影响其他功能
后面一路确定 配置完成后打开“工具“一栏 可以发送测试邮件进行测试
如果收到了测试邮件一般就没什么问题了 注意要把主题自带的邮件回复关掉 你也可以自己发评论测试一下