最后更新时间为 2024年1月8日
使用wordpress程序建好了网站,都在自己的网站上添加评论功能。为了让评论者更快的知道自己的评论得到了回复,我们可以给自己网站的评论添加评论自动发邮件功能。(相关教程:wordpress建站教程)
方法/步骤
下载评论自动发邮件功能必需的文件:PHPMailer,将下载下来的PHPMailer压缩包进行解压;
将解压出来的PHPMailer文件夹通过FTP软件上传到自己使用的主题文件夹下;Wordpress网站实现评论自动发邮件功能
将以下的代码复制到自己的模板函数文件functions.php里。
function comment_mail_notify_editFromClmao($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')) {
$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; 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>';
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require get_template_directory().'/PHPMailer/class.phpmailer.php';
try {
$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8';
$mail->SMTPAuth = true;
$mail->Port = 25;
$mail->Host = "smtp.163.com";//邮箱smtp地址,此处以163为例
$mail->Username = "你的邮箱账号";//你的邮箱账号
$mail->Password = "你的邮箱密码";//你的邮箱密码
$mail->From = "你的邮箱账号";//你的邮箱账号
$mail->FromName = get_option('blogname');
$to = $to;
$mail->AddAddress($to);
$mail->Subject = $subject;
$mail->Body = $message;
$mail->WordWrap = 80;
//$mail->AddAttachment("f:/test.png"); //可以添加附件
$mail->IsHTML(true);
$mail->Send();
} catch (phpmailerException $e) {
// echo "邮件发送失败:".$e->errorMessage(); //测试的时候可以去掉此行的注释
}
}
}
add_action('comment_post', 'comment_mail_notify_editFromClmao');
通过以上的操作,我们就可以实现自己的网站拥有评论自动发邮件功能,用户的评论得到回复后,系统会自动发邮件给用户,大大增加了网站的用户体验,有利于SEO优化排名。