Skip to content

OuOumm/CommentToMail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CommentToMail - 评论邮件提醒插件

CommentToMail 是一个基于 Typecho 博客系统的评论邮件提醒插件,可以在有新评论或回复时自动发送邮件通知,支持多种发送方式和丰富的配置选项。

功能特性

📧 多种发送方式

  • SMTP 发送(支持 SSL/TLS 加密)
  • PHP mail() 函数发送
  • Sendmail 发送

🔔 灵活的通知策略

  • 有评论及回复时,发送邮件通知博主
  • 评论被回复时,发送邮件通知评论者
  • 可选择是否在自己回复自己时发送通知
  • 支持强制忽略用户选择,解决回复审核后评论无通知问题
  • 可设置发送间隔时间,应对反垃圾策略

🎨 自定义模板

  • 支持自定义博主和访客的邮件模板
  • 提供现代化、响应式的邮件模板
  • 支持模板变量替换
  • 实时预览模板效果

📊 队列管理

  • 邮件发送采用队列机制,提高发送成功率
  • 支持手动触发邮件发送队列
  • 可配置已发送邮件数据的清理时间
  • 支持在禁用插件时删除数据表

🔒 安全可靠

  • 支持 API 密钥验证
  • 可选开启不验证密钥模式(仅特殊环境使用)
  • 支持检查开发版本更新

📱 响应式设计

  • 现代化的 Apple 风格管理界面
  • 支持多种屏幕尺寸
  • 流畅的动画效果
  • 直观的统计数据展示

安装方法

1. 下载插件

2. 上传插件

  • 将插件文件夹 CommentToMail 上传到 Typecho 博客的 usr/plugins/ 目录下

3. 激活插件

  • 登录 Typecho 后台,进入「控制台」→「插件管理」
  • 找到「评论邮件提醒」插件,点击「启用」按钮
  • 启用后会自动创建数据库表

配置说明

基本设置

  • 发信方式:选择适合您服务器的发送方式(推荐使用 SMTP)
  • SMTP 地址:填写您的 SMTP 服务器地址
  • SMTP 端口:填写 SMTP 服务端口(一般为 25,SSL 加密为 465,TLS 加密为 587)
  • SMTP 用户:SMTP 服务验证用户名(一般为邮箱地址)
  • SMTP 密码:SMTP 服务验证密码
  • SMTP 验证:根据服务器要求选择验证方式和加密方式
  • 发件人名称:发件人显示的名称,留空则使用博客标题

邮件地址设置

  • 接收邮件的地址:接收邮件的地址,如为空则使用文章作者个人设置中的邮件地址
  • 模板中"联系我"的邮件地址:联系我用的邮件地址,如为空则使用文章作者个人设置中的邮件地址

邮件标题设置

  • 博主接收邮件标题:设置博主收到的邮件标题模板
  • 访客接收邮件标题:设置访客收到的邮件标题模板

提醒设置

  • 选择需要提醒的评论状态(已通过、待审核、垃圾评论)
  • 该选项仅针对博主,访客只发送已通过的评论

其他设置

  • 有评论及回复时,发邮件通知博主:开启后,所有评论和回复都会通知博主
  • 评论被回复时,发邮件通知评论者:开启后,评论被回复时会通知评论者
  • 自己回复自己的评论时,发邮件通知:开启后,自己回复自己的评论也会发送通知
  • 强制忽略用户选择:解决回复审核后评论无通知问题
  • 启用间隔时间:启用间隔时间以应对反垃圾策略(建议开启)
  • 检查开发版本:检查开发版本(请不要在生产环境使用)

执行验证设置

  • 开启不验证 key:仅特殊环境下及调试时使用,建议无需求不要勾选

清理时间设置

  • 不清理:不自动清理已发送的邮件数据
  • 发送成功后立即清理:发送成功后立即清理邮件数据

禁用设置

  • 禁用插件时,删除对应数据表:勾选后,禁用插件时将删除邮件队列数据表,包括所有未发送的邮件数据,请谨慎操作!

使用方法

1. 配置插件

  • 启用插件后,进入「设置」页面,根据您的需求配置各项参数
  • 点击「保存设置」按钮保存配置

2. 测试发送

  • 配置完成后,进入「评论邮件提醒控制台」
  • 点击「邮件发送测试」选项卡
  • 填写测试邮件地址,点击「发送测试邮件」按钮
  • 检查邮箱是否收到测试邮件

3. 管理邮件队列

  • 进入「评论邮件提醒控制台」
  • 查看统计卡片,了解邮件队列状态
  • 点击「立即处理」按钮手动触发邮件发送队列

4. 自定义邮件模板

  • 进入「评论邮件提醒控制台」
  • 点击「模板编辑」选项卡
  • 选择要编辑的模板文件(guest.html 或 owner.html)
  • 在编辑器中修改模板内容
  • 点击「预览模板」按钮查看效果
  • 点击「保存文件」按钮保存修改

邮件模板变量

模板中支持以下变量替换:

  • {siteTitle} - 网站标题
  • {title} - 文章标题
  • {author} - 评论者昵称
  • {author_p} - 原评论者昵称
  • {mail} - 评论者邮箱
  • {contactme} - 联系我用的邮件地址
  • {ip} - 评论者 IP 地址
  • {status} - 评论状态
  • {permalink} - 文章永久链接
  • {manage} - 评论管理链接
  • {text} - 评论内容
  • {text_p} - 原评论内容
  • {time} - 评论时间

常见问题

Q: 为什么我没有收到测试邮件?

A: 请检查以下几点:

  1. SMTP 配置是否正确
  2. 服务器是否开放了对应端口
  3. 防火墙是否阻止了邮件发送
  4. 邮箱是否设置了垃圾邮件过滤

Q: 为什么评论审核后会重复通知?

A: 由于 Typecho 钩子限制,开启审核后通过审核会重复通知。您可以在设置中调整通知策略。

Q: 如何手动触发邮件发送?

A: 可以通过以下两种方式:

  1. 进入控制台,点击「立即处理」按钮
  2. 直接访问:http://yourdomain.com/commentToMailProcessQueue/(需要开启不验证 key 选项)

Q: 如何自定义邮件模板?

A: 进入控制台的「模板编辑」选项卡,选择要编辑的模板文件,修改后保存即可。

更新日志

v5.0.0 (2025-12-17)

  • 优化了控制台界面,采用 Apple 风格设计
  • 改进了邮件模板,使用现代化、响应式设计
  • 修复了变量替换顺序问题
  • 优化了数据库连接和字符集处理
  • 改进了更新检查机制,增加了缓存和错误处理
  • 添加了在禁用插件时删除数据表的选项
  • 优化了代码结构,删除了冗余代码

v4.0.0

  • 支持 PHP 8.0+
  • 升级到 PHPMailer 6.x
  • 改进了邮件队列机制
  • 添加了模板预览功能

v3.0.0

  • 重构了代码结构
  • 改进了 SMTP 发送机制
  • 添加了更多配置选项

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进插件!

开发流程

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/your-feature
  3. 提交修改:git commit -am 'Add some feature'
  4. 推送到分支:git push origin feature/your-feature
  5. 提交 Pull Request

代码规范

  • 遵循 PSR-2 代码规范
  • 使用 4 个空格缩进
  • 变量命名使用驼峰命名法
  • 添加适当的注释

许可证

本插件采用 GPL-3.0 许可证开源,详情请查看 LICENSE 文件。

联系方式

致谢

感谢所有为本项目做出贡献的开发者和用户!


更新提示:如果您喜欢这个插件,请给个 Star ⭐ 支持一下!

About

typecho评论邮件提醒插件

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors