了解 Exchange 2007 SP1 和 SP2 中的優先佇列
適用版本: Exchange Server 2007 SP2, Exchange Server 2007 SP1
上次修改主題的時間: 2009-05-20
「優先佇列」是 Microsoft Exchange Server 2007 Service Pack 1 (SP1) 和 Exchange 2007 Service Pack 2 (SP2) 的一項功能,可讓寄件者定義郵件的優先順序,以影響安裝 Hub Transport server role 的 Exchange 伺服器對郵件的處理方式。
當寄件者建立和傳送郵件時,寄件者可以在 Microsoft Outlook 中指派郵件優先順序。寄件者可以在 Outlook 中設定下列任何郵件優先順序值:
- 低重要性
- 普通重要性
- 高重要性
在 Outlook 或 Microsoft Outlook Web Access 中建立的郵件,都是預設為「普通」優先順序。郵件優先順序是儲存在郵件標頭的 X-Priority:
標頭欄位中。
在 Exchange 2007 組織中傳送或接收的每封郵件,必須先在 Hub Transport Server 上分類,才能路由和傳遞該郵件。Hub Transport Server 上的分類程式會從提交佇列中一次提取一個郵件,並且先在郵件上執行收件者解析、路由解析及內容轉換,然後才將郵件放入傳遞佇列。如需相關資訊,請參閱傳輸結構。
傳遞佇列是根據郵件的目的地以動態方式建立。如果郵件的目的 Mailbox Server 與 Hub Transport Server 位於相同的 Active Directory 目錄服務站台,則會為這些郵件建立信箱傳遞佇列。如果郵件的目的 Mailbox Server 不是在 Hub Transport Server 所在的 Active Directory 站台,以及對於寄至遠端網域的郵件,將會為這些郵件建立遠端傳遞佇列。如需相關資訊,請參閱管理佇列。
相同目的地的所有郵件都會放入相同的傳遞佇列中。優先佇列會影響郵件從傳遞佇列傳輸至目的郵件伺服器。啟用優先佇列之後,「高」優先順序郵件會比「普通」優先順利郵件更早傳送至目的地,而「普通」優先順序郵件會比「低」優先順序郵件更早傳送至目的地。根據郵件優先順序來設定郵件的傳遞優先順序,有助於系統管理員為郵件傳遞時間定義特定的服務等級協定 (SLA) 需求。
用來設定優先佇列的選項
佇列優先順序的組態選項可在 C:\Program Files\Microsoft\Exchange Server\Bin 目錄中的 EdgeTransport.exe.config 應用程式組態檔中設定。EdgeTransport.exe.config 檔案是與 EdgeTransport.exe 檔案關聯的 XML 應用程式組態檔。EdgeTransport.exe 和 MSExchangeTransport.exe 是 Microsoft Exchange Transport 服務所使用的可執行檔。每個 Hub Transport Server 或 Edge Transport Server 上都會執行這個服務。重新啟動 Microsoft Exchange Transport 服務之後,儲存至 EdgeTransport.exe.config 檔案的變更就會生效。如果發生下列任一狀況,將強制使用預設值:
- 組態選項遺失。
- 組態選項存在,並含有預設值。
下列範例顯示 EdgeTransport.exe.config 檔案的一般結構:
<configuration>
<runtime>
<gcServer enabled="true" />
</runtime>
<appSettings>
<add key="
組態選項 " value="
值 " />
...
</appSettings>
</configuration>
您可以在 <appSettings>
區段加入新的組態選項或修改現有的組態選項。有許多可用的組態選項與優先佇列完全無關。所有與背壓無關的組態選項皆不在本主題的討論範圍內。
啟用或停用優先佇列
PriorityQueuingEnable 參數可在 Hub Transport Server 上啟用或停用優先佇列。預設值為 False
。若要啟用優先佇列,請在 EdgeTransport.exe.config 檔案中將 PriorityQueuingEnable 參數值設定為 True
,然後重新啟動 Microsoft Exchange Transport 服務。
設定高優先順序郵件的大小上限
MaxHighPriorityMessageSize 參數會控制高優先順序郵件允許的大小上限。預設值為 250 KB。如果高優先順序郵件大於 MaxHighPriorityMessageSize 參數的值,郵件會從「高」優先順序自動降級為「普通」優先順序。
當您輸入值時,請以下列其中一個單位來限定值:
- KB (千位元組)
- MB (百萬位元組)
- GB
MaxHighPriorityMessageSize 參數的值應該明顯小於 Set-TransportConfig 指令程式上 MaxMessageSize 參數的值。MaxMessageSize 參數的預設值是 10 MB。較小的 MaxHighPriorityMessageSize 值有助於確保「高」優先順序郵件有一致且可預測的傳遞時間。
根據郵件優先順序設定延遲通知逾時
每次郵件傳遞失敗之後,Hub Transport Server 就會產生延遲傳遞狀態通知 (DSN) 郵件並將其放在佇列中,等待傳遞給無法傳遞郵件的寄件者。此延遲的 DSN 郵件僅會在指定的延遲通知逾時間隔後,且失敗的郵件在這段時間仍然無法傳遞,才會傳送。此項延遲可避免因暫時性的郵件傳輸失敗,而傳送不必要的延遲 DSN 郵件。
下表顯示根據郵件優先順序的延遲 DSN 通知逾時選項。
根據郵件優先順序的延遲 DSN 通知逾時選項
參數名稱 | 預設值 |
---|---|
LowPriorityDelayNotificationTimeout |
8:00:00 (8 小時) |
NormalPriorityDelayNotificationTimeout |
4:00:00 (4 小時) |
HighPriorityDelayNotificationTimeout |
00:30:00 (30 分鐘) |
若要指定延遲通知逾時的值,請輸入時間範圍:dd.hh:mm:ss,其中 d = 天數、h = 小時數、m = 分鐘數,s = 秒數。如果值小於 1 天,您可以省略時間範圍的天數部分。
郵件傳輸失敗後,如果後來可以在特定期間內順利傳遞,則會將其視為暫時現象。此期間的定義為 Hub Transport Server 之 TransientFailureRetryCount 和 TransientFailureRetryInterval 參數值的乘積。這些參數是使用 Set-TransportServer 指令程式予以設定。如果郵件在此期間順利傳遞,則會將郵件傳輸失敗視為暫時現象。若要確定未送出暫時失敗的延遲 DSN,則 NormalPriorityDelayNotificationTimeout 和 HighPriorityDelayNotificationTimeout 選項的值應該一律大於 TransientFailureRetryCount 乘上 TransientFailureRetryInterval 的值。
根據郵件優先順序設定郵件到期逾時
「郵件到期逾時」會指定 Hub Transport Server 嘗試傳遞失敗郵件的最長時間。如果無法在到期逾時間隔之前順利傳遞郵件,則包含原始郵件或郵件標題的未傳遞回報 (NDR) 會傳遞給寄件者。
下表顯示根據郵件優先順序的郵件到期逾時選項。
根據郵件優先順序的郵件到期逾時選項
參數名稱 | 預設值 |
---|---|
LowPriorityMessageExpirationTimeout |
2.00:00:00 (2 天) |
NormalPriorityMessageExpirationTimeout |
2.00:00:00 (2 天) |
HighPriorityMessageExpirationTimeout |
8:00:00 (8 小時) |
若要指定郵件到期逾時的值,請輸入時間範圍:dd.hh:mm:ss,其中 d = 天數、h = 小時數、m = 分鐘數,s = 秒數。如果值小於 1 天,您可以省略時間範圍的天數部分。
根據郵件優先順序設定每個網域的連線數目上限
每個網域的連線數目上限會指定 Hub Transport Server 對任何單一遠端網域可開放的連線數目上限。使用遠端傳遞佇列和 Hub Transport Server 上的傳送連接器時,將對遠端網域建立傳出連線。
下表顯示根據郵件優先順序的每個網域連線數目上限選項。
根據郵件優先順序的每個網域連線數目上限選項
參數名稱 | 預設值 |
---|---|
MaxPerDomainLowPriorityConnections |
2 |
MaxPerDomainNormalPriorityConnections |
15 |
MaxPerDomainHighPriorityConnections |
3 |
MaxPerDomainLowPriorityConnections 參數、MaxPerDomainNormalPriorityConnections 參數及 MaxPerDomainHighPriorityConnections 參數的總和,應該小於或等於 Set-TransportServer 指令程式上 MaxPerDomainOutboundConnections 參數的值。MaxPerDomainOutboundConnections 參數的預設值是 20
。
優先佇列如何影響 Hub Transport Server 上的其他郵件限制
通過 Hub Transport Server 的所有郵件都會受到各種郵件重試、重新提交及到期的限制。如需相關資訊,請參閱管理郵件重試、重新提交及到期間隔。
Set-TransportServer 指令程式中可用的某些郵件限制,在 EdgeTransport.exe.config 組態檔中也有對應的優先佇列郵件限制可用。下表顯示這些對應的郵件限制。
Set-TransportServer 指令程式中的郵件限制與 EdgeTransport.exe.config 組態檔中對應的優先佇列郵件限制
來源 | 參數 | 預設值 |
---|---|---|
Set-TransportServer |
DelayNotificationTimeOut |
04:00:00 (4 小時) |
EdgeTransport.exe.config |
NormalPriorityDelayNotificationTimeout |
4:00:00 (4 小時) |
Set-TransportServer |
MessageExpirationTimeOut |
2.00:00:00 (2 天) |
EdgeTransport.exe.config |
NormalPriorityMessageExpirationTimeout |
2.00:00:00 (2 天) |
當優先佇列停用時,將會忽略 EdgeTransport.exe.config 組態檔中存在的所有優先佇列郵件限制。Set-TransportServer 指令程式上的所有郵件限制,都適用於經過 Hub Transport Server 的所有郵件。
啟用優先佇列之後,EdgeTransport.exe.config 組態檔中的優先佇列郵件限制就會覆寫 Set-TransportServer 指令程式中對應的郵件限制。Set-TransportServer 指令程式中的其他所有郵件限制,仍然適用於經過 Hub Transport Server 的「低」優先順序、「普通」優先順序及「高」優先順序郵件。
優先佇列的使用者設定
Exchange 管理命令介面中的 Set-Mailbox 指令程式具有 DowngradeHighPriorityMessagesEnabled 參數。預設值為 False
。當此參數設定為 True
時,從信箱傳送的任何「高」優先順序郵件都會自動降級為「普通」優先順序。如需相關資訊,請參閱Set-Mailbox。
若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.