自建邮件服务器存储爆满,根因是一个员工的 Outlook 设置
自建的邮件服务器(SmarterMail)存储空间告急,触发了容量告警。这类问题的常规应对是清理垃圾邮件、扩容磁盘,但在着手清理之前,先查了一下究竟是哪个账号占用了最多空间——结果指向了一个用 POP3 协议收信的账号。
排查:为什么一个账号能占用这么多空间
用 POP3 收信和用 IMAP 收信,在”邮件到底存在哪”这件事上有本质区别:IMAP 是服务器和客户端保持同步,删了哪边另一边也跟着删;POP3 默认的行为是把邮件下载到本地客户端,如果同时勾选了”在服务器上保留副本(Leave a copy of messages on the server)“,服务器上的这份副本会一直留着,除非额外设置了自动清理规则。
打开这个账号的 Outlook 账户设置发现:“在服务器上保留副本”是勾选的,但”若干天后从服务器删除”这个选项却是关闭的。也就是说,这个账号数年来一直在下载邮件到本地的同时,往服务器上无限期地堆积一份从未被清理的副本——这才是磁盘空间被慢慢吃光的真正原因,而不是某一次异常的垃圾邮件轰炸。
客户端那边”邮件已经收到了”,服务器这边它却从来没被删掉过
修复
进入该账号的 Outlook 高级设置,保持”在服务器上保留副本”勾选(避免影响其他设备收信),同时启用”X 天后从服务器删除”并设置一个具体天数(比如 7 天)。这样账号既能维持多设备同步收信的习惯,服务器上的邮件也不会无限期堆积。
教训
- 邮件服务器存储告急,第一步应该是”找出哪个账号占用最多”,而不是直接扩容或无差别清理——本例的根因集中在一个账号的客户端设置上,扩容磁盘只是把问题往后推迟,没有解决真正的原因;
- POP3 的”保留副本”选项,默认状态下是一个没有上限的坑——多数用户勾选它是为了同时在手机、电脑上都能看到邮件,但很少有人知道这个选项如果不配合自动清理规则,服务器存储会被无限期占用;
- 自建邮件服务器如果同时允许 POP3 和 IMAP 两种协议接入,IT 侧最好统一检查一遍所有 POP3 账号的服务器端清理设置,而不是等某天磁盘告警了才去排查是哪个账号造成的——这类隐患通常需要数年才会累积到触发告警的程度,越早发现、清理成本越低。