为博客添加评论邮件提醒功能(踩坑全过程)
在很早之前,我就想过要给博客加一个邮件评论提醒功能,上个月折腾了三天愣是没折腾出什么,这几天学不进去,刚好来折腾这个。
因为懒,需要加载到图床的图片太多,这次不插入图片。
准备工作
- 注册一个 leancloud 国际版账户(国内的需要备案等一系列复杂的操作)
- 去GitHub fork项目,开启GitHub Action功能
为hexo博客添加评论valine系统
这一步可参考以下链接,此处不再赘述,包括
- 注册leancloud
- 配置hexo博客根目录下的
_config.(the name of your theme).yml
(这里需要修改的是对应主题的yml文件,不是_config.yml
)
为你的Hexo加上评论系统-Valine -- blue_zy
Hexo博客进阶:为Next主题添加Valine评论系统-- 千帆过烬
前两步,csdn,博客园大多数帖子都有教程,剩下的步骤有些难度,需要大量阅读相关帖子
为hexo博客添加valine评论邮件提醒功能
这一步包括
- 自定义云引擎的变量
(可选择氪还是不氪,不氪的选择体验版) - 添加定时任务,定期唤醒和检查补发邮件
Hexo博客Next主题valine评论系统邮件提醒 -- AomanHao
完成这一步并且测试后,我心满意足,开始写博客,一开始还是有收到评论邮件的,过几天更新时发现有新评论却没有邮件提醒,回到leancloud后台一看,我%¥#&*,引擎自动休眠了,再看日志,现实云函数报错,马上去必应一下这个情况,找不到有效解决方案,那就先搁着;过了几天来看,我去,提示我这个信息
"因为流控问题,通过定时任务唤醒体验版实例失败,建议升级至标准版引擎实例避免休眠"
好家伙,这明摆着要我去氪。不过,本着我多年不氪金(白嫖)的习惯,又去必应了下解决方案
解决leancloud流控问题(最难)
有三个常见的唤醒功能
- cron-job
- Github+Action
- Ajax请求唤醒
csdn上大多数是去阿里云等网站申请唤醒功能,不过这些感觉需要花很多大洋的样子,就没去理会,后来发现GitHub+Action这个貌似不错,然后就去必应了下,雀食有很多帖子教GitHub+Action的,不过他们fork的项目已经不能访问了,就是这个: https://github.com/blogimg/WakeLeanCloud
下面这两个帖子的
使用Github Actions模拟评论解决LeanCloud的流控限制 -- Hiram's Blog
Gtihub Action|一行命令解决 LeanCloud 流控问题 -- AimTao's Blog
以上两个博客提到的GitHub建议fork到本地仓库
按照上面两个博客其中之一设置完就差不多设置好了
可能出现的问题
- 怎么进入leancloud国际版评论后台网站:参照这个博客来设置user变量 解决Leancloud流控问题 -- Uncleacc's Blog
- 为什么提示云函数报错:是因为没有在云引擎处设置变量
ADMIN_URL
,这里填leancloud评论后台管理网址 - 云引擎中的变量
SMTP_PASS
不是邮箱密码,是邮箱SMTP的授权码 - GitHub Action那里的
SITE
应该填评论后台管理网址
写到这里,总算把折腾的全过程写出来了(无用的知识增加了)