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

其他關鍵字

本節描述其他關鍵字。包含以下各節:

程序通道置換

關鍵字:notificationchanneldispositionchannel

這些關鍵字分別將程序通道置換為最初形成遞送狀態通知 (DSN) 和郵件處理通知 (MDN) 佇列的位置。如果命名的通道不存在,則 Messaging Server 將使用程序通道繼續。

notificationchannel 將程序通道置換為最初形成傳送狀態通知 (DSN) 佇列的位置。如果命名的通道不存在,則 Messaging Server 將使用程序通道繼續。

dispositionchannel 將程序通道置換為最初形成郵件處理通知 (MDN) 佇列的位置。如果命名的通道不存在,則 Messaging Server 將使用程序通道繼續。

通道作業類型

關鍵字:submit

Messaging Server 支援 RFC 2476 的郵件提交協定。submit 可用於將通道標記為僅供提交的通道。這通常對於 TCP/IP 通道最有用,例如在完全用於提交郵件的特殊連接埠上執行的 SMTP 伺服器;RFC 2476 建立連接埠 587 供此類郵件提交之用。

管道通道

關鍵字:user

user 關鍵字在 pipe 通道上用於指示執行時使用的使用者名稱。

請注意,user 的引數通常必須小寫,但如果該引數加上引號,便可保留原始大小寫形式。

指定電子信箱篩選器檔案位置

關鍵字:filter、 nofilter、channelfilter、nochannelfilter、 destinationfilter nodestinationfilter、 sourcefilter、 nosourcefilter、 fileinto 和 nofileinto)

filter 關鍵字可用於原生通道和 ims-ms 通道,以指定通道的使用者篩選器檔案位置。它接受說明篩選器檔案位置所必需的 URL 引數。nofilter 為預設,表示此通道未啟用使用者電子信箱篩選器。

sourcefilterdestinationfilter 關鍵字可用於一般 MTA 通道,指定通道層級的篩選器,以分別套用於內送的郵件和外寄的郵件。這些關鍵字接受說明通道篩選器檔案位置所必需的 URL 引數。nosourcefilternodestinationfilter 為預設,表示通道任一方向均未啟用通道電子信箱篩選器。

棄用的 channelfilternochannelfilter 關鍵字分別是 destinationfilternodestinationfilter 的同義詞。

fileinto 關鍵字目前只支援 ims-ms 和 LMTP 通道,可指定套用電子信箱篩選器 fileinto 運算子時如何改變位址。對於 ims-ms 通道,通常的用法是:

fileinto $U+$S@$D

上述用法指定資料夾名稱應作為子位址插入至原始位址中,取代任何原有子位址。

對於 LMTP 通道,通常的用法是:

fileinto @$4O:$U+$S@$D

其中,$4O 是 4 和字母 O (不是數字零)。

垃圾郵件篩選器關鍵字

關鍵字:destinationspamfilterXoptinsourcespamfilterXoptin

destinationspamfilterXoptin 指定傳送至此通道的所有郵件均透過篩選軟體 X 執行。(在 option.dat 中,篩選軟體 X 由 spamfilterX_library 定義。)此關鍵字後接篩選器參數,可用的參數視篩選程式而定。

sourcespamfilterXoptin 指定從此通道發送的所有郵件均透過篩選軟體 X 執行。(在 option.dat 中,篩選軟體 X 由 spamfilterX_library 定義。)此關鍵字後接系統範圍的預設參數,可用的參數視篩選程式而定。如果 switchchannel 生效,則應將此關鍵字置於切換至的通道上。

如需有關這些關鍵字使用方法的詳細資訊,請參閱指定通道級別的篩選

位址驗證之後擴充之前的路由

關鍵字:aliasdetourhost

aliasdetourhost 允許受託管使用者的 mailHost 屬性值進行來源通道專用置換。具體來說,aliasdetourhost 通常用於在目標為本機 (在此系統上進行託管) 使用者的郵件路由中實現「繞道」至單獨的主機,以進行某種處理。郵件 (該位址是合法的本機位址) 可以在原始主機上進行驗證,並繞道至處理主機,然後再傳回原始主機以進行擴充和遞送。

aliasdetourhost 允許更好地配置和使用通道和協力廠商篩選主機的「中間篩選」排序。除了使用替代轉換通道之外,還經常使用 aliasdetourhostaliasdetourhost 用於影響本機 (在此系統上進行託管) 使用者的路由,而替代轉換通道用於影響遠端收件者的路由。

aliasdetourhost 的引數為主機或網域名稱,或主機/網域規格。(請注意,重寫規則可處理主機名稱、IP 文字位址和暗示為主機名稱的通道標記。)如果在來源通道上指定關鍵字,將導致儲存在 LDAP 中的位址之別名擴充,正好在檢查郵件主機資訊之前 (處理轉換標記資訊之後) 停止。屆時,郵件將傳送至 aliasdetourhost 值,該位址也將 (在擴充別名之前驗證位址之後) 被視為已成功處理。

以下範例說明 aliasdetourhost 可用於避免各種與轉換通道篩選有關的問題:假設系統設置有前端 MTA 和後端郵件儲存。使用者的傳送選項設定為 forwardmailbox。MTA 使用防毒/垃圾郵件系統的替代轉換通道。當郵件抵達此使用者後,MTA 別名擴充並產生兩個收件者:本機收件者和遠端收件者。遠端收件者的副本可直接傳送。而移至轉換通道的本機收件者之副本先進行掃描,然後傳回。然後第二次套用別名擴充,以便為遠端收件者產生另一個副本,而本機收件者的副本會正常傳送。結果:遠端收件者有兩個副本,本機收件者有一個副本。

透過使用 aliasdetourhost 的通道,而不是使用本機託管使用者的替代轉換通道 (但是仍可能使用其他收件者的替代轉換通道),可執行以下作業:

範例 1

假設協力廠商掃描程式在與 MTA 不同的單獨主機上執行。以下範例允許使用使用者項目轉寄,而無需建立虛假複製件,同時保留在接受郵件之前執行收件者位址驗證的能力。

  1. 建立新的通道 tcp_scanner

    在該通道上放置 daemon 關鍵字,並指向篩選系統。將 enqueue_removeroute 增加至此通道。tcp_scanner 通道在 imta.cnf 中表現為:


    tcp_scanner smtp mx single_sys subdirs 20 noreverse maxjobs 7 
    pool SMTP_POOL daemon my_a-v_filter.siroe.com enqueue_removeroute
    tcp_scanner-daemon
    
  2. aliasDetourHosttcp_scanner-daemon 增加至要掃描的所有內送來源 tcp 通道 (可能包含 tcp_local、tcp_submittcp_intranettcp_auth) 上的 tcp_local。以下是 tcp_localtcp_submit 的範例。


    ! tcp_local
    tcp_local smtp mx single_sys remotehost inner switchchannel
    identnonenumeric subdirs 20 maxjobs 7 pool SMTP_POOL maytlsserver
    maysaslserver saslswitchchannel tcp_auth missingrecipientpolicy 0
    aliasdetourhost tcp_scanner-daemon
    tcp-daemon

    ! tcp_submit
    tcp_submit submit smtp mx single_sys mustsaslserver maytlsserver
    missingrecipientpolicy 4 aliasdetourhost tcp_scanner-daemon
    tcp_submit-daemon

    請注意,aliasdetourhost 的引數 (tcp_scanner-daemon) 是新通道 tcp_scanner 的正式主機名稱。

  3. 建立重寫規則,以透過 tcp_scanner 通道從掃描系統收回郵件。

    [1.2.3.4] $E$R$U[1.2.3.4]@tcp_scanner-daemon

    其中 1.2.3.4 為掃描程式系統的位址。

    如果未建立該重寫規則,郵件將透過其他 tcp* 來源通道進入,並且郵件將再次被掃描,因為所有郵件都具有 aliasdetourhost。將發生迴圈。

  4. 重新編譯您的配置並重新啟動派送程式。


    #imsimta cnbuild
    #imsimta restart dispatcher
    

範例 2

假設協力廠商掃描儀在與 MTA 相同的主機上執行,但偵聽不同的連接埠。假設郵件在連接埠 10024 上被接受並轉送回 10025 上。

  1. 建立新的通道 tcp_scanner


    ! tcp_scanner
    tcp_scanner smtp nomx single_sys identnonenumeric subdirs 20 maxjobs 
    7 pool SCAN_POOL daemon 127.0.0.1 port 10024 enqueue_removeroute
    tcp_scanner-daemon
  2. aliasDetourHosttcp_scanner-daemon 增加至要掃描的所有內送來源 tcp 通道 (可能包含 tcp_localtcp_submittcp_intranet 等) 上的 tcp_local。以下是 tcp_localtcp_submit 的範例。


    ! tcp_local
    tcp_local smtp mx single_sys remotehost inner switchchannel
    identnonenumeric subdirs 20 maxjobs 7 pool SMTP_POOL maytlsserver
    maysaslserversaslswitchchannel tcp_auth missingrecipientpolicy 0
    aliasdetourhost tcp_scanner-daemon
    tcp-daemon

    ! tcp_submit
    tcp_submit submit smtp mx single_sys mustsaslserver maytlsserver
    missingrecipientpolicy 4 aliasdetourhost tcp_scanner-daemon
    tcp_submit-daemon
  3. 增加至對映檔案,以透過 tcp_scanner 通道重新路由外寄郵件。

    CONVERSIONS
    
    in-chan=tcp_scanner;out-chan=*;CONVERT     No
    in-chan=tcp_*;out-chan=tcp_local;CONVERT   Yes,Channel=tcp_scanner
  4. job_controller.cnfSMTP_POOL 之下,增加對同步運作的掃描的數目限制。

    儘管也應限制掃描軟體,但是保持設定相同是可取的。這樣,當掃描器不接受郵件時,郵件傳送伺服器就不會嘗試向該掃描器傳送郵件了。


    !
    [POOL=SCAN_POOL]
    job_limit=2
    !
  5. 將新的服務增加至 dispatcher.cnf,以接受從特殊連接埠上的掃描器傳回的郵件,並從 tcp_scan 中獲得該郵件來源,以便不再掃描該郵件。


    !
    [SERVICE=SMTP_SCANNING]
    INTERFACE_ADDRESS=127.0.0.1
    PORT=10025
    IMAGE=IMTA_BIN:tcp_smtp_server
    LOGFILE=IMTA_LOG:tcp_smtp_server.log
    STACKSIZE=2048000
    PARAMETER=CHANNEL=tcp_scanner
    !
  6. 重新編譯您的配置並重新啟動派送程式。


    # imsimta cnbuild
    # imsimta restart job_controller
    # imsimta restart dispatcher

NO-SOLICIT SMTP 延伸支援

關鍵字:sourcenosolicitdestinationnosolicit

網際網路草案 draft-malamud-no-soliciting-07.txt 中說明的 NO-SOLICIT SMTP 延伸已經作為建議的標準在 Messaging Server 中實作了。以下通道關鍵字可以用於控制此功能:

sourcenosolicit 指定請求欄位值清單 (用逗號分隔),由此通道提交的郵件將阻斷這些值。此值清單將顯示在 NO-SOLICIT EHLO 回應中。全域樣式的萬用字元可以用於這些值,但是,包含萬用字元的值不會顯示在 EHLO 通知中。

destinationnosolicit 指定請求欄位值清單 (用逗號分隔),在此通道形成佇列的郵件將拒絕這些值。

設定對錯誤 RCPT TO 位址的限制

關鍵字:deferralrejectlimit

設定在單一階段作業期間允許的錯誤 RCPT TO: 位址數目的限制。在 To: 位址的指定數目被拒絕後,後續的所有收件者 (正確的或錯誤的) 都會因為 4xx 錯誤而被拒絕。提供與 ALLOW_REJECTIONS_BEFORE_DEFERRAL SMTP 通道關鍵字相同的功能,但針對的是每個通道。