Yuhang Zheng

为Valine评论增加邮件通知

N 人看过

之前给自己的博客添加了留言板功能,用的就是Valine来实现的。

本来以为自己的小破博客很少会有访客来留言,不过最近一段时间有几个人在留言板问了一些问题,自己总是不能及时的看到,后来想了想,看看能不能增加一个通知的功能呢,有人留言的时候我就能及时的回复了。

然后就在网上找到了如下的文章:

https://blog.csdn.net/AC916305619/article/details/105239277

这个文章已经写的很好啦,不过由于文章是2020年的,Leancloud有一些菜单的布局都变化了很多,所以部署的时候绕了不少弯子,所以我这里想着再重新整理一篇,也算是自己做个记录吧,如果能帮助到需要的朋友就更好啦!话不多说,下面就开始吧!

如果是搭建过Valine的评论系统的人,肯定早就注册使用了Leancloud网站,并也知道如何获取AppIDAppKey

同样的,我们如果想要增加评论邮件通知功能,也是在Leancloud的控制台来操作。

1、首先是登录Leancloud,然后点击创建的应用

image-20231215111843978

2、点击左侧的【云引擎】->【管理部署】->【创建分组】

image-20231215111455923

3、在弹出来的窗口中,填写【分组名称】,选择【web后端】,【免费版】即可

image-20231215111911511

4、创建完成之后,看到以下内容,然后点击【未部署】,进入到我们刚刚创建的分组之中

image-20231215112031440

5、点击下面图片的【设置】,配置自定义环境变量

image-20231215112133614

6、点击【自定义环境变量】下面的添加按钮

image-20231215114215375

按照以下表格内容添加环境变量

变量 示例 说明
SITE_NAME 一纸折鸳 [必填]博客名称
SITE_URL https://resona.top [必填]首页地址
SMTP_SERVICE QQ [新版支持]邮件服务提供商,支持 QQ、163、126、Gmail 以及 更多
SMTP_USER xxxxx@qq.com [必填]SMTP登录用户
SMTP_PASS XXXXXXXX [必填]SMTP登录密码(QQ邮箱需要获取独立密码)
SENDER_NAME Deserts [必填]发件人
SENDER_EMAIL xxxxx@qq.com [必填]发件邮箱
BLOGGER_EMAIL xxxxx@live.cn [可选]如果自己在回复,设置这个可以不向自己的邮箱发送邮件
ADMIN_URL https://xxx.leanapp.cn/ [建议]Web主机二级域名,用于自动唤醒
BLOGGER_EMAIL xxxxx@live.cn [可选]博主通知收件地址,默认使用SENDER_EMAIL
AKISMET_KEY xxxxxxxxxxxx [可选]Akismet Key 用于垃圾评论检测,设为MANUAL_REVIEW开启人工审核,留空不使用反垃圾

QQ邮箱申请SMTP登录密码的方法直接百度搜索就可以,这里不再多做介绍:https://blog.csdn.net/qq_52342759/article/details/134337614

变量增加完成之后,点击【保存】即可

image-20231215114703048

7、接下来就是点击【部署按钮】,然后再点击下面图片右侧的【Git 部署按钮】,配置Git源代码路径

image-20231215112133614

8、点击【配置Git】按钮

image-20231215112252791

9、在新弹出的串口中,填写代码库并保存:https://github.com/DesertsP/Valine-Admin.git

image-20231215112346771

10、分支填写master,然后点击部署按钮

image-20231215112437483

11、部署日志中出现成功字样后便可关闭

image-20231215112557547

12、增加评论管理功能可以参考文章上面的他人博客链接中的描述,这里因为国内的服务绑定访问域名需要域名是备案状态,所以就不再介绍了。如果是是使用国际版的可以使用leancloud自己的二级域名来访问,如下,在【设置】菜单内:

image-20231215123122447

访问设置的二级域名https://二级域名..avosapps.us/sign-up ,注册管理员登录信息,如:https://nk6vtvs0tdwc.avosapps.us/sign-up

注:使用原版Valine如果遇到注册页面不显示直接跳转至登录页的情况,请手动删除_User表中的全部数据。

此后,可以通过https://二级域名.avosapps.us.cn/管理评论。

13、定时任务设置

目前实现了两种云函数定时任务:

(1)自动唤醒,定时访问Web APP二级域名防止云引擎休眠;
(2)每天定时检查24小时内漏发的邮件通知。

在【定时任务】菜单中,点击右侧的【创建定时任务】按钮

image-20231215123436686

(1)选择self-wake云函数,Cron表达式为0 0/30 7-23 * * ?,表示每天早6点到晚23点每隔30分钟访问云引擎,ADMIN_URL环境变量务必设置正确:

image-20231215123739332

(2)选择resend-mails云函数,Cron表达式为0 0 8 * * ?,表示每天早8点检查过去24小时内漏发的通知邮件并补发:

image-20231215123800967

至此,Valine Admin 已经可以正常工作。

后面的邮件通知模板等美化工作可以参照文章一开始的链接来操作了。

后面测试一下看一下效果吧!

image-20231215124533010