建站笔记——制作本地json评论系统,使用NodeMailer发送邮件

小鸡
阅读232喜欢2·博客发表2019-12-13更新2019-12-20

一个简单的评论系统

前几天把文章的数据库替换成了本地的json存储(flybook3.0的具体情况),昨天想着要不要把评论系统也搬到本地来。因为之前用的静态博客的时候,评论系统用的第三方的valine评论,也一直没换,昨天想了想,基于node自己简单复刻一个评论系统,UI界面依然保持着之前的Valine风格,不过评论的数据存储都存在本地的json文件里(db/comment.json)。

花了一下午加一晚上的时间,复刻了原来的评论界面,写了后台评论增删查改的api,比较花时间的是评论回复中的嵌套功能,也就是“楼中楼”的评论类型,通过简单地方法实现了。然后今天早上又搞定了评论地邮件通知功能,就基本上完成了评论系统的需求。

邮件通知功能

这里我是使用NodeMailer发送邮件,简单参考这里node发送邮件,使用nodemailer插件即可简单地实现邮件发送地功能,还是挺有趣的。这个博主的文章里面已经说的比较详细了,我就不再展开说怎么实现了,这里简单讲一下在flybook里面如何使用这个邮件发送功能。

首先你需要一个用来发送邮件的邮箱,并且获取授权码。这里以qq邮箱为例。

登录你的qq邮箱,然后在账户设置里面开启这个SMTP设置



开启之后会给你一个授权码,复制这个授权码,然后在flybook的站点设置文件(config.js)中填写该授权码。即可完成。

email_auth:{
// 用来发送消息的邮箱
name: "小鸡",
id: "你的邮箱",
key: "你的授权码",
},

当然你还需要在作者配置里面填写作者邮箱,这样有人评论不同作者的文章,就会给不同的作者发送邮件

// 作者信息
author:{
"佚名": {
head_img:"/images/head.png",
blog_name: "佚名",
header_logo: "/images/headerico.png",
logo: "logo4.png", // 作者接收消息的邮箱 email: ""
},
},


然后就可以愉快地使用本地地评论功能,并且实时接收邮件提醒,不需要任何第三方的服务,本地js代码就可以实现了。

下一个计划

本站的最后一个使用第三方服务的是RSS邮件订阅功能,现在有了NodeMailer发送邮件的插件,这个功能也可以实现本地化了。

下次有空再搞,再见


随想
博客
机器学习
教程
邻家酒肆
前端
深度学习
算法
小程序
资源
cpp
html
javascript
python
sql
node
wordpress

最近文章