Sun Java System Messaging Server 6.3 管理指南

20.8 關於郵件儲存配額

隨著電子郵件與語音郵件快速累積,IMAP 電子信箱可能會變得非常龐大。使用者或網域可包含多大的磁碟空間或多少封郵件的郵件儲存配額限制 (或配額),是針對某個特定資料夾或特定郵件類型而指定的。配額可用以限制或降低郵件儲存的用量。本節包含以下資訊:

如需進一步資訊,請參閱20.11.4 監視配額限制

20.8.1 配額簡介

配額可針對特定使用者或網域而設定,並可視情況以郵件數或位元組數的形式設定。此外,亦可針對特定資料夾與郵件類型加以設定。郵件類型配額可讓您指定郵件類型的限制。例如,語音郵件與電子郵件。資料夾配額會以位元組數或郵件數設定使用者資料夾的大小限制。例如,您可以設定「垃圾筒」資料夾的配額。Messaging Server 可讓您為網域與使用者設定預設配額以及自訂配額。

配額設定完成後,即可配置系統對超過或接近配額的使用者或網域應如何回應。其中一種回應是傳送超出配額通知給使用者。另一種回應是在超出配額時停止將郵件遞送至郵件儲存。此即為配額限制,通常會在指定的寬限期屆滿後執行。寬限期是指電子信箱在超出配額多久之後會遭到限制。如果由於超過配額而停止投遞郵件,則內送郵件會保留在 MTA 佇列中直到發生以下情況之一:

當使用者刪除及永久刪除郵件,或伺服器根據所建立的過期原則刪除郵件時,磁碟空間即會恢復為可用狀態 (請參閱20.9 設定自動移除郵件 (過期和清除) 功能)。

20.8.1.1 電話應用程式伺服器的異常

為了使郵件傳送需求一致,Messaging Server 提供一種特殊功能,可以覆寫郵件儲存施加的配額限制。這可確保遞送某些代理程式 (即電話應用程式伺服器 [TAS]) 接受的郵件。由 TAS 接受的郵件可通過特殊的 MTA 通道路由,以確保郵件投遞至儲存中,而不受配額的限制。此用法頗為冷癖,但可運用在電話應用程式中。如需有關配置 TAS 通道的更多資訊,請與 Sun 的郵件傳送部門代表連絡。

依郵件類型設定的配額,可運用在使用整合郵件傳送的電話應用程式中。例如,若使用者電子信箱中同時存有文字與語音郵件等不同的郵件,管理員即可為不同類型的郵件設定不同的配額。使用者的電子郵件可具有一項配額,而其語音郵件可具有另一項配額。

20.8.2 配額作業理論

將配額屬性增加到 LDAP 使用者與網域項目中,即可指定自訂使用者與網域配額。配額預設值、通知策略、強制執行和寬限期可在 configutil 參數中或使用 imquotacheck 公用程式進行設定。

若要確定使用者的配額是否已經滿載,Messaging Server 會首先檢查是否為個別使用者設定了配額。如果未設定配額,則 Messaging Server 會檢查為所有使用者設定的預設配額。使用者的配額是就所有使用者資料夾中所有累積的位元組數或郵件數。網域的配額則是就特定網域中所有使用者的所有累積位元組數或郵件數。郵件類型的配額是就該郵件類型所有累積的位元組數或郵件數。資料夾的配額是就使用者資料夾中所有累積的位元組數或郵件數。

您可以為使用者的電子信箱樹狀結構指定下列配額值:

當您為使用者指定多個配額值時,會套用下列準則:

您對配額屬性與 configutil 參數所做的變更會自動生效,但並非立即生效,因為這些資訊儲存於快取中,可能需要一些時間才能讓變更完全生效。Messaging Server 所提供的指令「Sun Java System Messaging Server 6.3 Administration Reference」中的「iminitquota」 可立即更新已變更的項目。

imquotacheck 公用程式可用來根據指定配額檢查郵件儲存使用率。

20.8.3 郵件儲存配額屬性和參數

本節列出主要的郵件儲存配額屬性與 configutil 參數。其目的在於為您簡介功能介面。如需這些屬性與參數的詳細資訊,請參閱適當的參考文件。

下表列出配額屬性。請參閱「Sun Java Communications Suite 5 Schema Reference 」

表 20–6 郵件儲存配額屬性

屬性 

說明 

mailQuota

允許使用者電子信箱使用的磁碟空間位元組數。 

mailMsgQuota

對使用者所允許的最大郵件數目。這是儲存中所有資料夾的累積計數。 

mailUserStatus

郵件使用者的狀態。可用的值包括 activeinactivedeletedholdoverquota

mailDomainDiskQuota

網域中所有電子信箱的累積計數所允許的磁碟空間位元組。 

mailDomainMsgQuota

對網域所允許的最大郵件數目,即儲存中所有電子信箱的郵件總計數。 

mailDomainStatus

郵件網域的狀態。值和預設與 mailUserStatus 相同。

下表列出配額參數。如需最新且最詳細的資訊,請參閱「Sun Java System Messaging Server 6.3 Administration Reference」中的第 3 章「Messaging Server Configuration」

表 20–7 郵件儲存 configutil 參數

參數 

說明 

store.quotaenforcement

當為 off 時啟用配額限制,配額資料庫仍會更新但會一直遞送郵件。預設值:On 

store.quotanotification

啟用配額通知。預設值:OFF 

store.defaultmailboxquota

依位元組數目儲存預設配額。預設值:-1 (無限制) 

store.defaultmessagequota

依郵件數目儲存預設配額。數字。預設值:-1 (無限制) 

store.quotaexceededmsg

配額警告訊息。如果沒有,則不傳送通知。預設值:None。 

store.quotaexceededmsginterval

用於傳送超配額通知的時間間隔 (以天為單位)。預設值:7 

store.quotagraceperiod

將傳送至電子信箱的郵件退回給寄件者之前該電子信箱超出配額的時間 (以小時為單位)。小時數。預設值:120 

store.quotawarn

配額警告臨界值。向用戶端傳送超配額警告之前所超出配額的百分比。預設值:90 

local.store.quotaoverdraft

用於提供與從 Netscape Messaging Server 中遷移的系統的相容性。設定為 ON 時,允許投遞使磁碟使用率超出配額的一個郵件。使用者超過配額後,將會延遲或退回郵件,傳送配額警告訊息並啟動配額寬限期計時器。(預設為在郵件儲存達到臨界值時傳送配額警告訊息。)預設值:Off,但是若設定了 store.overquotastatus 則會被視為 on,否則使用者永遠不會超過配額,而永遠不會使用 overquotastatus

local.store.overquotastatus

在郵件於 MTA 中排入佇列之前啟用配額限制。這可以防止 MTA 佇列被填滿。設定後,使用者尚未超過配額,但是內送郵件使使用者超過配額時,則投遞郵件,但是 mailuserstatus LDAP 屬性被設定為 overquota,以便 MTA 不再接受更多的郵件。預設值:off 

郵件儲存配額也包含幾項公用程式。「Sun Java System Messaging Server 6.3 Administration Reference」中的「iminitquota」可初始化配額設定。換句話說,配額屬性與 configutil 參數會在執行此指令後自動生效。相關變更不需執行指令即可自動生效,但不會立即生效,因為這些資訊儲存於快取中,可能需要一些時間才能讓變更生效。

imquotacheck 公用程式可用來根據指定配額檢查郵件儲存使用率。

20.8.4 配置郵件儲存配額

本節說明以下作業:

20.8.4.1 指定預設使用者配額

未在 LDAP 項目中設定個別配額的使用者,會套用預設配額。此程序包含兩個步驟:1) 指定使用者預設配額,以及 2) 指定要連結至預設配額的使用者。下列範例將說明如何設定預設使用者配額。如需詳細的參數資訊,請參閱「Sun Java System Messaging Server 6.3 Administration Reference」中的第 3 章「Messaging Server Configuration」

以位元組為單位指定郵件大小的預設使用者磁碟配額:

configutil -o store.defaultmailboxquota -v [ -1 | number ]

其中,-1 表示無配額 (郵件用法無限制),number 表示位元組數。

指定郵件總數的預設使用者配額:

configutil -o store.defaultmessagequota -v [ -1 | number ]

其中,-1 表示無配額 (郵件數無限制),number 表示郵件數。

指定特定使用者的預設配額:

在使用預設郵件儲存配額的使用者項目中,將 mailQuota 屬性設定為 -2。請注意,若未指定 mailQuota,則會使用系統預設配額。

20.8.4.2 指定個別使用者配額

每個使用者均可擁有個人化的配額。若要設定使用者專用配額,請在使用者的 LDAP 項目中設定「Sun Java Communications Suite 5 Schema Reference」中的「mailQuota」「Sun Java Communications Suite 5 Schema Reference」中的「mailMsgQuota」屬性 (如需完整細節,請參閱「Sun Java System Messaging Server 6.3 Administration Reference」中的「configutil Parameters」)。下列範例將說明如何設定使用者配額。

若要指定系統預設配額,請勿將 mailQuota 加入 LDAP 項目中,或將其設為 –2

若要將配額設為 1,000 封郵件,請將 mailMsgQuota 設為 1000

若要將配額設為 2MB,請將 mailQuota 設為 2M2000000

若要將配額設為 2 GB,請將 mailQuota 設為 2G20000000002000M

若要指定 2 GB 的配額、20 MB 的語音郵件配額,以及 100 MB 的 Archive 資料夾配額:

mailQuota: 2G;#voice%20M;Archive%100M

2GB 的配額代表使用者電子信箱中未明確指定配額的所有資料夾。在此範例中,此配額排除了 Archive 資料夾中的郵件,與 voice 類型的郵件。100 MB 的配額包含 Archive 資料夾中所有資料夾的郵件。

20.8.4.3 指定網域配額

您可以設定網域的磁碟空間或郵件配額。這些配額針對特定網域中所有使用者的累積位元組或郵件。若要設定網域配額,請在適當的 LDAP 網域項目中設定「Sun Java Communications Suite 5 Schema Reference」中的「mailDomainDiskQuota」「Sun Java Communications Suite 5 Schema Reference」中的「mailDomainMsgQuota」屬性.

若要將配額設為 1,000 封郵件,請將 mailDomainMsgQuota 設為 1000

若要將配額設為 2MB,請將 mailDomainDiskQuota 設為 2M2000000

若配額設為 2 GB,請將 mailDomainDiskQuota 設為 2G20000000002000M

Procedure設定配額通知

配額通知是指在使用者接近其配額時,為其傳送警告訊息的程序。使用此功能時必須執行以下三個步驟。

  1. 啟用配額通知

    在指令行上執行下列作業:

    configutil -o store.quotanotification -v [ yes | no ]

    如果未設定郵件,則不會向使用者傳送配額警告訊息。

  2. 定義配額警告訊息

    警告訊息是指傳送給即將超過其磁碟配額之使用者的訊息。使用指令行定義配額警告郵件:

    configutil -o store.quotaexceededmsg -v ’message

    該郵件的格式必須符合 RFC 822。它必須包含一個標頭 (至少包含一個主旨行),之後是 $$,然後是郵件內文。「$」表示新的一行。根據要使用的 shell,可能需要在 $ 前附加 \,以退出 $ 的特殊意義。($ 通常為 shell 的退出字元。)範例:

    configutil -o store.quotaexceededmsg -v ”Subject: WARNING: User quota exceeded$$User quota threshold exceeded - reduce space used.’

    此外,還支援以下變數︰

    [ID] - 使用者 ID

    [DISKUSAGE] - 磁碟使用率

    [NUMMSG] - 郵件數目

    [PERCENT] - store.quotawarn 百分比

    [QUOTA] - mailquota 屬性

    [MSGQUOTA] - mailmsgquota 屬性

    以下是使用這些變數的範例︰

    configutil -o store.quotaexceededmsg -v ”Subject: Overquota Warning$$[ID],$$Your mailbox size has exceeded [PERCENT] of its alloted quota.$Disk Usage: [DISKUSAGE]$Number of Messages: [NUMMSG]$Mailquota: [QUOTA]$Message Quota: [MSGQUOTA]$$-Postmaster’

  3. 指定傳送警告訊息的頻率。

    設定下列參數:

    configutil -o store.quotaexceededmsginterval -v number

    其中,number 表示天數。例如,3 表示每 3 天傳送一次郵件。

  4. 指定配額臨界值

    配額臨界值是指在超過多大的配額百分比後始應傳送警告至用戶端。當使用者的磁碟使用率超出指定的臨界值時,伺服器便會向使用者傳送警告訊息。


    備註 –

    local.store.quotaoverdraft=on 時,不論使用 store.quotawarn 設定的臨界值為何,只有在使用者的磁碟使用率超過配額的 100% 時,才會觸發電子郵件通知。


    對於其用戶端支援 IMAP ALERT 機制的 IMAP 使用者,每次使用者選取電子信箱時訊息就會顯示在使用者的螢幕上,同時還將訊息寫入至 IMAP 記錄。

    使用指令行指定配額臨界值:

    configutil -o store.quotawarn -v number

    其中,number 表示所允許的配額百分比。

20.8.4.4 啟用或停用配額限制

依預設值,使用者或網域在超過其配額時並不會受到任何影響,但收到配額通知時則有影響 (若已設定)。配額限制會鎖定電子信箱,使其無法接收更多的郵件,直至磁碟使用率減少至配額層級以下。

啟用或停用配額限制:


configutil -o store.quotaenforcement -v [ on | off]

請注意,超過配額的郵件會儲存在 MTA 佇列中,並將通知傳送給寄件者,表明未遞送他們的郵件,但稍後會嘗試重新遞送。重新投遞嘗試將持續到寬限期過期且所有郵件被傳回給寄件者,否則磁碟使用率將低於配額並且將郵件從 MTA 佇列中移出並投遞至郵件儲存。如果您希望在超過配額的郵件到達郵件佇列之前將其傳回,請使用以下指令行:


configutil -o store.overquotastatus -v on

在網域層級啟用配額限制

若要啟用特定網域的配額,請使用下列指令:

imquotacheck -f -d domain

若要對所有網域啟用配額,請排除 -d 選項。當網域超過配額時,maildomainstatus 屬性會設定為 overquota如此將阻止任何郵件傳送至該網域。若網域並未 overquota,則該值會設定為 active

停用配額限制

若據顯示正在強制執行使用者配額,則即使您已經停用配額,也請檢查以下參數︰

這些 configutil 參數應為 off 或未設定︰

請注意,如果 store.overquotastatuson,它會始終視 store.quotaoverdrafton,否則使用者將永遠不會超過配額觸發拒絕。此外,若 store.quotaoverdrafton,則僅允許使用者接收一則小於配額的郵件。亦即,永遠不會接受大於使用者配額的郵件。

變更這些參數後,請務必重新啟動郵件傳送服務。

以下郵件儲存屬性應該處於使用中︰

請注意,如果郵件大於電子信箱配額,則不論配額強制配置為何,郵件均將退回。

20.8.4.5 設定寬限期

寬限期指定電子信箱滿載 (磁碟空間或郵件數目) 後要隔多久才會將郵件退回給寄件者。寬限期並不是指將郵件保留在郵件佇列中多長時間,而是指電子信箱超過配額之後多長時間才會退回所有內送郵件 (包含郵件佇列中的郵件)。(如需詳細資訊,請參閱20.1 簡介。)使用者達到配額臨界值而收到警告時,寬限期即開始。請參閱設定配額通知

使用指令行指定配額寬限期:

configutil -o store.quotagraceperiod -v number

其中,number 表示小時數。

20.8.4.6 Netscape Messaging Server 配額相容性模式

磁碟使用率超過 Netscape Messaging Server 中的配額後,伺服器會延遲或退回郵件遞送,而傳送超過配額通知,並開始進入寬限期。Messaging Server 會提供參數 local.store.quotaoverdraft ,該參數會保留此運作方式。

如果設定為 ON,則會傳送郵件,直到磁碟使用率超過配額為止。此時,郵件延遲 (郵件停留在 MTA 郵件佇列中但不會被投遞至郵件儲存),超過配額警告訊息會被傳送至使用者,並且啟動寬限期。寬限期決定電子信箱超過配額多長時間之後會退回超過配額郵件。(預設為在郵件儲存達到臨界值時傳送配額警告訊息。)此參數預設為 Off