目录
  1. 1. 简介
  2. 2. 快速开始
  3. 3. 注意事项
  4. 4. 第三方支持
  5. 5. Web 评论管理
  6. 6. LeanCloud 休眠策略
    1. 6.1. 重启容器
  7. 7. 邮件通知展示
Valine Admin

简介

此项目是一个对 Valine 评论系统的拓展应用,可增强 Valine 的邮件通知功能。基于 Leancloud 的云引擎与云函数。可以提供邮件 通知站长@ 通知 的功能,而且还支持自定义邮件通知模板。

点击查看演示

快速开始

Valine官方提供的邮件提醒功能是基于Leancloud的密码重置邮件提醒,操作步骤如下:

进入Leancloud>选择你的评论所存放的应用>设置>邮件模板,按下图设置好用于重置密码的邮件主题>然后保存:

修改邮件主题:你在 的评论收到了新的评论

修改内容:将下面的代码复制到“内容”中,并将其中的你的网址首页链接改为你的网址首页链接。

1
2
3
4
5
<p>Hi, {{username}}</p>
<p>
你在 {{appname}} 的评论收到了新的回复,请点击查看:
</p>
<p><a href="你的网址首页链接" style="display: inline-block; padding: 10px 20px; border-radius: 4px; background-color: #3090e4; color: #fff; text-decoration: none;">马上查看</a></p>

点击“保存”按钮

修改主题配置文件搜索valine(快速定位),将其中的false改为true

1
2
3
4
5
6
7
8
9
10
11
12
valine:
enable: true # if you want use valine,please set this value is true
appId: # leancloud application app id
appKey: # leancloud application app key
notify: false # valine mail notify (true/false) https://github.com/xCss/Valine/wiki
verify: true # valine verify code (true/false)
pageSize: 10 # comment list page size
avatar: monsterid # gravatar style https://valine.js.org/#/avatar
lang: zh-cn # i18n: zh-cn/en
placeholder: Please leave your footprints # valine comment input placeholder(like: Please leave your footprints )
guest_info: nick,mail,link #valine comment header info
bg: /img/comment_bg.png # valine background

注意事项

  • 发送次数过多,可能会暂时被Leancloud 屏蔽邮件发送功能
  • 由于邮件提醒功能使用的Leancloud的密码重置邮件提醒,只能传递昵称邮箱两个属性,所以邮件提醒链接无法直达指定文章页请悉知
  • 开启邮件提醒会默认开启验证码选项。
  • 该功能目前还在测试阶段,谨慎使用。
  • 目前邮件提醒正处于测试阶段,仅在子级对存在邮件地址的父级发表评论时发送邮件

第三方支持

这里重点讲一下第三方邮件提醒Valine-Admin

这也先需要将Valine的评论功能成功跑起来。

然后进入 Leancloud 对应的 Valine 应用中。

点击 云引擎 -> 设置 填写代码库并保存:https://github.com/zhaojun1998/Valine-Admin

切换到部署标签页,分支使用 master,点击部署即可:

设置云引擎的环境变量

必选参数

  • SITE_NAME : 网站名称。
  • SITE_URL : 网站地址, 最后不要加 / 。
  • SMTP_USER : SMTP 服务用户名,一般为邮箱地址。
  • SMTP_PASS : SMTP 密码,一般为授权码,而不是邮箱的登陆密码,请自行查询对应邮件服务商的获取方式
  • SMTP_SERVICE : 邮件服务提供商,支持 QQ163126Gmail"Yahoo"...... ,全部支持请参考 : Nodemailer Supported services。 — 如这里没有你使用的邮件提供商,请查看自定义邮件服务器
  • SENDER_NAME : 寄件人名称。

由于我使用的是我自己的企业邮箱,所以这边的SMTP_SERVICE就不适用了,需要用这三个参数替换:SMTP_HOSTSMTP_PORTSMTP_SECURE

详细说明如下:

  • SMTP_HOST : 邮件服务提供商 SMTP 地址,如 qq : smtp.qq.com此项需要自行查询或询问其服务商
  • SMTP_PORT : 邮件服务提供商 SMTP 端口, 此项需要自行查询或询问其服务商
  • SMTP_SECURE : 是否启用加密, 默认为 true,一般不需要设置,如有特殊请自行配置。 此项需要自行查询或询问其服务商

如果也同我一样使用阿里云企业邮箱,SMTP_HOSTSMTP_PORTSMTP_SECURE可以照我的写。

可以看到上图中,我的自定义环境变量还多了2个,分别是:

  • TO_EMAIL:这个是填收邮件提醒的邮箱地址,若没有这个字段,则将邮件发到SMTP_USER
  • TEMPLATE_NAME:设置提醒邮件的主题,目前内置了两款主题,分别为 defaultrainbow。默认为 default

Web 评论管理

此项目还为 Valine 提供了更方便的评论管理功能,可以在 web 端对评论进行查看与删除操作。配置方式如下。

后台登录需要账号密码,需要在这里设置,只需要填写 emailpasswordusername,这三个字段即可, 使用 email 作为账号登陆即可。(为了安全考虑,此 email 必须为配置中的 SMTP_USERTO_EMAIL, 否则不允许登录)

Web 后台目前仅有 查看删除 功能

LeanCloud 休眠策略

免费版的 LeanCloud 容器,是有强制性休眠策略的,不能 24 小时运行:

  • 每天必须休眠 6 个小时
  • 30 分钟内没有外部请求,则休眠。
  • 休眠后如果有新的外部请求实例则马上启动(但激活时此次发送邮件会失败)。

分析了一下上方的策略,如果不想付费的话,最佳使用方案就设置定时器,每天 7 - 23 点每 20 分钟访问一次,这样可以保持每天的绝大多数时间邮件服务是正常的。

Linux crontab 定时器代码:

1
*/20 7-23 * * * curl https://你配置的域名前缀.leanapp.cn

注意, LeanCloud 最近更新了定时器校验规则, 需要将 Cron 表达式写为: 0 */20 7-23 * * ? !!!

更新新版本与更改环境变量均需要重启容器后生效。

重启容器

邮件通知展示

游客 A 评论,站长收到邮件 :

( rainbow 主题)

游客被 @ 收到的邮件 :

rainbow 彩虹主题

文章作者: GZ
文章链接: https://gz1903.github.io/2019/10/18/Valine-Admin/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GZ's Blog
打赏
  • 微信
  • 支付宝

评论