弃掉 WordPress 选择 Typecho 就是看中了它轻便快捷,非常适合作为个人记录的博客。使用过程中有了很多新需求,都在社区找到了对应的插件实现。社区里大部分参考都是使用CommentToMail这款插件,即使后台模拟发信能够成功,但是经常会出现各种‘玄学’的问题 例如回复评论没有发出邮件....
- 本文使用 Alicloud DirectMail 的 API 接口实现邮件推送。三种方式的选择见后文。
Typecho通过Alicloud和插件LoveKKComment实现评论邮件通知
实现环境
- 操作系统:CentOS7
- 技术基础 默认已有私有服务器,拥有私有域名,安装了博客 Typecho 且有 Linux 基础
- 阿里云邮件推送服务(Alicloud DirectMail):官方帮助文档
- LoveKKComment:项目地址 - github
开通Alicloud DirectMail服务
- 阿里云推送的作用是帮你把插件生成的邮件内容推送至评论时留下的邮箱中。通过阿里云可以把你喜欢的域名(一般是你博客域名)作为发信域名,类似于admin@qq.com中的qq.com部分,你还能自由设置前缀,生成发信地址。本博设置了admin@mail.ipwa.cn为发信地址。是的,你现在评价后,就能收到这个地址发来的邮件,试一下?
- 配置过程需要配置发信域名,并且验证;配置发信地址;并且取得阿里云平台的授权。
发信域名
请移步阿里云教程:新建发信域名
教程很详细,特别注意两点:
二级域名:建议使用二级域名,如mail.ipwa.cn,避免对顶级域名ipwa.cn产生影响
验证时间:DNS 配置后的生效时间是 10 min,需要等待生效之后发信域名的验证才能通过
发信地址
- 请移步阿里云教程:新建发信地址
- 特别注意一点:发信类型选择
触发邮件
获取授权 —— accesskeys
获取阿里云平台的 API 授权,这样插件才有权调用邮件推送的功能。这里只需要DirectMail 权限,所以只需要子账户的 accesskeys即可。
进入控制台,鼠标移动至右上角,选择 accesskeys ▼
根据提示选择开始使用子账户 AccessKey ▼
然后会提示你开通RAM访问控制 开通集客
创建用户 ▼
输入短信验证码之后,记录生成的AccessKey ID和AccessKey Secret
授权出添加一下此两项权限
- AliyunDirectMailFullAccess 管理邮件推送(DirectMail)的权限
- AliyunDirectMailReadOnlyAccess 只读访问邮件推送(DirectMail)的权限
安装插件 LoveKKComment
安装方式同常规插件安装。详见:Typecho评论邮件通知插件 - LoveKKCommentv1.0.5
安装and设置
- 通过git clone将插件下载至Typecho插件目录./usr/plugins中,目录名称更改为LoveKKComment
- 后台激活插件
- 选择发信接口:阿里云推送
- 发件邮箱地址和邮件回复地址同 Alicloud DirectMail 中的设置
- 填入对应的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 邮箱会被认为广告垃圾邮件,建议对模板作一些修改,把类似自动、系统创建等词语替换,保证信件顺利到达。
本文主要内容参考于网上的几位大佬,插件作者爱喝茶的康康,仅供用于学习和交流,若有侵权请邮件联系本站!i@t1i.cn