专注网站优化推广技术
提供网站优化排名服务

WordPress实现留言、注册、修改密码时SMTP邮件发送通知功能

WordPress开通SMTP邮件发送功能可以实现的功能有很多,下面广州SEO博主分享两个WordPress纯代码实现留言和用户注册、修改密码SMTP邮件发送通知的功能,当然你也可以通过使用WP-SMTP插件实现邮件发送功能。

WordPress实现发邮件的必备条件

WordPress通过SMTP发邮件需要开通465端口,比如说用阿里云企业邮箱的要开放465端口(到服务器后台添加安全规则);使用QQ邮箱的需要QQ邮箱的账号设置里开启SMTP。

QQ邮箱开启SMTP服务

QQ邮箱开启SMTP服务

开启SMTP服务后再把下面的这段邮件配置代码添加到网站主题的 functions.php文件中,邮箱信息改成你自己的。

//smtp发送邮件功能,
add_action('phpmailer_init', 'mail_smtp');
function mail_smtp( $phpmailer ) {
$phpmailer->FromName = '广州SEO'; //名字
$phpmailer->From = 'postmaster@360gzseo.com';//邮件账号
$phpmailer->Host = 'smtp.mxhichina.com'; //smtp地址,可以到你使用的邮件设置里面找
$phpmailer->Port = 465; //端口,一般不用修改
$phpmailer->Username = 'postmaster@360gzseo.com'; //邮件账号
$phpmailer->Password = '******'; //邮件密码(授权码)
$phpmailer->IsSMTP();
$phpmailer->SMTPAuth = true; 
$phpmailer->SMTPSecure = 'ssl'; //tls or ssl (port=25留空,465为ssl)一般不用修改
}

下面顺便附上常用的阿里云&腾讯云服务器的端口

阿里企业云邮箱POP3/SMTP 协议收发邮件服务器地址,此处只需用到发件的SSL端口465:
收件服务器地址:
POP 服务器地址:pop3.mxhichina.com 端口110,SSL 加密端口995
发件服务器地址:
SMTP 服务器地址:smtp.mxhichina.com 端口25, SSL 加密端口465
  
腾讯企业邮箱 POP3/SMTP 协议收发邮件服务器地址,此处只需用到发件的SSL端口465:
接收邮件服务器:
POP 服务器地址:pop.exmail.qq.com (端口 110),使用SSL,端口号995 
发送邮件服务器:
SMTP 服务器地址:smtp.exmail.qq.com (端口 25),使用SSL,端口号465

WordPress开启用户注册修改密码SMTP邮件提醒功能设置教程

把网站设置的常规选项中的允许任何人注册勾选即可,如下图所示。

开启用户注册邮件提醒

用户注册邮件提醒

WordPress有用户留言时SMTP邮件提醒功能设置教程

1、WordPress后台开通有评论等待审核的时候邮件通知我,不懂的的根据下图操作:

留言SMTP邮件通知

留言SMTP邮件通知

勾选保存后再把下面的代码发到网站主题的 functions.php文件中,即可实现用户在我们的网站留言后短信通知我们。

//用户留言时邮件提醒功能,广州SEO(www.360gzseo.com)
function comment_mail_notify($comment_id) {
$admin_notify = '0'; // admin 要不要收回复通知 ( '1'=要 ; '0'=不要 )
$admin_email = get_bloginfo ('admin_email'); // $admin_email 可改为你指定的 e-mail.
$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 ? get_comment($parent_id)->comment_mail_notify : '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'])); // e-mail 发出点, no-reply 可改为可用的 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 style="text-decoration:none; color:#5692BC" href="' . htmlspecialchars(get_comment_link($parent_id)) . '">这里查看回复的完整內容</a>
<p>(此邮件由' . get_option('blogname') . '系统自动发送,请勿回复.)</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 );
//echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
}
}
add_action('comment_post', 'comment_mail_notify');

//文章页提交留言处自动加勾选栏 
function add_checkbox() {
echo '<input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked" style="margin-left:20px;" /><label for="comment_mail_notify">有人回复时邮件通知我</label>';
}
add_action('comment_form', 'add_checkbox');

总结:实现WordPress纯代码留言、用户注册、修改密码时SMTP邮件发送通知功能的必要条件是SMTP发件功能,在设置中或许会遇到(The e-mail could not be sent. 可能原因:您的主机禁用了mail()函数。)报错提示,你可以在自己检查一遍是否SMTP端口开启了,邮箱的账号密码是否填写正确了。如有任何疑问可以留言。

赞(2) 打赏
未经允许不得转载:广州SEO » WordPress实现留言、注册、修改密码时SMTP邮件发送通知功能
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #4

    Everything is very open with a precise explanation of the issues.

    It was really informative. Your site is very helpful.
    Thank you for sharing!

    dich vu seo4周前 (10-23)回复
  2. #3

    Generally I do not learn post on blogs, however I wish to say that this write-up very pressured me to try and
    do it! Your writing taste has been amazed me. Thanks, very great post.

    https://seogiare.vn/1个月前 (10-08)回复
  3. #2

    谢谢分享,这正是我要找的 ,我的博客,欢迎回访

    137博客3个月前 (08-20)回复
  4. #1

    You can certainly see your enthusiasm within the work you write.
    The sector hopes for more passionate writers such as you who aren’t afraid
    to say how they believe. At all times go after your heart.

    digital marketing company chennai3个月前 (08-11)回复

专注于广州SEO优化推广,提供广州网站优化教程及网站推广服务

网站优化案例联系SEO顾问

觉得SEO文章有用就打赏一下广州SEO

支付宝扫一扫打赏

微信扫一扫打赏