某些規則已停用,當您嘗試在 Outlook 中建立或啟用規則時,會收到錯誤訊息

案例配置:

  • 用戶端:Outlook 2013
  • 伺服器:Exchange 2010

(視版本不同徵狀與原因可能有些微差異)

徵狀:

使用者帳戶從POP3切換成Exchange類型,規則出現異常的情況。

  • 在outlook端新增或設定完規則,點擊套用時出現錯誤訊息:
「無法將一或多個規則上傳至 Exchange 伺服器,已停用。

這可能是因為部分參數不受支援,或沒有足夠的空間可儲存所有的規則。」

上述為微軟官方對於徵狀的主要描述。除此之外,本次案例還有下列現象:

  • 已勾選的規則未執行
  • 已勾選的規則被取消勾選
  • 未勾選的規則消失不見

原因:

「都是同步的問題。」

在舊有的資料需要留存、繼續使用原本帳戶的pst檔的情況下,對Exchange類型的帳戶而言,伺服器端如果要執行規則(如使用OWA介面收發郵件的時候),會無法辨識存在於pst檔的資料夾(因為資料夾在用戶端電腦上,不存在於伺服器上)。

因此在OWA網頁介面編輯規則時,若規則涉及pst檔的資料夾,會無法顯示規則內容,並顯示:

「您選取的規則目前無法在 Outlook Web App 中檢視。請使用 Outlook 檢視。」。

取消勾選也會跳出對話方塊:

「此版本 Exchange 不支援此 [收件匣] 規則。」

除了同步的問題之外,就是Exchange從2007開始,郵件規則的容量預設上限為64kb(在此之前視32kb)。但POP3類型的郵件規則沒有這樣的限制,如果轉換前的規則就多到超過64kb(以案例outlook 2013來說大約80個規則,不過視情況可能更少),轉換成Exchange帳戶後受限於規則的預設容量,自然會發生錯誤。

透過OWA網頁端觀察比對離線郵件規則與伺服器同步後的結果,判斷原因如下:

已勾選的規則被取消勾選:

容量不足,超過容量的規則會被取消勾選,排序越下面越舊的會先被取消。

未勾選的規則消失不見:

規則衝突的衍生問題。在上述現象發生之後,Exchange類型帳戶在outlook管理規則時,出現規則精靈表示出現規則衝突,對話方框可選要保留離線的用戶端版本,還是伺服器端的版本。若這時候選擇了伺服器版本的規則,那未勾選的規則會「全部消失不見」

已勾選的規則未執行:

最後這個應該是bug。假設規則容量已超過上限,或是規則容量被減少,但已建立的規則在OWA介面會被取消勾選,而離線端(outlook)仍然會保持勾選。


解決方式:

提高規則的容量上限是最直接的方式,可配置的最大容量為256kb,需透過powershell執行指令:

查詢規則容量

get-mailbox -identity <目標mail帳號> |select  name,rulesquota 

個別變更規則容量

set-mailbox <目標mail帳號> -rulesquota 262144

全部變更規則容量

get-mailbox|set-mailbox -rulesquota 262144

本部落格所有文章除特别聲明外,均採用 CC BY-SA 4.0 協議 ,轉載請註明出處,謝謝。