そのため、個々のSPFエントリは255文字に収まるか、include
演算子を使用してチェーンを形成する複数のエントリをリンクする必要があるという印象を受けました。ただし、RFC 4408 3.1.3。特に、評価の前に複数の文字列を連結する必要があることを示しています。したがって、IN TXT "v=spf1" " 1.2.3.4 -all"
はIN TXT "v=spf1 1.2.3.4 -all"
と同じように扱う必要があります。特に、これは任意の大きなSPFレコードを許可し、include
は他の誰かが管理するSPFレコードを含めるためのツールになります。
これは仕様の正しい解釈ですか?さらに重要なことに、現在のメールサーバーは、このTXTレコードのマルチストリングタイプを尊重しますか?
はい、あなたはそれを正しく解釈しています。私は最近これに対処しました。
この記事は私に役立ちました:
この概念の注目すべき例は、2016年2月25日現在のCisco.comのSPFレコードです。
> ;; QUESTION SECTION: ;Cisco.com. IN TXT
>
> ;; ANSWER SECTION: Cisco.com. 12775 IN TXT
> "926723159-3188410" Cisco.com. 12775 IN TXT
> "v=spf1 ip4:173.37.147.224/27 ip4:173.37.142.64/26
> ip4:173.38.212.128/27 ip4:173.38.203.0/24 ip4:64.100.0.0/14
> ip4:72.163.7.160/27 ip4:72.163.197.0/24 ip4:144.254.0.0/16
> ip4:66.187.208.0/20 ip4:173.37.86.0/24" " ip4:64.104.206.0/24
> ip4:64.104.15.96/27 ip4:64.102.19.192/26 ip4:144.254.15.96/27
> ip4:173.36.137.128/26 ip4:173.36.130.0/24 mx:res.Cisco.com
> mx:sco.Cisco.com ~all" Cisco.com. 12775 IN TXT
> "MS=ms65960035"
すでに示したように、レコード内のスペースを考慮に入れていることを確認してください。
また、レコードのDNSルックアップの数を SPF RFC ごとに10に制限する必要があることに注意してください。
SPF実装は、DNSルックアップを実行するメカニズムと修飾子の数を、「インクルード」メカニズムまたは「リダイレクト」修飾子の使用によって引き起こされるルックアップを含め、SPFチェックごとに最大10に制限する必要があります。チェック中にこの数を超えた場合は、PermErrorを返す必要があります。