Fluid -30- Waline 同时开启邮件和其他评论通知

本文最后更新于:2023年1月5日 晚上

Waline 具有多种通知功能,但在设计上邮件通知与其他通知不同时生效,本文记录同时开启邮件和其他评论通知的方法。

背景

  • 如果我们已经配置好 Waline 的邮件通知,也配置了 Waline 的微信通知,那么在有新评论时我们只能收到微信的 Server 酱 通知而没有邮件通知。

问题原因

  • 导致邮件通知不能与其他通知同时生效的原因在于 notify.js 中的代码逻辑
  • 其中写死了如果有其他任何一种通知存在,那么就不发送邮件通知

修改方法

  • 找到 waline-service/node_modules/@waline/vercel/src/service/notify.js 文件
  • 找到第 425 行附近的代码:
1
2
3
4
5
6
7
8
if (
[wechat, qq, telegram, qywxAmWechat, pushplus, discord].every(
think.isEmpty
) &&
!isReplyAuthor
) {
mailList.push({ to: AUTHOR, title, content });
}
  • 其中 [wechat, qq, telegram, qywxAmWechat, pushplus, discord].every(think.isEmpty) 的意思就是前面这么多种通知,只要有任何一个不是空的结果就是 False

  • 那么比如我想要同时开启微信通知和邮件通知,那我在这个列表里将微信通知删掉不去检查其是否为空就可以了

    删去 wechat

    1
    2
    3
    4
    5
    6
    7
    8
    if (
    [qq, telegram, qywxAmWechat, pushplus, discord].every(
    think.isEmpty
    ) &&
    !isReplyAuthor
    ) {
    mailList.push({ to: AUTHOR, title, content });
    }
  • 之后重启 waline,有新评论就可以同时收到邮件和微信通知了,其他情况以此类推。

参考资料


Fluid -30- Waline 同时开启邮件和其他评论通知
https://www.zywvvd.com/notes/hexo/theme/fluid/fluid-waline-mail-wechat-noti-both/mail-wechat/
作者
Yiwei Zhang
发布于
2023年1月5日
许可协议