Sun Java System Messaging Server 6 2005Q4 管理指南

Procedure建立新通道

步驟
  1. 建立名為 tcp_siroe-daemon 的新通道並為 pool 關鍵字增加新值。

    通道在 /msg_svr_base/config/imta.cnf 的通道區段中建立。通道應該具有與一般外寄 tcp_* 通道上相同的通道關鍵字。通常為 tcp_local 通道,其處理所有外寄 (網際網路) 流量。由於 siroe.com 在網際網路上無法使用,此為要模擬的通道。新通道可能與以下顯示類似︰

    tcp_siroe smtp nomx single_sys remotehost inner allowswitchchannel     \
    dentnonenumeric subdirs 20 maxjobs 7 pool SMTP_SIROE maytlsserver      \
    maysaslserver saslswitchchannel tcp_auth missingrecipientpolicy 0      \    
    tcp_siroe-daemon

    請注意新關鍵字值對池 SMTP_SIROE。其指定此通道的郵件將僅使用 SMTP_SIROE 池中的電腦資源。另請注意,新通道前後均需要一個空行。

  2. 將兩個重寫規則增加至 imta.cnf 檔案的重寫規則區段,以將為 siroe.com 指定的電子郵件導向至新通道。

    新重寫規則與以下顯示類似︰


    siroe.com     $U%$D@tcp_siroe-daemon
    .siroe.com      $U%$H$D@tcp_siroe-daemon
                         

    這些重寫規則會將郵件導向至 siroe.com (包括諸如 host1.siroe.com 或 hostA.host1.siroe.com 的位址),從而導向至正式主機名稱為 tcp_siroe-daemon 的新通道。這些規則的重寫部分 $U%$D 和 $U%$H$D 保留郵件的原始位址。$U 從原始位址中複製使用者名稱。% 為分隔符號—@ 位於使用者名稱和網域之間。$H 複製式樣中小數點號左側不符合的主機/網域規格部分。$D 複製符合的網域規格部分。

  3. 定義名為 SMTP_SIROE 的新工作控制器池。

    /msg_svr_base/config/job_controller.cnf 中,增加以下內容︰


    [POOL=SMTP_SIROE]
    job_limit=10
                         

    這將建立名為 SMTP_SIROE 的郵件資源池,允許同時執行最多 10 個工作。請勿在此池定義和其他池定義之間保留任何空行。請參閱工作控制器,以取得有關工作和池的詳細資訊。

  4. 重新啟動 MTA。

    發出指令:imsimta refresh

    其會重新編譯配置並重新啟動工作控制器和派送程式。

    在此範例中,來自內部使用者的大量電子郵件將名為 siroe.com 的特定遠端網站做為目標。出於某種原因,siroe.com 暫時無法接受內送 SMTP 連線,因而無法傳送電子郵件。(此類情況並不罕見。)

    隨著以 siroe.com 為目標的電子郵件不斷傳入,無法傳送的郵件將會填滿外寄通道佇列 (通常為 tcp_local)。MTA 嘗試定期重新傳送這些郵件 (使用 backoff 關鍵字配置重試的頻率和次數),且在一般情況下,無需任何動作。

    然而,如果太多郵件滯留在佇列中,則其他郵件可能無法及時傳送,因為所有通道都在處理積壓的 siroe.com 郵件。在此情況下,您可能要將 siroe.com 郵件重新路由至在其自己的工作控制器池中執行的新通道 (請參閱工作控制器)。此作業使其他通道可以傳送各自的郵件,而無需佔用 siroe.com 郵件使用的處理資源。請依照下一小節中的說明建立新通道來解決此問題。