折腾笔记

折腾笔记

解决 Proxmox VE 9 邮件重复发送的问题

2026-02-25

内容作为pve日常问题解决记录,AI整理

最近在维护我的 Proxmox VE 9 服务器时,遇到了一个非常奇葩的问题:

即便我在 PVE 后台关闭了邮件通知,SMTP 也关闭了,服务器仍然 每天不断发送邮件

经过排查和参考论坛帖子(Proxmox 每分钟发送邮件问题),我总结了一套 实战解决方法,今天分享给大家。


一、问题表现

使用 Postfix 查看日志:

journalctl -u postfix -f

可以看到:

status=bounced (host mxbiz1.qq.com said: 550 Mail content denied)

即便我 已经关闭 PVE 邮件通知,Postfix 仍然尝试发送邮件,最终被 SMTP 拒收并生成 bounce,形成 循环发送

Matcher 匹配 → 邮件发送失败 → bounce → 循环


二、原因分析

经过查看 /etc/pve/notifications.cfg

matcher: default-matcher
        comment Route all notifications to mail-to-root
        mode all
        target mail-to-root

sendmail: mail-to-root
        comment Send mails to root@pam's email address
        disable true
        mailto-user root@pam

分析:

  • sendmail 已经禁用

  • matcher 仍然 mode all,指向 mail-to-root

  • 系统仍然匹配通知 → Postfix 尝试发送 → 生成 bounce → 循环

也就是说,关闭邮件通知和 SMTP 并不能阻止 matcher 本身的触发行为,它仍然会尝试处理通知。


三、解决思路(基于论坛帖 + 实测)

  1. 修改 matcher 配置:停止匹配通知

  2. 重启 pvenotify 和 pvescheduler:让修改立即生效

  3. 验证 Postfix 日志:确保邮件不再发送


1️⃣ 修改 matcher 配置

编辑 /etc/pve/notifications.cfg

nano /etc/pve/notifications.cfg

修改为:

matcher: default-matcher
        comment Stop all notifications to mail-to-root
        mode none
        target mail-to-root
  • mode none 表示不再匹配任何通知

  • 如果希望保留严重通知,可以改成 mode warning

示意图:修改 matcher 配置截图


2️⃣ 重启服务

配置修改后,需要重启相关服务:

systemctl restart pvenotify
systemctl restart pvescheduler

示意图:重启服务截图


3️⃣ 验证效果

再次查看 Postfix 日志:

journalctl -u postfix -f

几分钟后,你会发现:

  • 不再每分钟发送邮件

  • bounce 消息消失

  • 邮件循环彻底停止

示意图:日志正常状态


四、经验总结

  • PVE 邮件循环问题,即便关闭通知和 SMTP 也可能出现

  • 根本原因:通知 matcher 仍然匹配触发

  • 解决方法:

  1. 修改 /etc/pve/notifications.cfg,把 matcher 改成 mode nonemode warning

  2. 重启 pvenotifypvescheduler

  3. 验证 Postfix 日志

🔹 小提示:如果使用企业邮箱(QQ / 企业微信等),出现 550 Mail content denied 是正常的,只要 matcher 配置正确,就不会循环邮件了

  • 0