example.org.

IN

TXT

"v=spf1 ip4:10.0.3.0 ip4:10.0.3.1 ip4:10.0.3.2 ip4:10.0.4.0/28 -all"

Sample 5: MX に指定したホストを利用MX に指定したホストからしかメールを外防ぐことができます。ただし、受信側での認部に送出しない場合は、mx を利用します。

証処理でやや DNS への負荷が大きくなる可

メンテナンスが楽であり、記述ミスの発生を能性があります。

example.org.

IN

TXT

"v=spf1 mx -all"

Sample 6: メールを送信しないドメイン管理しているドメインがまったくメール送公開できます。

信しない場合は、"-all" を利用して、その旨をexample.org.

IN

TXT

"v=spf1 -all"

Sample 7: サブドメインに個別の SPF レコードを定義する顧客へのアナウンスメールやキャンペーンして管理するという方法もあります。業者がメールを外部業者に委託しているような組織既 に SPF レ コ ー ド を 公 開 し て い れ ば 、の場合では、それらの配信メールの送信元サinclude を利用してそのレコードを利用できーバの IP アドレスを SPF レコードに追加ます。ただし、 include する場合、参照先のする必要があります。しかし、外部業者が多SPF レ コ ー ド に 記 述 ミ ス が あ っ た り 、数に上る場合など、レコードの管理が複雑にinclude や、 redirect で、参照元を相互参照なることが考えられるので、可能であれば、していたりしないか十分に確認した上で行いそれらの業者ごとに専用のサブドメインを払ます。

い出して、本来の業務用のドメインと切り離example.org.
announce.example.org.
campaign.example.org.

INININTXTTXTTXT"v=spf1 ip4:10.0.3.0 ip4:10.0.3.1 ip4:10.0.3.2 -all""v=spf1 ip4:10.1.4.0 ip4:10.1.4.1 -all""v=spf1 include:example.net -all"

Sample 8: redirect を利用してマルチドメイン環境での記述を簡略化する１つの企業でも複数のドメインを利用してとが考えられます。ただし、参照先が必ず存いる場合や、複数のドメインのメールで１つ在するように注意し、また、相互に参照してのメールシステムを共有する場合には、参照のループを起こすことのないように、参redirect を利用して共有化を図ることで、メ照先のレコードでは include や redirect をンテナンスの負荷を軽減し記述ミスを防ぐこ利用しないようにします。

example.org. INexample.net. INexample.com. IN

TXTTXTTXT"v=spf1 ip4:10.0.3.0 ip4:10.0.3.1 ip4:10.0.3.2 -all""v=spf1 redirect=example.org""v=spf1 redirect=example.org"

97

Appendix 1.2 SPF レコードの間違い例文法的に間違った SPF レコードを公開すると、受信側では permerror と扱われ、せっ提供していた場合、メールが届かなくなる可能性があります。

かく公開しても正しく扱われないことになっここでは以下に間違えやすい例を示しますてしまうばかりでなく、受信側で認証を passので、これらを参考に誤った記述が少なくなしたメール以外受信しないようなサービスをることを期待します。

Sample 1: バージョンの間違い(その１）"v=spf1.0" は間違っており、"v=spf1" でなければなりません。

(誤)example.org. IN TXT "v=spf1.0 include:example-example.org -all"(正)example.org. IN TXT "v=spf1 include:example-example.org -all"

Sample 2: バージョンの間違い(その２)SPFv2 のレコードを公開する場合、SPFv1での記述方法や、"v=spf2.0/pra" という記述方

法は間違っており、"spf2.0/pra" でなければなりません。

(誤)example.org. IN TXT "v=spf2.0/pra include:example-example.org -all"(正)example.org. IN TXT "spf2.0/pra include:example-example.org -all"

Sample 3: 機構が省略されている誤り例では、機構が省略されている上に、ドメイン名が FQDN ではないため、エラーとなってしまいます。+a:ホスト名(FQDN)と記述することが必要です。

(誤)example.org. IN TXT "v=spf1 mx nm nm1 ~all"(正)example.org. IN TXT "v=spf1 mx a:nm.example.org a:nm1.example.org ~all"Sample 4: １つのドメインに対して複数の SPF1 レコードを公開している1 つのドメインに対しては１つの SPF1 レコードだけ公開可能です。複数公開するとエと SPF1 のレコードを１つずつ同時に公開することはできます。ラーになります。ただし、SPF2 のレコード

99いう大きな１つのレコードとして扱われるこ部分を接続するとき空白文字は補われないたとに注意が必要です。"" でくくられた２つのめ、区切り文字として空白文字が入りません。

(誤)example.org. IN TXT "v=spf1 ip4: 10.0.3.0/26""ip4: 10.0.4.0 ~all"(正)example.org. IN TXT "v=spf1 ip4: 10.0.3.0/26 ip4: 10.0.4.0 ~all"Sample 7: redirect や include の先がないinclude している先のドメインの SPF レ

初は存在していたものの、その後の DNS レコードが存在しないとエラーになります。誤コードの整理などでの変更を反映していない

り例では、_spf.example.org のレコードが存ことなどが原因として考えられます。在していないためエラーになります。公開当(誤)example.org. IN TXT "v=spf1 include:_spf.example.org ~all"* Can't find _spf.exmaple.org: Non-exisitent domain

Sample 8: redirect や include のループ(相互参照)include している先のドメインの SPF レす 。 誤 り 例 で は 、 example.orgとコードで、元となるドメインを include して_spf.example.org がお互いに相手を参照しあしまい、相互参照が起こるとエラーになりまっておりエラーになります。

(誤)example.org. IN TXT "v=spf1 include:_spf.example.org ~all"_spf.example.org. IN TXT "v=spf1 include:example.org ~all"101