Typecho通过Alicloud和插件LoveKKComment实现评论邮件通知

最开始选择Typecho就是看中了它轻巧,简单,非常适合作为个人记录的博客。使用过程中有了很多新需求,都在社区找到了对应的插件实现。

前段时间发现了一个新的需求:读者在博文下面留了言,博主回应后却没有通知读者。这样没有闭环的体验很不好,要是读者能够实时收到作者回复提醒(邮件通知是很好的实现方式),就能促进读者和博主的交流。

社区里大部分参考都是使用CommentToMail这款插件,以及各种在此插件基础上更新的插件,但是距离上次插件更新时间还是太过久远,我尝试了很多次,即使后台模拟发信能够成功,评论后仍然不能收到信件。

这里推荐一款新的插件LoveKKComment,插件的接口更加丰富:SMTP、SendCloud 服务、Alicloud DirectMail,且附带博客用户密码找回功能,至今仍在维护。

本文使用 Alicloud DirectMail 的 API 接口实现邮件推送。三种方式的选择见后文。

实现环境

  • 操作系统:CentOS 7.4
  • 技术基础
    默认已有私有服务器,拥有私有域名,安装了博客 Typecho 且有 Linux 基础
  • 阿里云邮件推送服务(Alicloud DirectMail):官方帮助文档
  • LoveKKComment:文件 点击下载

开通 Alicloud DirectMail 服务

阿里云推送的作用是帮你把插件生成的邮件内容推送至评论时留下的邮箱中。通过阿里云可以把你喜欢的域名(一般是你博客域名)作为发信域名,类似于Geek@gmail.com中的gmail.com部分,你还能自由设置前缀,生成发信地址。本博设置了admin@mail.n-q.cn作为发信地址。是的,你现在评价后,就能收到这个地址发来的邮件,试一下?

配置过程需要配置发信域名,并且验证;配置发信地址;并且取得阿里云平台的授权。

发信域名

请移步阿里云教程:新建发信域名

教程很详细,特别注意两点:

  • 二级域名:建议使用二级域名,如mail.n-1.cn,避免对顶级域名n-1.cn产生影响
  • 验证时间:DNS 配置后的生效时间是 10 min,需要等待生效之后发信域名的验证才能通过

发信地址

请移步阿里云教程:新建发信地址

特别注意一点:

  • 发信类型选择触发邮件

获取授权 —— accesskeys

获取阿里云平台的 API 授权,这样插件才有权调用邮件推送的功能。这里只需要DirectMail 权限,所以只需要子账户的 accesskeys即可。

进入控制台,鼠标移动至右上角,选择 accesskeys ▼
阿里云
根据提示选择开始使用子账户 AccessKey ▼
阿里云
在弹出的窗口填写用户名,点击下一步 ▼
阿里云
搜索邮件,选择搜索出现的两个权限,点击开始创建 ▼
阿里云
输入短信验证码之后,记录生成的AccessKey IDAccessKey Secret

安装插件 LoveKKComment

安装方式同常规插件安装。

安装

  1. 通过git clone将插件下载至Typecho插件目录./usr/plugins中,目录名称更改为LoveKKComment
  2. 后台激活插件
  3. 选择发信接口:阿里云推送
  4. 发件邮箱地址和邮件回复地址同 Alicloud DirectMail 中的设置
  5. 填入对应的DM接入区域、Accesskey ID、Accesskey Secret

阿里云

三种方式

SMTP。 这种方式通过各种邮件服务商提供的 SMTP 接口发送邮件,优势是不需要设置发信域名,用自有的QQ、163 邮箱直接发信;不足我自己体验下来,评论提交速度会变慢,且有时无法触发发信。

Send Cloud。 邮件推送服务商,类 Alicloud DirectMail 服务。

Alicloud DirectMail。 其在 Typecho 后台的配置更为简单。且阿里云服务稳定, 相应速度快,基本上我评价之后就能收到邮件。在阿里云后台能够看到发信统计,分析等。推荐这种方式。

说明下

插件里面的发信内容能够自定义,模板文件在文件夹./usr/plugins/LoveKKComment/theme中,分别为:

  • approved.html:邮件审核通过通知模板
  • author.html:文章评论通知作者模板
  • reply.html:评论回复通知被回复者模板

在先前测试中,默认模板发送到QQ 邮箱会被认为广告垃圾邮件,建议对模板作一些修改,把类似自动、系统创建等词语替换,保证信件顺利到达。


  1. 密码找回:在用户登陆界面添加选项 [密码找回],输入邮箱后会将密码找回连接发送至绑定邮箱
  2. 子账户 accesskey:accesskey 能够获取账户下的所有权限,安全起见,服务需要什么权限则授予什么权限,通过子账户来管理
本文作者:酷酷的二货

本文链接:https://www.n-1.cn/35.html

版权声明:所有文章均采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。 您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。

如果博客部分文章出现空白或异常,请留言或者联系博主修复。
最后修改:2019 年 08 月 28 日 10 : 02 PM
如果觉得我的文章对你有用,请随意赞赏

3 条评论

  1. Jayson

    滴!访客卡!请上车的乘客系好安全带,现在是:Mon Dec 09 2019 14:21:56 GMT+0800 (中国标准时间)

  2. 小柒

    加油^0^~

    1. 酷酷的二货
      @小柒

      会的|´・ω・)ノ

发表评论