若要實作前一節中定義的自動移除郵件策略,您必須設定 imexpire 規則。透過將規則放置於 store.expirerule 檔案中來設定規則。下列範例中包含兩項全域 store.expirerule 規則:
Rule1.regexp: 1 Rule1.folderpattern: user/.*/trash Rule1.messagedays: 2 Rule2:regexp: 1 Rule2.folderpattern: user/.* Rule2.messagedays: 14 |
在此範例中,Rule 1 指定垃圾箱資料夾中的所有郵件將在兩天後被移除。Rule 2 指定郵件儲存中的所有郵件將在 14 天後被移除。
本節包含以下小節:
本小節說明 store.expirerule 檔案規則的使用準則。
在舊版的 Messaging Server 中,過期規則可以透過 configutil 參數 store.expirerule. attribute 進行設定 (請參閱「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「configutil Parameters」)。現在仍可使用,但是不再支援使用標頭限制的過期規則 (例如使具有特定主旨行的郵件過期)。不論何時,最好皆使用 store.expirerule 指定所有的過期規則。
規則在名為 store.expirerule 的檔案中指定。
多個過期條件可使用相同的規則指定。(以上範例)。
規則可以套用至整個郵件儲存 (全域規則)、分割區、使用者或資料夾。
全域規則儲存在 msg_svr_base/config/store.expirerule 中。
每個電子信箱都會檢查所有全域規則,這可能導致一些處理經常性耗用時間 (取決於您指定的全域規則數目)。因此,您不應在全域規則檔案中指定分割區、電子信箱或使用者規則。一般來講,您不應試圖在此檔案中放置超過所需數目的過期規則。
分割區規則儲存於 store_root/partition/partition_name/store.expirerule 中。
使用者規則在 store_root/partition/partition_name/userid/store.expirerule 中指定或透過將 folderpattern 規則指定為 user/userid/.*
資料夾規則在 store_root/partition/partition_name/userid/folder/store.expirerule 中指定或透過將 folderpattern 規則指定為user/userid /folder
請注意,只有在 Messaging Server 6.2p4 及更新的發行版本中才會實作各種使用 rule_name 的非全域規則 (使用者、資料夾、分割區)。
多個過期規則可同時套用至一個電子信箱。電子信箱的過期策略由全域規則和本機規則組成。本機規則可套用至某個目錄及其所有子資料夾下的電子信箱。
imexpire 使套用至電子信箱的所有過期規則都相同,除非有特別為此電子信箱指定的專用規則 (請參閱表 18–8)。產生的規則集會根據所有適用的規則,總結出最嚴格的過期策略。例如,如果規則 X 規定最長郵件時限是 10 天,規則 Y 指定的卻是 5 天,則結合兩者得出的規則將是 5 天。
屬性 |
說明 (屬性值) |
---|---|
指定此規則是否為專用規則。如果指定為 exclusive,則僅將此規則套用至指定的電子信箱,而忽略其他所有規則。如果存在一個以上的專用規則,則將使用最後載入的專用規則。例如,如果全域專用規則和本機專用規則均已指定,則將使用本機規則。如果有多個的全域專用規則,則使用由 configutil 列出的最後一個全域規則。(1/0) |
|
指定受此規則影響的資料夾。格式必須以 user/ 開頭,其代表目錄 store_root/partition/*/ (請參閱圖 18–4 和表 18–9)。(POSIX 常規表示式) |
|
資料夾中郵件的最大數目。隨著其他郵件被遞送,最舊的郵件會被永久刪除。(整數) |
|
遞送其他郵件時最舊的郵件被永久刪除之前的資料夾空間上限。(以位元組為單位的整數) |
|
郵件在被永久刪除之前的存在時間 (以天為單位)。(整數) |
|
郵件被標記為已永久刪除前的最大大小 (以位元組為單位)。(整數) |
|
寬限期。超出大小限制的郵件保留在資料夾中的天數。(整數) |
|
郵件標頭欄位 |
指定將郵件標記為移除的標頭欄位和字串。值不區分大小寫,並且無法識別常規表示式。範例:Rule1.Subject: Get Rich Now! 對於標頭 Expires 和 Expiry-Date,如果在這些標頭欄位中指定的日期值早於 messagedays 屬性所對應的日期,則 imexpire 將移除郵件。如果指定多個過期標頭欄位,則將使用最早的過期日期。(字串)。 |
regexp |
建立規則時啟用 UNIX 常規表示式。(1 或 0)。如果未指定,將使用 IMAP 表示式。 |
seen 是當使用者開啟郵件時,由系統設定的郵件狀態旗標。如果將屬性 seen 設定為 and,則郵件必須已讀取並且必須滿足其他條件,才能實作此規則。如果將屬性 seen 設定為 or,則郵件只需被讀取或滿足其他條件,即可實作此規則。(and/or)。 |
|
deleted 是當使用者刪除郵件時,由系統設定的郵件狀態旗標。如果將屬性 deleted 設定為 and,則郵件必須被刪除並且必須滿足其他條件,才能實作此規則。如果將屬性 deleted 設定為 or,則郵件只需被讀取或滿足其他條件,即可實作此規則。(and/or) |
透過在 store.expirerule 檔案中指定規則來設定自動移除郵件規則。store.expirerule 檔案中的每一行包含一個過期條件。全域規則配置檔案 (msg_svr_base/data/store/store.expirerule) 過期條件的格式如下:
rule_name.attribute : value
使用者或電子信箱規則配置檔案的過期規則格式如下:
attribute: value
範例 18–1 會顯示 msg_svr_base/config/store.expirerule 中的一組全域過期規則。
Rule 1 設定全域過期策略 (即套用至所有郵件的策略),內容如下:
建立規則時啟用 UNIX 常規表示式。
3 天後移除超過 100,000 位元組的郵件。
移除使用者刪除的郵件。
移除 [主旨︰] 標頭中帶有字串「Vigara Now!」或「XXX Porn!」的 參數。
限制所有資料夾的郵件數不得高於 1,000 封。超過 1,000 封郵件時,系統將移除最舊的郵件以便將總數維持在 1,000 封。
移除所有存放時間超過 365 天的郵件。
Rule 2 為 siroe.com 託管網域中的使用者設定自動移除郵件策略。它限制電子信箱的容量不得超過 1 兆位元組,移除已刪除的郵件,並移除存放時間超過 14 天的郵件。
Rule 3 為使用者 f.dostoevski 的 inbox 資料夾中的郵件設定自動移除郵件策略。它會移除主旨行中包含「On-line Casino」字句的郵件。
Rule1.regexp: 1 Rule1.folderpattern: user/.* Rule1.messagesize: 100000 Rule1.messagesizedays: 3 Rule1.deleted: or Rule1.Subject: Vigara Now! Rule1.Subject: XXX Porn! Rule1.messagecount: 1000 Rule1.messagedays: 365 Rule2.regexp: 1 Rule2.folderpattern: user/.*@siroe.com/.*Rule2.exclusive: 1 Rule2.deleted: or Rule2.messagedays: 14 Rule2.messagecount: 1000 Rule3.folderpattern: user/f.dostoevski/inboxRule3.Subject: *On-line Casino* |
可透過將 imexpire 屬性 regex 設定為 1,將資料夾式樣指定為使用 POSIX 常規表示式。如果未指定,則將會使用 IMAP 表示式。此格式必須以 user/ 開頭,後跟式樣。表 18–9 顯示各種資料夾的資料夾式樣。)
表 18–9 使用常規表示式的 imexpire 資料夾式樣
資料夾式樣 |
範圍 |
---|---|
user/userid/.* |
將規則套用至 userid 下所有資料夾中的所有郵件。 |
user/userid/Sent |
將規則套用至 userid 下 Sent 資料夾中的郵件: |
user/.* |
將規則套用至全部郵件儲存。 |
user/.*/trash |
將規則套用至所有使用者的 trash 資料夾。 |
user/.*@siroe.com/.* |
將規則套用至託管網域 siroe.com 中的資料夾: |
user/[^@]*/.* |
將規則套用至預設網域中的資料夾。 |
請注意,儘管可以使用主控台設定全域過期規則,但建議還是優先使用 store.expirerule。如果使用主控台或 configutil 建立太多規則,可能會導致效能問題。
主控台 > 伺服器群組 > Messaging Server (開啟) >Messaging Server 主控台 > [配置] 標籤 > 郵件儲存 > 過期/清除 > 新增
圖 18–4 顯示了 GUI 的簡圖。
輸入新規則的名稱。
輸入將從中自動移除郵件的資料夾。
請參閱上述設定 imexpire 資料夾式樣。
對於符合指定條件的資料夾來說,如果此規則為專用規則,請核取 [專用] 方塊。
如果核取此方塊,則此規則的優先順序將高於符合指定式樣的其他所有規則。請參閱表 18–8 以取得有關 [專用] 核取方塊的詳細資訊。
若要根據資料夾大小建立規則,請執行以下動作:
核取 [資料夾大小限制] 核取方塊。在 [郵件計數] 欄位中,指定系統移除最舊的郵件之前將在資料夾中保留的最大郵件數目。在 [資料夾大小] 欄位中,指定系統移除最舊郵件之前的資料夾大小上限 (以位元組為單位)。
若要根據郵件存在時間建立規則,請核取 [郵件存在時間限制] 核取方塊:
在 [天數] 欄位中,指定郵件保留在資料夾中的時間 (以天為單位)。
根據郵件大小建立規則:
核取 [郵件大小限制] 核取方塊。在 [郵件大小限制] 欄位中,輸入資料夾中允許的郵件大小上限。在 [寬限期] 欄位中,輸入超出大小限制的郵件在移除之前保留在資料夾中的時限。
根據是否已設定 Seen 或 Deleted 郵件旗標來建立規則:
核取 [郵件旗標限制] 核取方塊。
對於 Seen: 欄位,選取「和」指定郵件必須已讀取並且必須符合其他條件,才能實作此規則。選取「或」指定郵件只需已讀取或符合其他條件,即可實作此規則。
對於 Deleted: 欄位,選取「和」指定郵件必須已刪除並且必須符合其他條件,才能實作此規則。選取「或」指定郵件只需被刪除或符合其他條件,即可實作此規則。
根據標頭欄位及它們的值建立規則:
核取 [標頭限制] 核取方塊。
輸入以逗號分隔的標頭和值的清單,格式如下:
header1: value1, header2 : value2
範例:Subject: Work at Home!,From: virus@sesta.com
對於標頭中包含 Expires 和 Expiry-Date 的郵件,如果這兩個值早於 [郵件存在時間限制] 中的日期值,則系統將移除該郵件。如果指定多個過期標頭欄位,則將使用最早的過期日期。(字串)。
按一下 [確定] 以將新規則加入自動移除郵件清單。