抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

WordPress重新开启邮件回复通知-步骤记录

今天登录时看到了少见的评论,我的博客属于工具教程类,一般无需交流,以前的主题开启了注册功能,弄过SMTP,后来觉得开放注册是件没有意义的事,我的博客本身只是为了记录与输出,不会涉及商业化,估计以后也不会,毕竟圈粉和运营,对于一个技术人来说,牛逼了,水到渠成。为啥捏?– 不喜欢技术和折腾的鬼看你博文

嗯,正题,刚刚配置SMTP花费了挺久时间去配置,以前的忘记了,就留下后台一个插件上的记录,那是网易163的,那时候我也没自己的域名,也没开域名邮箱,后来关闭注册了,开了也觉得没什么意义,就放着了,我希望我的博文中是有记录的,当我下次遇到可以帮我减少麻烦和提高效率。

一:了解你的域名以及提供商

我的是腾讯云,所以我使用的是qq提供的域名邮箱服务,进入QQ邮箱,点设置—>体验室看这里

然后我是开通了,没开的按提示慢慢来,或者网上找下,这种教程很多,不赘述

参考:http://domain.mail.qq.com/cgi-bin/loginpage?t=dm_loginpage&s=create

二:设置QQ邮箱的SMTP服务

域名邮箱是与QQ邮箱关联的,其功能也是来自于QQ邮箱,所以你需要去QQ邮箱里做如下的事情 设置->账号->下滑

我为啥在第二个而不是第一个打勾,因为第一个,额其实都一样,不知道怎么解释好,腾讯是这样说的:

IMAP和POP有什么区别?
POP允许电子邮件客户端下载服务器上的邮件,但是您在电子邮件客户端的操作(如:移动邮件、标记已读等),这是不会反馈到服务器上的,比如:您通过电子邮件客户端收取了QQ邮箱中的3封邮件并移动到了其他文件夹,这些移动动作是不会反馈到服务器上的,也就是说,QQ邮箱服务器上的这些邮件是没有同时被移动的 。但是IMAP就不同了,电子邮件客户端的操作都会反馈到服务器上,您对邮件进行的操作(如:移动邮件、标记已读等),服务器上的邮件也会做相应的动作。也就是说,IMAP是“双向”的。
同时,IMAP可以只下载邮件的主题,只有当您真正需要的时候,才会下载邮件的所有内容。
所以不管了,两个都开吧,我的理解是一般当其他客户端需要的时候选择POP,服务器选择IMAP,按上面的图,拿到授权码

三:配置WordPress

我使用的是Easy WP SMTP,这种插件网上很多,我只是随便选了一个,

上面的端口以及协议方式你可以在你的服务提供商中找到,比如:

http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=331

填完点save吧,右边有个test email,你可以发送到你的测试邮箱去,看看能否正常发送。

PS:在域名解析中添加你自己的SMTP服务解析,可有,但不必要,视情况而定

四:给你的Wordpress加上回复时发送邮件通知功能

打开你的主题的functions.php,注意是主题的,在最后的一个?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='www@'.preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']));
$to=trim(get_comment($parent_id)->comment_author_email);
$subject='你在 ['.get_option("blogname") .'] 的留言有了回应';
$message='
<table border="1" cellpadding="0" cellspacing="0" width="600" align="center" style="border-collapse: collapse; border-style: solid; border-width: 1;border-color:#ddd;">
    <tbody>
        <tr>
            <td>
                <table align="center" border="0" cellpadding="0" cellspacing="0" width="600" height="48">
                    <tbody>
                        <tr>
                            <td width="100" align="center" style="border-right:1px solid #ddd;">
                                <a href="'.home_url().'/" target="_blank">'. get_option("blogname") .'</a></td>
                            <td width="300" style="padding-left:20px;"><strong>您有一条来自 <a href="'.home_url().'" target="_blank" style="color:#F37474;text-decoration:none;">' . get_option("blogname") . '</a> 的回复</strong></td>
                        </tr>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
            <td style="padding:15px;">
                <h1 style="font-weight: normal; color: #fff; text-align: center; margin-bottom: 65px;font-size: 20px; letter-spacing: 6px;font-weight: normal ; padding: 15px; background: #EA5A5A;">THANKS FOR YOUR REPLY.</h1>
                <p><strong>' . trim(get_comment($parent_id)->comment_author) . '</strong>, 你好!</span>
                    <p>你在《' . get_the_title($comment->comment_post_ID) . '》的留言:</p>
                    <p style="border-left:3px solid #ddd;padding-left:1rem;color:#999;">'
                        .trim(get_comment($parent_id)->comment_content) .'</p>
                    <p>
                        ' . trim($comment->comment_author) . ' 给你的回复:</p>
                    <p style="border-left:3px solid #ddd;padding-left:1rem;color:#999;">'
                        .trim($comment->comment_content) .'</p>
                    <center style="padding:40px 0"><a href="' . htmlspecialchars(get_comment_link($parent_id)) . '" target="_blank" style="background-color:#474A58; border-radius:0px; display:inline-block; color:#fff; padding:15px 20px 15px 20px; text-decoration:none;margin-top:20px; margin-bottom:20px;">点击查看完整内容</a></center>
            </td>
        </tr>
        <tr>
            <td align="center" valign="center" height="60" style="font-size:0.8rem; color:#999;">Copyright © '.get_option("blogname").'</td>
        </tr>
    </tbody>
</table>';
$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');

请将www换成你的域名邮箱@前面的字段,比如 test@i.lckiss.com,那就是test了,然后你的回复将会通过邮件通知到评论者提供的邮箱。

你还可以参考:

如何创建属于你自己的域名邮箱

如何使用域名在客户端设置IMAP、POP3/SMTP?


本站由以下主机服务商提供服务支持:

0条评论

发表评论