VPS租用 > 教程 > CMS教程 > 正文
vps广告

【wordpress评论邮件】-WordPress实现回复文章评论后发送邮件通知的功能

五彩互联编辑部发布时间:2017-05-02 10:30:34浏览:0
摘要:本文实例讲述了WordPress实现回复文章评论后发送邮件通知的功能。分享给大家供大家参考,具体如下:很多时候,人们都希望在自己的评论被管理员回复后会收到通知。该函数的作用就

本文实例讲述了WordPress实现回复文章评论后发送邮件通知的功能。分享给大家供大家参考,具体如下:

很多时候,人们都希望在自己的评论被管理员回复后会收到通知。该函数的作用就是回复后自动邮件通知评论者。

把下面的代码加到wordpress的主题函数里面,然后修改下邮件帐号密码。

该函数是针对SAE平台的wordpress,非SAE平台不能使用,有需要的话留言我也会写出相应方法。

复制代码代码如下://邮件回复
function comment_mail_notify($comment_id) {
define('MAIL_SMTP', 'smtp.exmail.qq.com'); //smtp服务器
define('MAIL_PORT', 25); //smtp端口
define('MAIL_SENDEMAIL', '123456789@qq.com'); //发送邮件帐号
define('MAIL_PASSWORD', '123456'); //发送邮件密码
$admin_notify = '1';
$admin_email = get_bloginfo ('admin_email');
$comment = get_comment($comment_id);
$comment_author_email = trim($comment-comment_author_email);
$parent_id = $comment-comment_parent ? $comment-comment_parent : '';
global $wpdb;
if ($wpdb-query("Describe {$wpdb-comments} comment_mail_notify") == '')
$wpdb-query("ALTER TABLE {$wpdb-comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;");
if (($comment_author_email != $admin_email isset($_POST['comment_mail_notify'])) || ($comment_author_email == $admin_email $admin_notify == '1'))
$wpdb-query("UPDATE {$wpdb-comments} SET comment_mail_notify='1' WHERE comment_ID='$comment_id'");
$notify = $parent_id ? '1' : '0';
$spam_confirmed = $comment-comment_approved;
if ($parent_id != '' $spam_confirmed != 'spam' $notify == '1') {
$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
$to = trim(get_comment($parent_id)-comment_author_email);
$subject = '你在' . get_option("blogname") . '回复被关注啦~';
$message = '
div
div
div '.get_bloginfo("name").'/div
div 你在 '. get_the_title($comment-gt;comment_post_ID) .' 的评论有了回复:/div
/div
div
div class="one origin" span '. trim(get_comment($parent_id)-gt;comment_author) .'/span:'. trim(get_comment($parent_id)-gt;comment_content) .'/div
div class="one reply" span '. trim($comment-gt;comment_author) .'/span:'. trim($comment-gt;comment_content) .'/div
p 点击a href="' . htmlspecialchars(get_comment_link($parent_id)) . ' margin-bottom: 10px;"(此邮件由系统发出,无需回复.)/p
/div
/div
';
$from = "From: \"" . get_option('blogname') . "\" $wp_email";
$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";
$mail = new SaeMail(); //对象
$mail-setOpt(array( 'from' = 'admin@xtwind.com', 'to' = trim($to),//接收信箱
'smtp_host' = MAIL_SMTP , //host
'smtp_port' = MAIL_PORT, //port
'smtp_username' = MAIL_SENDEMAIL,
'smtp_password' = MAIL_PASSWORD,
'subject' = $subject,
'content' = $message,
'content_type' = 'HTML'
// 'tls' = true,
//'charset' = 'gbk' ) );
$ret = $mail-send();
}
}
add_action('comment_post', 'comment_mail_notify');

如果使用上面的不行,可以看看前面这篇文章:

《php使用SAE原生Mail类实现各种类型邮件发送的方法》

希望本文所述对大家基于wordpress的网站建设有所帮助。

    联系我们