WordPress使用Gmail作为评论提醒邮箱
Table of Contents
需求分析
评论需要批准才会显示
使用wordpress建站的童鞋应该都知道,如果有人对你的文章进行评论,是要你在后台批准了才会显示的,因为如果不这样的话,有些人可能做一些垃圾评论,导致你网站中全都是垃圾评论。
使用邮件提示有新的评论
但是,怎样能及时的知道有人对你的文章评论了,然后及时的去同意显示这条评论呢?答案是:使用邮件通知!你可以在后台配置一个发件邮箱,这样每当有人评论了你的文章,你就会收到一封邮件,这封邮件是使用你配置的“发件邮箱”发送给你的。
使用什么邮箱作为发件邮箱?
但是这个发件邮箱要用什么邮箱呢?如果是公司,一般都会自己搭建一个邮件服务器,这样邮箱就是自定义的邮箱,或者有些小公司也会用腾讯企业邮之类的。但是对于个人,如果你不想那么麻烦的去搭建邮件服务器,我们也可以直接使用现成的邮箱,比如:QQ邮箱、网易邮箱、微软Outlook邮箱、谷歌Gmail邮箱等等!
为什么要使用Gmail API方式?
由于我的网站服务器位于国外,所以我选择Gmail作为发件邮箱,如果网站位于大陆,是不适合用Gmail的!有人可能会说,不就发邮件嘛,这还不简单?想用我自己的Gmail发邮件,那肯定需要账号密码,我在后台把我的Gmail账号密码填进去,不就可以发邮件了?理论上确实是这样的,但实际上,由于安全考虑Gmail会限制不明设备登录,而且这种登录通常都需要在手机验证或者填写验证码之类的,还有如果你开了二次验证,那还要二次验证,还要开放不安全登录的权限等等。
基于以上的原因,直接用账号密码的方式其实是不太现实的,至少对于Gmail来说是这样,做过尝试的童鞋应该都有遇到过这个问题,如果你没有遇到,那直接用账号密码的方式也没事,反正我是遇到了,所以我不得不用另一种方式,Gmail API方式。
Gmail API方式,就是说Gmail有提供API(即接口),可以让第三方的程序通过这个接口去发送邮件而无需使用账号密码登录你的Gmail。
通知邮件发给谁?
发给两个人!第一,文章发布者;第二,评论者!
首先是文章发布者,很明显,谁发布的文章有了评论,那就发邮件通知谁,以便他/她可以及时的去批准这个评论!如果你的博客不对外开放发布文章权限,那么其实发布文章的用户只有你自己!也就是你登录wordpress后台的那个管理员用户
然后是评论者,当文章发布者(一般来说是管理员)批准了评论者的评论后,需要发邮件通知评论者,告诉他:“你的评论已经被批准显示了!”,另外就是,如果有人对他的评论进行了回复,也需要通知他,以便他能及时知道有人回复他了(这个回复有可能是游客也有可能就是文章发布者,如果是文章发布者,大多数时候就是管理员本人)。
配置步骤
- 1、安装邮箱插件:在wordpress后台安装“WP Mail SMTP”邮箱插件;
- 2、申请Gmail API:获得客户端ID和客户端密钥(这个ID和密钥其实就是账号密码,但这是另一种形式的账号密码);
- 3、获取授权:把申请到的客户端ID和客户端密钥填写到“WP Mail SMTP”插件中,并获取授权;
- 4、测试:使用“WP Mail SMTP”自带的测试,测试是否配置正常;在文章里评论,测试邮件发送是否正常;
申请Gmail API
在申请前先安装邮箱插件
首先在你的wordpress后台安装“WP Mail SMTP”插件,并启用它
然后它会自动跳出这个向导页面,我们不要这个向导页,直接把它关掉
关掉向导页后,点击左侧的“WP Mail SMTP”进入它的设置界面
填写一下发件邮箱
往下滚动,选择Gmail,我们可以看到,需要填写Client ID和Client Secret,这两个参数就相当于是Gmail API的账号密码,需要先去申请Gmai API才能获取
另外要注意这个“Authorized redirect URI”,后面会用到,这个页面先不要关闭,后面用到的时候来这里复制一下
新建项目(以便申请Gmail API)
进入Google Cloud Platform(简称GCP),如果是首次进入,它会要求你选择国家/地区,选择距离你网站所在服务器比较近的国家/地区,如果不是首次进入,说明你以前已经选过,就不会提示
点击顶部的:选择项目→新建项目
给你的项目命名,因为我是Gmail用的,所以我直接起名叫Gmail,而位置那儿是不用选的(因为我们是个人使用),然后点击“创建”
配置同意屏幕
创建之后,我们来配置一下同意屏幕,什么是同意屏幕呢?就是授权的时候会先告诉你,谁谁谁要访问你Google里的什么服务(在本文中是Gmail服务),向你申请该服务的某个权限,问你同意不同意(当然现在就你自己一个人用)。
同意屏幕如下图所示,当然这个界面是最后配置完成开始使用的时候才会有的,现在我只不过提前告诉你“同意屏幕”是怎样的
开始配置同意屏幕:点击左侧的“凭据”→点击右侧的“配置同意屏幕”
User Type选择“外部”,点击“创建”
应用名称:随便起一个名称;
用户支持电子邮件:就直接用你的google账号邮箱就行;
应用图标:可以不传;
应用首页:就填你的网站首页就行;
应用隐私权政策链接:我是在FreePrivacyPolicy中生成的一个链接;
已获取授权的网域:填写提示的缺少的网域就行
开发者联系信息:也填你google账号邮箱就行,然后点击”保存并继续“
这里什么都不用填,直接点击“保存并继续”
这里什么都不用填,直接点击“保存并继续”
最后有个摘要,就是把你前面填的内容全部给你列出来,如果填写有误,还可以点击“修改”按钮去修改
启用Gmail API并创建凭据
点击上图左侧菜单中的“库”(英文“Library”)就会跳转到下图页面,然后在里面搜索“gmail api”并点击搜索出来的“Gmail API”
点击“启用”
因为使用API需要凭据(英文“Credentials”其实就是账号密码),所以上图点击“启用”后会自动跳转到下图,我们点击“创建凭据”
API选择Gmail API,数据类型选择“用户数据”,然后点击下一步
然后什么都不用填,直接点“保存并继续”
选择“Web应用”,应用名称随便填
Javascript来源:填你的网站首页地址就行
已获取的重定向URI:填WP Mail SMTP插件里要求填的地址(前面有说到,如果忘了请滚动上前面去查看)
最后点击“创建”,然后点“完成”(注意不要点“下载”)
上边保存后,就来到下图页面,我们点那个小笔(其实就是编辑)
然后就可以看到客户端ID和客户端密钥了,这两个就是前面WP Mail SMTP要求我们填写的,把它们复制粘贴到前面说的WP Mail SMTP里面吧(复制时注意不要复制到有空格)
复制客户端ID和客户端密钥后,我们还要点击左侧的“OAuth同意屏幕”,然后点击“发布应用”
直接点击确认,不用管上面要提供的东西,因为不提供也是可以用的,就是会提示不安全,但这个所谓的不安全是让“那些使用你的应用的人”看的,但由于现在你这个应用只有自己用,所以就不用管它
填写凭据并获取授权
填写完客户端ID和客户端密钥后,点击保存
然后点击那个长长的橙色按钮(一定要前面先点了保存才会出现这个按钮),意思是用前面获取的客户端ID和客户端密钥进行授权
上边会来到这个界面,点击你的账号
如果你忘了在“OAuth同意屏幕”里点击“发布应用”,就会出现下图的报错,此时你去发布一下,然后再来点橙色按钮重新授权就可以
点击“高级”
点击转至wpmailsmtp.com
这个就是前面所说的“同意屏幕”了,我们勾选一下,并点击“继续”
最后它会跳转回WP Mail SMTP插件这里,告诉你已经授权成功,然后我们点击“Email Test”来测试一下
点击“发送电子邮件”(Send Email),测试发送是否正常,收件邮箱默认是当前登录后台的这个用户的邮箱(在“用户”里面可以看到这个后台用户的邮箱),当然你也可以自己改成其它邮箱
登录wordpress后台的用户的邮箱
显示发送成功
看,收到邮件了,因为我发送邮件跟我的用户邮箱是同一个,所以相当于是自己发给自己了,如果没有收到邮件,可以去垃圾邮件里看看,然后把这个邮箱设置为非垃圾邮件(这个请自己上网查要怎么设置)
实际测试
最后,换个没有登录你网站的浏览器,在你网站里找一篇文章做一下测试:
- 1、对这篇文章进行评论(不登录进行评论,都要求填一个用户名和邮箱),看看你会不会收到邮件通知;
- 2、在另一个登录了网站后台的浏览器里批准这条评论,看看评论的那个邮箱能不能收到评论已经被批准显示的邮件通知;
- 3、对篇文章进行回复,看看评论的那个邮箱能不能收到有人回复的邮件通知;
如果所有测试都正常,那么说明整个过程就完成了!恭喜!