SPF レコードについて

SPF レコードは、ドメインに代わってメールを送信できるメールサーバーとドメインを定義します。各ドメインには SPF レコードを 1 件だけ設定できますが、そのレコード内で、ドメインからメールの送信を許可する追加のサーバーやサードパーティを指定できます。

  • 受信サーバーは SPF レコードをチェックして、組織のドメインから送信されたように見えるメールが承認済みのサーバーから送信されたものであることを確認します。
  • SPF レコードには、検証が完了したメールの受信サーバー側での処理方法も指定されています。

SPF レコードの形式

SPF レコードは、タグと値のリストを 1 行の書式なしテキストで表したものです。このタグは機構と呼ばれます。値は通常、IP アドレスとドメイン名です。

SPF レコードは、DNS TXT レコードの形式でドメイン プロバイダに追加されます。詳しくは、TXT レコードについてをご覧ください。

SPF レコードの最大文字数は 255 文字です。TXT レコードのファイルサイズは 512 バイト以下にする必要があります。

IP アドレスについて理解する

IP アドレスは、デバイスを識別してインターネットに接続するために使用されます。IP アドレスを使用すると、パソコン、モバイル デバイス、サーバーなどのデバイスが互いに通信できます。メールを送受信するサーバーは、一意の IP アドレスで識別されます。ドメインの SPF レコードには、ドメインに代わってメールを送信するサーバーの IP アドレスが必要になる場合があります。

  • IP バージョン 4(IPv4)のアドレスの例: 203.0.113.42
  • IP バージョン 6(IPv6)のアドレスの例: 2001:db8:14:5:1:2:bf35:2610

IP アドレスは通常、ブロック単位でネットワークに割り当てられます。スラッシュ(/)付きの IP アドレスは、IP アドレスのブロックを示しています。

  • IPv4: 192.0.2.0/24
  • IPv6: 2001:db8:1234::/48

SPF レコードで IP アドレス ブロックを使用すると、SPF レコードはブロック内のすべての IP アドレスに適用されます。

SPF レコードの機構

この表の機構を使用して、SPF レコードを作成します。受信メールサーバーは、SPF レコードにリストされた順で機構に対してメールを検証します。

留意点:

メカニズム 説明と値
v

(必須)SPF のバージョンです。このタグはレコードの最初のタグにする必要があります。この機構は v=spf1 にする必要があります。

ip4

メールサーバーを IPv4 アドレスまたはアドレス範囲で承認します。この値は、次のように標準形式の IPv4 アドレスまたはアドレス範囲である必要があります。ip4:192.168.0.1 または ip4:192.0.2.0/24

ip6

メールサーバーを IPv6 アドレスまたはアドレス範囲で承認します。この値は、次のように標準形式の IPv6 アドレスまたはアドレス範囲である必要があります。ip6:3FFE:0000:0000:0001:0200:F8FF:FE75:50DF または ip6:2001:db8:1234::/48

a

メールサーバーを次のようにドメイン名で承認します。a:example.com

mx

メールサーバーを次のようにドメインの MX レコードで承認します。mx:mail.example.com

この機構が SPF レコードにない場合、デフォルト値は SPF レコードが使用されているドメインの MX レコードです。

include

サードパーティのメール送信元を次のようにドメインで承認します。include:servers.mail.net

すべて

すべてのメッセージが照合されることを指定します。この機構を必ず SPF レコードに含めることをおすすめします。

この機構は、SPF レコードの最後に配置する必要があります。SPF レコードの all の後に続く機構はすべて無視されます。

~all と -all について

  • SPF レコードに ~allSoftFail 限定子)が含まれている場合、SPF レコードにない送信元からのメールは受信サーバーで通常は受け入れられますが、不審なメールとして扱われます。

  • SPF レコードに -allFail 限定子)が含まれている場合、SPF レコードにない送信元からのメールは受信サーバーで拒否される可能性があります。SPF レコードが正しく設定されていない場合、Fail 限定子によってドメインからのメールがより多く迷惑メールに分類されるおそれがあります。

ヒント: メール送信に使用していないドメインのなりすましを防ぐには、ドメインの SPF レコードとして vspf1 ~all を使用します。

exists

SPF レコードの exists 機構で指定されたドメインに対して A クエリを実行します。結果が見つかると、ドメインが解決され、認証が成功します。ドメインが解決されない場合、認証は失敗します。

SPF レコードの限定子

限定子は、SPF レコード内の任意の機構に追加できる省略可能な接頭辞です。機構の値が一致する場合に、メールを認証済みとみなすかどうかを受信メールサーバーに指定します。次に例を示します。

v=spf1 include:_spf.google.com ~all

機構は SPF レコード内の順に検証されます。機構に限定子がなく、機構が一致する場合、認証のデフォルトの処理は「Pass」です。機構が一致しない場合、デフォルトの処理は「Neutral」です。メールの認証結果は合格、不合格のどちらでもありません。

これらの省略可能な限定子を使用して、SPF レコードの機構が一致するメールの処理方法を受信メールサーバーに指定します。

修飾子 一致した場合の受信サーバーでの処理
+ Pass。一致する IP アドレスを持つサーバーは、ドメインに代わってメールを送信できます。メールは認証されます。これは、機構で限定子を使用しない場合のデフォルトの処理です。
- 認証に失敗します。一致する IP アドレスを持つサーバーは、ドメインに代わってメールを送信できません。SPF レコードに送信サーバーの IP アドレスまたはドメインが含まれていないため、メールは認証に合格しません。
~ SoftFail。一致する IP アドレスを持つサーバーは、ドメインに代わってメールを送信できない可能性があります。通常、そのようなサーバーからのメールは受信側のサーバーで受け入れられますが、不審なメールとして扱われます。
Neutral。認証結果が合格、不合格のどちらでもありません。ドメインに代わってメールを送信できる IP アドレスであることが、SPF レコードに明示されていません。通常、中立的な結果の SPF レコードには ?all が使用されます。

SPF レコードの限定子(詳細)

SPF 修飾子は、SPF レコードのテキスト文字列の末尾に表示される、= で区切られた名前と値のペアです。修飾子は、追加情報、ルールの例外、デフォルトからのバリエーションを指定します。たとえば、次の SPF レコードでは、include メカニズムを使用して Google の SPF レコードを確認し、redirect 修飾子を使用して別のドメインの SPF レコードを参照しています。

v=spf1 include:_spf.google.com redirect=example.com

修飾子 説明
リダイレクト

認証のために別のドメインの SPF レコードにリダイレクトします。複数のドメインで同じ SPF レコードを使用する場合は、redirect 修飾子を使用します。

redirect 修飾子は、影響を受けるすべてのドメインを管理している場合にのみ使用します。管理していないドメインの場合は、include メカニズムを使用します。SPF レコードで all 機構を使用している場合、redirect 修飾子は無視されます。

exp

SPF に失敗した理由として表示されるカスタム メッセージを指定できます。SPF レコードに Fail または SoftFail の限定子が含まれている場合にのみ使用できます。この修飾子は、失敗の説明を含む TXT レコードへの DNS ルックアップを有効にします。SPF マクロを使用して、この説明をカスタマイズします。