SPF レコードについて

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

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

SPF レコードの形式

SPF レコードは、タグと値のリストを含む書式なしテキストの行です。このタグは機構と呼ばれます。通常、値は 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 レコードで 1 つ以上のメールサーバーを承認します(例: mx:mail.example.com)。

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

include

ドメインでサードパーティのメール送信者を承認します(例: include:servers.mail.net)。

開く

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

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

~all と -all について

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

  • SPF レコードに -all(Fail 限定子)が含まれている場合、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 マクロを使用して、この説明をカスタマイズします。