1. Records that do not begin with a version section of exactly "v=spf1" are discarded. Note that the version section is terminated either by an SP character or the end of the record. A record with a version section of "v=spf10" does not match and must be discarded.
- 正確に“v=spf1”というバージョン部分で始まっていないレコードは破棄する。バージョン選択は、SP文字またはレコードの終わりで終了する。“v=spf10”というバージョン部分を持つレコードは合致しないので破棄しなければならない(MUST)。
2. If any records of type SPF are in the set, then all records of type TXT are discarded.
- タイプSPFのレコードが含まれている場合、タイプTXTのレコードは破棄する。
After the above steps, there should be exactly one record remaining and evaluation can proceed. If there are two or more records remaining, then check_host() exits immediately with the result of "PermError".上記の段階を終えると、正確に1個のレコードが残っているはずであり、評価を進められる。2個以上のレコードが残っている場合、check_host() はすぐに“PermError”という結果で終了する。
If no matching records are returned, an SPF client MUST assume that the domain makes no SPF declarations. SPF processing MUST stop and return "None".合致するレコードが返されない場合、SPFクライアントはドメインがSPF宣言を行っていないと仮定しなければならず(MUST)、SPF処理を停止して“None”を返さなければならない(MUST)。
4.6. Record Evaluation
After one SPF record has been selected, the check_host() function parses and interprets it to find a result for the current test. If there are any syntax errors, check_host() returns immediately with the result "PermError".
4.6. レコードの評価
SPFレコードが選択されたら、check_host() 関数はそれを分析・解釈して現在のテストに対する結果を見つける。文法エラーがある場合、check_host() はすぐに“PermError”という結果を返す。
Implementations MAY choose to parse the entire record first and return "PermError" if the record is not syntactically well formed. However, in all cases, any syntax errors anywhere in the record MUST be detected.実装はまずレコード全体を分析して、レコードが文法的に正しくない場合に“PermError”を返す方法を選んでもよい(MAY)。しかし、どんな場合でも、レコード中の文法エラーは検出されなければならない(MUST)。
4.6.1. Term Evaluation
There are two types of terms: mechanisms and modifiers. A record contains an ordered list of these as specified in the following Augmented Backus-Naur Form (ABNF). terms = *( 1*SP ( directive / modifier ) ) directive = [ qualifier ] mechanism qualifier = "+" / "-" / "?" / "~" mechanism = ( all / include / A / MX / PTR / IP4 / IP6 / exists ) modifier = redirect / explanation / unknown-modifier unknown-modifier = name "=" macro-string name = ALPHA *( ALPHA / DIGIT / "-" / "_" / "." )
4.6.1. 要素の評価
機構(mechanism)と変更子(modifier)という、2種類の要素がある。レコードは機構と変更子が以下のABNF記法に従って定義される順番に並んだリストを含む。
terms = *( 1*SP ( directive / modifier ) ) directive = [ qualifier ] mechanism qualifier = "+" / "-" / "?" / "~" mechanism = ( all / include / A / MX / PTR / IP4 / IP6 / exists ) modifier = redirect / explanation / unknown-modifier unknown-modifier = name "=" macro-stringname = ALPHA *( ALPHA / DIGIT / "-" / "_" / "." )Most mechanisms allow a ":" or "/" character after the name.ほとんどの機構は名前の後の“:”文字または“/”文字を許容する。
[Page 14]
《PREV》 |