Mailer:又一款评论邮件提醒插件

Typecho 的轻量导致某些基础设施缺失,邮件通知就是其中一项。这些年来无数人写了无数的邮件通知插件,其中许多要不是极度臃肿,要不就是年久失修了。

我之前在用的插件(CommentToMail)使用队列来保存发信任务,需要外部访问某个触发网址才能一次性发信。之所以不在评论完成时立即发信,是因为发信是耗时操作,会导致前端等待很久。

终于,2017 年 11 月 Typecho 开发版中增加了一个异步回调方法,正好用来完成耗时的、但又不需要立即获得结果的任务。Joyqi 使用这个新特性写了一个邮件提醒 Demo,我基于此 Demo 增加了自定义模板以及一些其它细碎功能,调整了发信规则,最终替换掉 CommentToMail 用在了自己博客上。这里放出来,供需要的人取用。

项目地址 | 欢迎 Star!

本插件需要使用 Typecho 开发版(17.11.15 及以上版本)。

使用方法

下载插件,上传至插件目录,后台启用后设置相关信息。然后在博客评论区 form 元素中合适位置添加:

<span>
  <input name="receiveMail" type="checkbox" value="yes" checked />
  <label for="receiveMail"><strong>接收</strong>邮件通知</label>
</span>

以上代码必须添加,不添加不会发信。VOID 主题开发版已做了处理。

然后在插件设置页面填写发件信息。注意,如果你是用的 QQ 之类的邮箱,可能需要生成专用密码,而不能直接使用登陆密码。

插件默认提供了一个比较简单的发信模板,如果有好看的模板欢迎在评论区分享。模板中可以使用一些变量,见插件设置页说明。

发信规则

基于如下规则发信:

评论者 被评论对象 发信规则
博主 文章 不发信
博主 博主 不发信
博主 访客 提醒访客
访客 文章 提醒博主
访客 博主 提醒博主
访客 访客(本人) 提醒博主
访客 访客(非本人) 提醒评论对象与博主

也可以单独设置是否提醒博主或者访客。待审或垃圾评论不会提醒访客。

LICENSE

MIT © AlanDecode. You are welcome.