完善Valine评论系统的邮件通知

0x01 部署应用

leancloud云引擎设置里添加代码库

https://github.com/Ares-X/Valine-Admin

sendmail.js中一行代码被我修改了,不然会报ssl错误

保存,然后选择部署

0x02 配置发信

还是之前的设置页面
添加如下的自定义环境变量
首先你需要一个支持smtp发信的邮件服务,比如mailgun,qq邮箱貌似也可以

字段含义:

变量名 含义
SITE_NAME 博客名
SITE_URL 博客地址
SMTP_HOST SMTP域名
SMTP_PORT smtp端口
SMTP_USER SMTP用户
SMTP_PASS SMTP密码
SENDER_NAME 发件人名称
SENDER_EMAIL 你想用的发件人地址
TO_EMAIL 你用来接收通知的邮件地址

SMTP_*这四个字段的内容请自行从提供邮件服务的供应商获取

0x03 配置后台域名

设置二级域名后你可以访问评论管理后台。

后台登录需要账号密码,需要在这里设置,只需要填写 emailpasswordusername,这三个字段即可,使用 usernmae 或 email 登陆即可。

0x04 重启测试

重启实例,然后在你的博客下面发一个评论,如果上面配置没有问题

你的应用日志里应该是这样的

0x05 应对休眠策略

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

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

所以需要一台服务器执行crontab定时任务,每天 7 - 23 点每 20 分钟访问一次,这样可以保持每天的绝大多数时间邮件服务是正常的。

在服务器执行

crontab -e

选择一个编辑器,然后在最后写入以下代码

*/20 7-23 * * * curl https://your-domain.leanapp.cn

保存退出

  • your-domain是上面配置的后台域名

然后重启cron服务

sudo service cron restart

本博客采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0) 发布.转载请注明出处
本文链接:https://ares-x.com/2018/06/02/完善Valine评论系统的邮件通知/