本文最后更新于 2024-10-18,文章内容距离上一次更新已经过去了很久啦,可能已经过时了,请谨慎参考喵。

title: Valine扩展实现邮件、QQ、微信新评论通知
tags:
  - Valine
  - Hexo
categories:
  - Hexo
top_img: false
cover: '/upload/cdn0files/20200729151002.png'
copyright: false
abbrlink: d8df5e48
date: 2020-07-29 15:06:57
updated: 2020-07-29 16:06:57

QQ 通知

微信通知

前言

主要通过 Valine 的扩展 Valine-Admin-ServerLeanCloud 的云引擎、实现在线推送通知,通过 Qmsg酱实现 QQ 推送,通过 Server 酱现微信推送。

创建应用

在 LeanCloud 国际版创建应用,当然国内版也行,不过域名需要备案。

国际版

创建应用,选择开发版,名字自己自拟。

获取相对应的秘钥

QQmsg 酱

进入官网:Qmsg酱 博客评论QQ通知推送服务

登录之后选择喜欢的 QQmsg 酱小姐姐,然后用接收消息的 QQ 加为好友,并添加你接收消息的 QQ:

添加QQ

然后打开右上角的文档,获取秘钥:

接口地址

接口地址最后面的一长串看不懂的字符串就是你的秘钥,复制下来,等会要用。

微信 Server 酱

进入官网:Server酱 博客评论微信通知推送

步骤

按照步骤来就行,第三步可以省略,然后把第一步中的 SCKEY 字段复制下来,等会要用。

这里需要注意的是,如果你需要邮件提醒,还需要获取一个邮箱服务授权码,但是我不需要,就不多赘述,如果你想要设置,请参考:乐特大佬 小康大佬

2020.7.30 08:00更新:

获取邮箱授权码

真香~昨天还吵吵不要邮箱提醒,今天就真香了(QQ 邮箱为例)

设置

账户

开启服务获取授权码

授权码

记住授权码,填写环境变量。

部署

绑定域名

设置安全域名

把你的所有域名都写上去,子域名也一起

添加环境变量

添加环境变量

在这里添加环境变量,你可以选择:(参考来源:https://blog.lete114.top/article/Valine-LeanCloud-Config.html)

变量名示例说明
SITE_NAMELete乐特个人博客[必填]网站名称
SITE_URLhttps://blog.lete114.top[必填]网站地址
SMTP_USERadmin@lete114.top[必填]邮箱地址
SMTP_PASS123456789[必填]邮箱授权码 (部分邮箱服务商默认开启SMTP) (如果没有授权码可直接填写邮箱密码)
SMTP_SERVICEQQ[必填]邮箱服务商查询相关详细
SENDER_NAMELete乐特[必填]寄件人名称
TEMPLATE_NAMErainbow[必填] 设置提醒邮件的主题 看下方有主题模板
ADMIN_URLhttps://letetest.leanapp.cn[可选] 后台管理地址
SCKEYSCU100890xxxxxx293e1xxx9dbfe82axxxx2dc[可选] server 酱的 SCKEY(微信提醒)
QMSG_KEYfdexxxx42a1xxx28f16d5xxxxa00[可选] Qmsg 酱的密钥
QQ123456789[可选]Qmsg 酱发送的 qq,不填为全部 支持多个,用英文逗号分隔即可
QQ_SHAKEtrue[可选]填写代表发送 QQ 戳一戳
INFO<p style='color:red'>test<p>[可选] 自定义信息输出,支持 HTML 代码 LeanCloud控制台日志信息输出
faviconhttps://cdn.jsdelivr.net/gh/lete114/lete114.github.io/img/favicon.ico[可选] 网页 favicon 图标
TO_EMAILadmin@lete114.top[可选]博主通知收件地址,默认使用SMTP_USER
SPAM_WORDS检测的内容,如:单号,物流[可选] 需要对屏蔽的关键词,关键词用半角逗号分隔
MAIN_COLOR#ff9191[可选] 仅针对 custom2 模板主题的主要颜色
MAIN_IMGhttps://cdn.jsdelivr.net/gh/lete114/CDN/BoBoPic/22.jpg[可选] 仅针对 custom2 模板主题的头图
特殊参数特殊参数特殊参数
DISABLE_EMAILtrue[可选] 禁止邮件通知博主,@仍然会提醒

注意这个特殊参数,由于很多 Valine-Admin 版本的差异,导致我也不知道这个功能是否会生效,我查看了大佬的源码,发现有这个配置,但是具体代码我看不太懂,所以这个功能不是很确定,但是我自己设置了,确实成功了,普通的留言不会邮箱提醒,但是@提醒不提醒好像也没生效,就这么搁置了

主题说明
default默认主题
rainbow原版的 rainbow
custom1基于🎉梨花町の肾兄さん🎉的模板
custom2对 custom1 的改进版

虽然邮箱是必填,但是我不想用,就没填,控制台虽然有报错,但是功能正常使用

更多参数请参考原始扩展插件地址:https://github.com/DesertsP/Valine-Admin

部署

选择云引擎–>部署–>部署项目–>Git部署–>配置Git–>填写下方任意一个地址–>保存–>生产环境–>部署
Lete乐特个人定制:https://github.com/lete114/Valine-Admin-Server.git
小康:https://github.com/sviptzk/Valine-Admin-Server.git

自动唤醒

选择 self-wake 云函数,Cron 表达式为0 */25 0-15,23 * * ?,表示每天早7点到晚23点每隔25分钟访问云引擎

选择 resend-mails 云函数,Cron 表达式为0 10 23 * * ?,表示每天早上7点10检查过去24小时内漏发的通知邮件并补发

Cron 函数可以自己定义,不过需要注意时区问题,国际版默认使用的是 UTC+0 时间,和北京时间相差大约八个小时

后台管理系统

绑定云引擎的域名

绑定云引擎的域名,注意,这个域名就是你之后的后台管理地址。

绑定好之后在环境变量里设置 ADMIN_URL 字段,然后重启云引擎,访问 你的后台管理域名/sign-up 注册管理员,

需要注意的是,管理员的邮箱是强制只用发送邮件的邮箱哦

设置完成就可以通过 你的后台管理域名 访问后台管理系统了。

声明

本文结合两位大佬的博客写的:

乐特

乐特

小康

小康