■基本的な記述方法 [ドメイン]. IN TXT ”v=spf1 +ip4:[IPアドレス] ~all” ※IPアドレスは範囲指定も可能です。 例1)example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx ~all” 例2)example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx +ip4:168.xx.xx.x/24 ~all” ■SPFレコードの記述方法について確認してみましょう!! 以下、よくある間違いの例をまとめましたので確認してみてください。 ※下記ドメインから送信する場合 ドメイン:example.co.jp IPアドレス:192.xxx.xxx.xx 168.xx.xx.x ◆機構の記述に誤りがある◆ SPFレコードの宣言をする際、機構(ip4など)の未指定やスペルミスが多くみられます。 例えば、以下のような場合があります。 【誤】 機構を「ip4」ではなく「ipv4」と記述している。 example.co.jp. IN TXT ”v=spf1 +ipv4:192.xxx.xxx.xx ~all” 【正】 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx ~all” 【誤】 複数のアドレスを列挙する場合に、アドレス毎に機構が記入されていない。 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx 168.xx.xx.x/24 ~all” 【正】 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx +ip4:168.xx.xx.x/24 ~all” ◆複数のSPFレコードを記述する場合◆ 1つのドメインに対して複数のSPFレコードを記述する場合によく見受けられる誤りです。 例えば、以下のような場合があります。 【誤】 ①1つのドメインに対して複数行のSPFレコードが宣言されている。 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 ~all” ”v=spf1 +ip4:168.xx.xx.x/24 ~all” →DNSでは複数のレコードが存在すると応答によってその順序が異なる場合があり、 意図とは異なる結果となる危険性があります。 ②SPFレコードの宣言がされていない。 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 ” ”+ip4:168.xx.xx.x/24 ~all” →2行目はSPFレコードではない為、無視されエラーにはなりませんが、 意図とは異なる結果となります。 【正】 ①、②共通 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 +ip4:168.xx.xx.x/24 ~all” ◆必要な空白文字がない◆ 複数のSPFレコードを記述すると長くなる為、文字列の連結に必要な空白文字を忘れる場合が 多く見受けられます。 【誤】 文字列に必要な空白が挿入されていない。 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24″ ”+ip4:168.xx.xx.x/24 ~all” →上記のように記述した場合 「example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24+ip4:168.xx.xx.x/24 ~all”」 と解釈され、エラーとなります。 【正】 前の文字列の最後に空白文字を挿入する。 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 ” ”+ip4:168.xx.xx.x/24 ~all” または、 【正】 後ろの文字列の最初に空白文字を挿入する。 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24″ ” +ip4:168.xx.xx.x/24 ~all” →上記のように記述すると、2つの文字列が連結された際に、区切りとなる空白文字が 挿入されている為、正しく解釈されます。 ◆参照時の間違い◆ includeやredirectを使用した際に多く見受けられるものが、記号の間違いです。 例えば、以下のような場合があります。 【誤】 includeの記述後に「:」ではなく「=」と記述している。 example.co.jp. IN TXT ” v=spf1 include=_spf.example.co.jp ~all” 【正】 example.co.jp. IN TXT ” v=spf1 include:_spf.example.co.jp ~all” 【誤】 redirectの記述後に「=」ではなく「:」と記述している。 example.co.jp. IN TXT ” v=spf1 redirect:example.co.jp” 【正】 example.co.jp. IN TXT ” v=spf1 redirect=example.co.jp” →機構等によって記述する記号が違う為、記述後もう一度確認してみてください。
インフォメーション
インフォメーション記事
【参考】SPFレコードの記述方法
■基本的な記述方法
[ドメイン]. IN TXT ”v=spf1 +ip4:[IPアドレス] ~all”
※IPアドレスは範囲指定も可能です。
例1)example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx ~all”
例2)example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx +ip4:168.xx.xx.x/24 ~all”
■SPFレコードの記述方法について確認してみましょう!!
以下、よくある間違いの例をまとめましたので確認してみてください。
※下記ドメインから送信する場合
ドメイン:example.co.jp
IPアドレス:192.xxx.xxx.xx 168.xx.xx.x
◆機構の記述に誤りがある◆
SPFレコードの宣言をする際、機構(ip4など)の未指定やスペルミスが多くみられます。
例えば、以下のような場合があります。
【誤】 機構を「ip4」ではなく「ipv4」と記述している。
example.co.jp. IN TXT ”v=spf1 +ipv4:192.xxx.xxx.xx ~all”
【正】 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx ~all”
【誤】 複数のアドレスを列挙する場合に、アドレス毎に機構が記入されていない。
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx 168.xx.xx.x/24 ~all”
【正】 example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx +ip4:168.xx.xx.x/24 ~all”
◆複数のSPFレコードを記述する場合◆
1つのドメインに対して複数のSPFレコードを記述する場合によく見受けられる誤りです。
例えば、以下のような場合があります。
【誤】 ①1つのドメインに対して複数行のSPFレコードが宣言されている。
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 ~all”
”v=spf1 +ip4:168.xx.xx.x/24 ~all”
→DNSでは複数のレコードが存在すると応答によってその順序が異なる場合があり、
意図とは異なる結果となる危険性があります。
②SPFレコードの宣言がされていない。
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 ”
”+ip4:168.xx.xx.x/24 ~all”
→2行目はSPFレコードではない為、無視されエラーにはなりませんが、
意図とは異なる結果となります。
【正】 ①、②共通
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 +ip4:168.xx.xx.x/24 ~all”
◆必要な空白文字がない◆
複数のSPFレコードを記述すると長くなる為、文字列の連結に必要な空白文字を忘れる場合が
多く見受けられます。
【誤】 文字列に必要な空白が挿入されていない。
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24″ ”+ip4:168.xx.xx.x/24 ~all”
→上記のように記述した場合
「example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24+ip4:168.xx.xx.x/24 ~all”」
と解釈され、エラーとなります。
【正】 前の文字列の最後に空白文字を挿入する。
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24 ” ”+ip4:168.xx.xx.x/24 ~all”
または、
【正】 後ろの文字列の最初に空白文字を挿入する。
example.co.jp. IN TXT ”v=spf1 +ip4:192.xxx.xxx.xx/24″ ” +ip4:168.xx.xx.x/24 ~all”
→上記のように記述すると、2つの文字列が連結された際に、区切りとなる空白文字が
挿入されている為、正しく解釈されます。
◆参照時の間違い◆
includeやredirectを使用した際に多く見受けられるものが、記号の間違いです。
例えば、以下のような場合があります。
【誤】 includeの記述後に「:」ではなく「=」と記述している。
example.co.jp. IN TXT ” v=spf1 include=_spf.example.co.jp ~all”
【正】 example.co.jp. IN TXT ” v=spf1 include:_spf.example.co.jp ~all”
【誤】 redirectの記述後に「=」ではなく「:」と記述している。
example.co.jp. IN TXT ” v=spf1 redirect:example.co.jp”
【正】 example.co.jp. IN TXT ” v=spf1 redirect=example.co.jp”
→機構等によって記述する記号が違う為、記述後もう一度確認してみてください。