为什么我的 Outlook 规则总是自动关闭?
自动停用的规则(有时每天都发生)是 Outlook 最令人沮丧的问题之一,因为看起来什么都没坏。这里说明到底发生了什么,以及如何判断三种原因中哪一种适用于您。
Outlook 规则会因三种不同的原因自动关闭,每种都需要不同的修复方法。到目前为止最常见的是邮箱规则配额:Exchange 给每个邮箱的所有规则合计大小设了固定预算,Exchange Online 为 256 KB,Exchange Server 2007 及更高版本默认为 64 KB,而且已停用的规则同样计入配额。一旦超出预算,Exchange 就会停用规则,Outlook 会报告“一个或多个规则无法上传到 Exchange 服务器,已被停用。”第二种原因是根本无法存储在服务器上的仅客户端规则。第三种是同一条规则存在于两台计算机上并发生冲突。本指南将说明如何判断您遇到的是哪一种。
错误消息及其真正含义
当 Outlook 自行停用规则时,您看到的消息是:
一个或多个规则无法上传到 Exchange 服务器,已被停用。这可能是因为某些参数不受支持,或者没有足够的空间来存储您的所有规则。(具体措辞因语言和 Outlook 版本而异。)
这一条消息涵盖了两个完全不同的问题,这也是它如此没有帮助的原因。“某些参数不受支持”意味着规则是仅客户端的,无法存放在服务器上。“空间不足”意味着您超出了规则配额。下面的内容都是为了区分这两者。
原因 1:您超出了规则配额
Exchange 把您的规则存储在邮箱中,并限制这组规则的总大小。上限按邮箱计算:
- Exchange Online (Microsoft 365):256 KB。
- Exchange Server 2007 及更高版本:默认 64 KB,管理员最多可提高到 256 KB。
- Exchange Server 2003:32 KB,固定。
关于这个数字,重要的是它是大小,而不是数量。Outlook 中没有规则数量上限。十条规则可能耗尽配额,而另一个人运行六十条却毫无问题,因为消耗预算的是每条规则的内容:它的名称、每个条件、每个操作,尤其是您在其中列出的每个邮箱地址或关键词。
一条写着“把来自 newsletters@example.com 的邮件移到 Newsletters”的规则很小。一条写着“把来自这 180 个地址中任意一个的邮件移到 Clients”的规则就不小了,因为全部 180 个地址都存储在规则里。
陷阱:已停用的规则仍然计入
在管理规则和通知中取消勾选某条规则,并不会释放任何配额。该规则仍存储在邮箱中,仍计入预算。人们常常停用一半规则来腾出空间,看不到改善,就得出配额不是问题的结论。请删除旧规则,而不是停用它们。
如何检查您的配额
如果您有 Exchange 管理员权限,此命令可读取当前设置:
Get-Mailbox you@example.com | FL displayname,rulesquota
在服务器允许的情况下,此命令可提高配额:
Set-Mailbox you@example.com -RulesQuota:256kb
如果您使用 Exchange Online,则已经处于 256 KB 的上限。没有可再提高的空间,唯一的出路是缩小规则集。
如何缩小规则集
- 删除您不再使用的规则 — 这是唯一真正能回收空间的操作。
- 缩短规则名称。 这听起来微不足道,其实不然:名称会随规则一起存储,一批冗长的描述性名称累积起来相当可观。
- 合并相似的规则。 三条各自把一个发件人移到同一文件夹的规则,可以变成一条带三个发件人的规则,这比三个独立的规则结构更小。
- 精简过长的地址和关键词列表。 这些通常占了大多数超大规则集的大部分体积。如果用一个域名就能代替该域名下的二十个单独地址,请使用域名。
- 如果规则归档到 .pst,请把 .pst 移到路径较短的位置。完整路径存储在规则内部,因此
C:\archive.pst比用户配置文件下深层嵌套的文件夹占用更少。
原因 2:规则是仅客户端的
有些规则完全无法在服务器上运行,因为它们要做的事只有 Outlook 应用程序才能完成。Outlook 会在规则列表中把这些规则标记为(仅客户端),它们只在该计算机上 Outlook 打开时才运行。
只要使用下列任何一项,规则就会变成仅客户端的:
- 播放声音,或显示桌面警报
- 打印邮件
- 运行脚本
- 启动应用程序
- 移动或复制到本地 .pst 文件,而不是邮箱文件夹
- 任何勾选了仅在此计算机上的规则
如果仅客户端规则一直被停用,修复方法是去掉迫使它留在客户端的条件或操作,最常见的是改为归档到邮箱文件夹而不是 .pst,或取消勾选仅在此计算机上。我们在仅客户端与服务器端 Outlook 规则中详细介绍了这一区别。
原因 3:同一条规则存在于两台计算机上
如果您在多台计算机上使用 Outlook,并且有指向本地文件的仅客户端规则(比如台式机上的 .pst 在笔记本电脑上并不存在),这两份规则集就会冲突。每台计算机都试图协调一条引用了对方看不到的东西的规则,规则就在这个过程中被停用。
这一种很容易识别:切换计算机时规则就会失效,在一台计算机上重新启用它们,又会让另一台上的失效。修复方法是不再在您希望随处生效的规则中引用本地资源。
您属于哪一种?
- 多条规则同时被停用,重新启用后再次出现 → 配额。请看原因 1。
- 某一条特定的规则无法保持开启,并且它会播放声音、运行脚本或归档到 .pst → 仅客户端。请看原因 2。
- 规则在一台计算机上正常,在另一台上失效 → 冲突。请看原因 3。
- 规则保持启用但不触发 → 这是另一个问题:规则已启用但从未匹配,或者它是仅客户端的而 Outlook 已关闭。这里不涉及;想了解更全面的情况,请参阅 Outlook 规则替代方案。
没有人提到的部分
上面的每种修复都是让规则集变小,没有一种能阻止它继续增长。配额是固定的,而您的邮件不是。能准确归档邮件的规则集,每当出现新客户、新项目或新发件人时就必须扩充,这正是人们最终会在一条规则里放进 180 个地址的原因。
这就是把规则当作归档系统的结构性问题:它们只能处理您预先预测到的邮件模式,而预测得越多,付出的代价就是您买不到更多的配额。
Folder Suggest 采取相反的做法:它读取每封邮件,并根据您现有的结构建议合适的文件夹,因此没有需要维护的规则集,也没有会触发的配额。AI 在您自己的设备上运行,没有任何邮件内容离开您的设备。
添加到 Outlook常见问题
为什么我的 Outlook 规则每天都自动关闭?
一条反复(而不是只有一次)自动停用的规则,几乎总是指向规则配额。Outlook 尝试把您的规则集重新上传到 Exchange,但规则集放不下,服务器就会停用导致超限的那些规则。看起来是每天发生,是因为每次 Outlook 同步规则集时都会发生一次。解决办法是减小规则的总大小;不减小任何东西就重新启用规则,只会重复这个循环。
已停用的规则是否仍计入 Outlook 的规则上限?
是的。这是人们搞不清自己为何超限的最常见原因。在“管理规则和通知”中取消勾选的规则仍存储在邮箱中,仍会占用配额。删除旧规则会释放空间;停用它们不会。
如何查看我当前的 Outlook 规则配额?
Exchange 管理员可以在 Exchange Online PowerShell 中运行 Get-Mailbox you@example.com | FL displayname,rulesquota。没有管理员权限的话,没有受支持的方法可以从 Outlook 客户端读取这个数字,所以这个症状通常是根据错误消息来判断的。
我的管理员可以提高 Outlook 规则上限吗?
有一定限度。在 Exchange Server 2007 及更高版本中,默认值为 64 KB,管理员可以用 Set-Mailbox -RulesQuota 提高,但 256 KB 是上限,无法超过。Exchange Online 的配额已经是 256 KB,因此没有更多余地,唯一的办法是让规则集变小。