Typecho评论邮件通知配置,新评论推送提醒
Typecho 默认不会主动通知站长有新评论,需要借助插件和 SMTP 服务来发送邮件提醒。
本文面向零基础用户,从插件选择、参数配置到发送失败排查,一步步实现新评论推送到邮箱。
先确认服务器环境和邮箱账号
操作前需要确认两件事:服务器能正常访问外网(多数 SMTP 需要),以及你有一个支持 SMTP 的邮箱。
常用邮箱的 SMTP 信息可以在邮箱设置中开启,一般需要获取授权码而非登录密码。
以 QQ 邮箱为例,路径是:设置 -> 账户 -> POP3/IMAP/SMTP服务,开启后生成授权码。
服务器端建议先测试网络连通性:
telnet smtp.qq.com 465
如果提示连接失败,可能是服务器防火墙或安全组没放行 465 端口,需要先在服务商控制台放行。
安装并启用评论邮件通知插件
Typecho 常用的方案是 CommentToMail 插件。
下载后解压,把插件文件夹放到:
/usr/themes/plugins/CommentToMail
然后在 Typecho 后台进入 控制台 -> 插件,找到 CommentToMail 并点击启用。
启用后点击插件右侧的 设置,会看到 SMTP 相关字段。
不同版本字段名称略有差异,但核心项基本一致:
- SMTP 服务器地址:如
smtp.qq.com - SMTP 端口:SSL 通常用
465,TLS 用587 - 发件邮箱:你的完整邮箱地址
- 邮箱密码:填写授权码,不是登录密码
- 收件邮箱:接收提醒的邮箱,可填多个,用英文逗号分隔
保存后,插件通常会提供“发送测试邮件”按钮,先点一次确认配置是否可用。
配置中的常见报错与处理
报错一:SMTP connect() failed
多数是端口或加密方式不匹配。
QQ 邮箱 SSL 用 465,TLS 用 587,两者不要混填。
如果服务器不支持 fsockopen,需要联系主机商开启。
报错二:SMTP Error: Could not authenticate
检查密码是否填了授权码,而不是邮箱登录密码。
部分邮箱在开启 SMTP 后需要重新生成授权码,旧授权码会失效。
报错三:发件人地址与登录用户不匹配
发件邮箱必须和 SMTP 登录邮箱一致,不能填一个别名地址。
如果使用企业邮箱,确认管理员已开启 SMTP 发信权限。
避坑提醒: 不要在插件里直接填邮箱登录密码,一旦泄露风险较高。
授权码可以单独吊销,更安全。
另外,部分虚拟主机禁用了 mail() 函数,必须走 SMTP 方式。
验证新评论是否成功推送
配置保存后,用另一个浏览器(或退出登录)在文章下提交一条测试评论。
不要勾选“只有登录用户可评论”之类的限制,否则测试评论可能发不出去。
提交后等待 10-30 秒,检查收件邮箱的收件箱和垃圾箱。
如果收到标题类似“您有新的评论”的邮件,说明配置成功。
如果没收到,按以下顺序排查:
- 插件设置页点击“发送测试邮件”,看是否报错。
- 检查收件邮箱是否把邮件判为垃圾邮件。
- 查看服务器是否能访问 SMTP 端口,用
telnet或nc测试。 - 查看 Typecho 是否有评论审核机制,未审核的评论可能不触发通知。
关于评论邮件通知的几个补充判断
Typecho 评论邮件通知能否成功,主要取决于 SMTP 参数、服务器出网权限和邮箱授权状态,三者缺一不可。
如果测试邮件能收到但新评论不通知,优先检查评论是否需要审核,以及插件是否只对已审核评论发信。
对于使用宝塔面板的用户,
可以在 软件商店 -> PHP设置 -> 禁用函数 中确认 fsockopen 和 pfsockopen 没有被禁用,
否则 SMTP 连接会失败。
如果你的服务器在国内且无法访问外部 SMTP,可以考虑使用国内邮箱服务商或自建邮件服务,但自建邮件容易被判为垃圾邮件,建议优先使用成熟邮箱的 SMTP。
完成以上步骤后,新评论推送提醒就能稳定工作了。
如果更换邮箱或服务器,记得重新检查授权码和端口设置。