【详细教程】给你的WordPress配置SMTP邮件系统,实现评论和回复的邮件通知

一般来说PHP自带的也有邮件功能,但是功能调用不好,也不太稳定,还容易进垃圾箱,所以使用SMTP服务成了更好的选择。简单来说,SMTP就是通过一个大厂邮箱账户,对涉及到的邮件进行中转收发,因为大厂的缘故,所以就不必担心邮件进垃圾桶,和不稳定之类的问题了。

为了便于演示,我们以163邮箱进行开启SMTP,并进行WP SMTP配置的演示。

 

1.首先我们要开启邮箱SMTP功能,登录163邮箱,找到SMTP设置

 

2.将 POP3/SMTP服务 IMAP/SMTP服务勾选开启,这里会提示你设置密码,后面会用到

 

3.然后在WP后台插件安装里搜索WP SMTP,然后安装并启用。

 

4.然后进入插件设置界面,这里我先用通俗的方式解释下每项的意思:

发件人地址:填写163邮箱的全称

发件人昵称:可以随意填写

SMTP服务器地址:163邮箱的是smtp.163.com,谷歌邮箱的是smtp.gmail.com,具体可进行百度

SMTP加密方式:163这里选SSL,微软家的STARTTLS可以选TLS

SMTP端口:465,一般来说SSL都是465,具体以实际为准

认证用户名 (完整邮件地址):再填一遍163邮箱的全称

认证密码:163邮箱开启STMP后会提示设置一遍密码,这里使用这个密码

 

5.信息填完后,保存,可以通过下方菜单进行邮件发送测试:

 

6.如果你用的是一些第三方主题,这时候评论和回复已经可以自动收发邮件了,不过也有可能一直主题没有内置回复评论自动发邮件的函数,这里就需要添加一下,在主题的functions.php文件中加入如下代码,根据注释填好你的信息:

 

/* comment_mail_notify v1.0 by willin kan. */
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 = 'xxxxx@163.com'; //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><strong>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:</strong><br />'
. trim(get_comment($parent_id)->comment_content) . '</p>
<p><strong>' . trim($comment->comment_author) . ' 给您的回复:</strong><br />'
. trim($comment->comment_content) . '<br /></p>
<p>您可以点击 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '" target="_blank">查看回复完整內容</a></p>
<p>欢迎再度光临 <a href="http://www.yelook.com" target="_blank">' . get_option('blogname') . '</a></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');
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注