完善Valine评论系统的邮件通知
0x01 部署应用
leancloud云引擎设置里添加代码库
1 | 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 配置后台域名
设置二级域名后你可以访问评论管理后台。
后台登录需要账号密码,需要在这里设置,只需要填写 email
、password
、username
,这三个字段即可,使用 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