Sun Java System Messaging Server 6.3 管理指南

15.5 參照資訊

本節提供 SPF 通道關鍵字與 SPF MTA 選項的參照資訊。SPF 支援可透過四個適用於內送 tcp_* 通道 (通常為 tcp_local) 的通道關鍵字進行實作。下表列出這些關鍵字及其說明。

表 15–2 SPF 關鍵字

關鍵字 

說明 

spfnone

停用 SPF 處理 

spfhelo

針對指定為 HELO 或 EHLO 之引數的網域名稱,啟用 SPF 處理。 

spfmailfrom

在接收 MAIL FROM: 後,針對為創建者訊息封位址提供的網域名稱,啟用 SPF 處理. 

spfrcptto

在接收 RCPT TP: 後,針對為創建者訊息封位址提供的網域名稱,啟用 SPF 處理. 處理方式與 spfmailfrom 大致相同,不同之處在於,它會在 SMTP 作業事件中延遲,直到 RCPT TO: 指令發出,同時收件者被確認為有效的收件者後,才會執行。


備註 –

spfmailfromspfrcptto 為彼此衝突的關鍵字,在通道上應指定其中一個關鍵字即可。但您可以將 spfhelospfmailfromspfrcptto 搭配使用,同時執行兩種 SPF 檢查。


此外還有其他支援,可讓您建立 SPF 處理的限制,以及控制是否要接受 SMTP 指令、是否以 4xx 回應拒絕 (暫時性失敗)、或是以 5xx 回應拒絕 (永久性失敗),以產生不同的 SPF 結果,包括:FailSoftFail PermErrorTempError

下列 MTA 選項位於 option.dat 中,可用以設定 SPF 處理的限制。

表 15–3 SPF 限制選項

選項 

說明 

SPF_MAX_RECURSION

指定因 include:redirect= 而可在巢式 SPF 記錄中產生的遞迴數。若超過此限制,將導致 PermError

預設值:10 (由 RFC 指定) 

SPF_MAX_DNS_QUERIES

指定必須執行 DNS 查詢的機制或修飾鍵數目 (包括 include:a:mx:ptr:exists:redirect=exp=)。請注意,此限制不會計為實際的 DNS 查詢數目,因此一個機制可能會造成數個 DNS 查詢。若超過此限制,將導致 PermError

預設值:10 (由 RFC 指定) 

SPF_MAX_TIME

指定可用以完成 SPF 處理的秒數。若超過此值,將導致 TempError。預設值遠大於 RFC 所建議的值。

預設值:45 

此外,您也可以配置 option.dat 中的下列 MTA 選項,以控制在回應 FailSoftFailPermError TempError 的 SPF 結果時,SMTP 伺服器所將採取的運作方式。對於上述各結果,SMTP 伺服器可傳回 2xx (成功) 回應、4xx (暫時性失敗) 或 5xx (永久性失敗)。此外,對於 FailSoftFail,MTA 可區分做為「所有」機制產生之結果的 SPF 結果,以及其他明確參照之相符項目的 SPF 結果。接著您即可區分特定結果與 SPF 記錄的預設結果。其中任一選項的有效值為 2、4 或 5。2、4 或 5 等值,分別對應於 SMTP 伺服器取得特定 SPF 狀態的 2xx、4xx 或 5xx 回應。因此,舉例來說,若 SPF_SMTP_STATUS_FAIL=2 且 SPF 記錄明確地對我們封鎖 "-a:192.168.1.44" (我們的 IP 位址),則我們將以 "250 OK" 接受該位址,而不是以 5xx 進行回應。

表 15–4 SPF 失敗與錯誤選項

選項 

說明 

SPF_SMTP_STATUS_FAIL

在 SPF 記錄的相符項目標示為 "-all" 以外的 "-" 旗標時使用 

預設值:5 

SPF_SMTP_STATUS_FAIL_ALL

在相符的機制為 "-all" 時使用 

預設值:5 

SPF_SMTP_STATUS_SOFTFAIL

在 SPF 記錄的相符項目標示為 "~all" 以外的 "~" 旗標時使用 

預設值:2 

SPF_SMTP_STATUS_SOFTFAIL_ALL

在相符的機制為 "~all" 時使用 

預設值:2 

SPF_SMTP_STATUS_TEMPERROR

在出現暫時性失敗時使用,失敗原因通常與 DNS 處理問題有關。 

預設值:4 

SPF_SMTP_STATUS_PERMERROR

在出現永久性失敗時使用,此失敗通常是於 SPF 處理期間發生語法或其他技術錯誤所致。(請注意,此失敗並由非本機錯誤所致。) 

預設值:5