1. SPF
qmail-spp-spf details http://qmail-spp.sourceforge.net/plugins/details/?id=37
SPP_SPF_NO_RESULT - Used if both SPF and MX checks can't be done. SPP_SPF_RESULT_NEUTRAL \ SPP_SPF_RESULT_PASS | SPP_SPF_RESULT_FAIL |- Refer to http://www.openspf.org/ for SPP_SPF_RESULT_SOFTFAIL | definitions. SPP_SPF_RESULT_NONE | SPP_SPF_RESULT_TEMPERROR | SPP_SPF_RESULT_PERMERROR / SPP_SPF_MX_RESULT_PASS \ If any set, MX check of sender is done when SPP_SPF_MX_RESULT_FAIL |- SPF record doesn't exist or SPF check result SPP_SPF_MX_RESULT_UNKNOWN / is None, PermError, TempError or invalid.
If an SPF record is not found or doesn't process, a fallback SPF record of "v=spf1 mx -all" can be used to test if the client is listed in the MX records of the envelope domain.
SPFレコードの扱いはtcpserverの環境変数で与える。
http://www.openspf.org/ http://www.open-spf.org
In addition, a "Received-SPF:" header is added to the message via the qmail-spp 'H' command when the SPF query is able to be done. It is okay to not set a particular SPP_SPF_xxx envar. If that particular case is hit the module will only return the "SSPP_SPF_RESULT=" and "HReceived-SPF:" commands if the SPF query is done.
6. SPF認証結果
認証結果は次のものが存在する。 認証結果 意味 None SPFレコードが公開されていない Neutral SPFレコードが“?”として公開されている条件にマッチした Pass 認証処理に成功した Fail SPFレコードが公開されているが、認証に失敗した SoftFail SPFレコードが“~”として公開されている条件にマッチした TempError 一時的な障害で認証処理が失敗した PermError SPFレコードの記述に誤りがあるなどで認証処理に失敗した
2. 設定例
SPP_SPF_RESULT_FAIL="D",SPP_SPF_MX_RESULT_FAIL="D"
3. 拒否例
SPF設定の手抜き :
@40000000627c6801133430ec tcpserver: pid 30378 from 45.65.9.118 @40000000627c6801142f51fc tcpserver: ok 30378 odns.info:153.126.187.246:25 mail2.hnzybg.com:45.65.9.118::45457 @40000000627c680b2e14b314 qmail-spp-spf:45.65.9.118: SPF_request_query_mailfrom (helo='mail2.hnzybg.com', mailfrom='nhkplus-info@mail2.hnzybg.com'): failed: Could not find a valid SPF record @40000000627c680b351c9884 qmail-spp-spf:45.65.9.118: Fallback MX check "v=spf1 mx -all" (helo='mail2.hnzybg.com', mailfrom='nhkplus-info@mail2.hnzybg.com'): fail @40000000627c680b3523b4d4 tcpserver: end 30378 status 0 @40000000627c680b3523b8bc tcpserver: status: 0/4/0