Banner image of the blog
0 0 分钟

MailNotifyPro评论邮件通知插件

2025-05-27 默认分类 编辑

因网上查了很多相关插件,发现大多数都是很久没更新的,而我使用的是Typecho 1.2.1、PHP 8.4、SQLite数据库,类似插件很多都无法适配,所有便有了这款MailNotifyPro插件。

本插件功能描述

插件代码与数据库无关
  该插件主要依赖 SMTP 邮件发送功能,仅在使用 notifyParentCommenter 方法时查询父级评论(通过 Typecho_Db 接口)。
  Typecho 的数据库操作均通过统一的 Typecho_Db 抽象层实现,自动适配 SQLite/MySQL,插件无需单独处理。

主要优点说明


1. 邮件发送队列系统

  • 使用 Typecho 的 Widget_Options 存储队列数据
  • 分批处理队列,防止一次性发送过多邮件
  • 支持重试机制,最多重试3次

2. HTML邮件支持

  • 提供HTML和纯文本两种格式选项
  • 自动根据配置生成相应格式的邮件内容
  • 设置正确的邮件头(Content-Type)

3. 性能优化

  • 减少数据库查询,缓存父级评论数据
  • 使用异步触发机制,不阻塞主流程
  • 批量处理队列,提高效率

4. 增强的错误处理

  • 捕获所有可能的异常
  • 记录详细的错误日志
  • 重试失败的邮件发送

5. 配置灵活性

  • 可配置队列处理批量大小
  • 可单独开关管理员通知和评论者通知
  • 支持选择邮件格式

安装说明

  1. 将插件文件夹命名为 MailNotifyPro 并上传到 /usr/plugins/ 目录
  2. 在 Typecho 后台激活插件
  3. 配置 SMTP 服务器信息和其他选项
  4. 保存设置

使用建议

1. 队列配置:

  • 对于高流量站点,建议设置较小的批量大小(如3-5)
  • 低流量站点可以设置较大的批量大小(如10)

2. HTML模板:

  • 可以进一步扩展代码,支持从文件读取HTML模板
  • 或者添加模板变量替换功能

3. 性能监控:

  • 定期检查日志文件,了解邮件发送情况
  • 监控队列长度,防止积压