SPFマクロは、DNSレコード内で定義された仕組みを置き換えることで、SPFレコードを単純化するために使用できる文字列である。
主なポイント
- SPFマクロは、よりダイナミックでスケーラブルなSPFレコードを可能にし、ドメイン所有者のメール認証を容易にします。
- SPFのマクロは、SPFレコードの長さと複雑さを減らし、DNSの長さ制限を超えないようにするのに役立つ。
- マルチドメインインフラを持つ企業は、SPFマクロが提供する柔軟性と最適化の恩恵を受けることができる。
- SPFマクロを使用することで、DNSやボイドルックアップに関連する問題を軽減することができ、メール配信率の向上につながります。
- 複数のドメインや複雑なメールインフラを管理する組織に最適です。
- PowerSPFはSPFマクロを活用し、SPFレコード管理の柔軟性と効率性を高めます。
SPFマクロは、効果的で重要なSender Policy Framework機能であり、ドメイン所有者がメールドメインの認証に、よりダイナミックで拡張性のあるSPFレコードを要求する場合に使用されます。SPFマクロ機能は SPFレコード構文SPFマクロ機能は、SPF検証を必要とする個々のメールからメタデータに置き換えられる文字列を定義します。これにより、簡素化されたSPFレコードを作成することができ、長く複雑なSPFレコードの生成を避けることができます。
従来のソリューションとは異なり、PowerSPFは自動化されたマクロサポート、リアルタイムSPFフラット化、専任の専門家によるガイダンスを提供し、世界中の2000以上の組織から信頼されています。
詳しくは IETF公式ドキュメント.
SPFマクロとは何ですか?
SPFマクロは、文字列の連続であり、SPFレコード内で定義されたメカニズムを置き換えることで、SPFレコードの設定を簡略化するために使用できます。 DNS TXTレコードで定義されたメカニズムを置き換えることで、SPFレコードの設定を簡略化できる文字列です。詳細は RFC 7208、セクション 7で説明されているように、SPFレコード内の定義されたメカニズムを置き換えることで、SPFレコード
SPFレコードはほとんどの場合単純で、あなたのドメインから送られてくる不正なメールの扱いについて、受信者のサーバーにSPFメカニズム、修飾子、モディファイアを使って指示を出すことができます。しかし、SPFメカニズムでは不十分で、SPFマクロを導入しなければならない状況もあります。
SPFマクロはパーセント記号(%)で表され、2つ以上の文字、修飾子、区切り文字の組み合わせで構成されます。SPF認証プロセスにおいて、SPFマクロは評価され、対応する値に置換されます。
たとえば、%sと%dはそれぞれ、チェックされたIDにリンクされている送信者のアドレスとドメイン名を示す。
r、l、oのような修飾子は、アドレスやドメインの特定の要素を抽出するために適用され、-や.のような区切り記号は、マクロ内の異なる要素を区切るのに役立つ。
SPFマクロにおけるSMTPの役割の理解
SPFマクロを完全に理解するには、電子メール送信の基盤となるプロトコルであるSMTP(Simple Mail Transfer Protocol)との相互作用を把握することが不可欠です。
SPFマクロにおけるSMTP変数
- Sender IP Address: Retrieved from the SMTP connection (%{i} macro)
- HELO/EHLO Hostname: Captured during SMTP handshake (%{h} macro)
- Envelope Sender: From the MAIL FROM command (%{s} macro)
- Domain Information: Extracted from various SMTP headers (%{d} macro)
この動的なアプローチにより、SPFマクロは実際のSMTPトランザクションデータに基づいて送信元をリアルタイムで検証できるため、複雑なメールインフラストラクチャを持つ組織にとって特に有用です。
SPFマクロの種類
SPFマクロは、中括弧{ }で囲まれ、パーセント記号(%)が先頭に付いた異なるアルファベットや文字で示され、SPFレコード内の特定のメカニズムを参照します。以下がコア・マクロです。
| マクロ | 構文 | 意味 | 例 |
|---|---|---|---|
| %{s} | %{s} | 送信者のメールアドレス | [email protected] |
| %{l} | %{l} | 送信者のローカル部分 | マーク |
| %{o} | %{o} | 送信者のドメイン | example.com |
| %{d} | %{d} | 信頼できる送信ドメイン | example.com |
| %{i} | %{i} | 送信元のIPアドレス | 192.168.1.100 |
| %{h} | %{h} | HELO/EHLO ホスト名 | メール.example.com |
レコードに指定できるマクロは他にもたくさんありますが、一般的なものをいくつか挙げてみました。
SPFマクロはどのように機能しますか?
SPFマクロを使用すると、ドメイン所有者はSPFレコード内で特定のメカニズムへの参照を指定し、これらのメカニズムを置き換えることができます。受信側MTAによるDNSクエリ中に、参照はメカニズムを抽出するために使用され、より管理しやすく適応可能なSPFレコードを作成するためにレコードを拡張します。
以下に、SPFレコードで使用するマクロの例を示す。
“v=spf1 include:%{i}_.%{d}._spf.powerdmarc.com ~all”
- ここでは をインクルードする:メカニズムにはSPFマクロが含まれている。
- SPFマクロは2つあり、それぞれパーセント記号、左中括弧、マクロ文字、右中括弧の文字列で表される。上の例では、%{i}は送信者のIPアドレスを表し、%{d}は'MAIL FROM'コマンドからの送信者ドメインを表す。
- 192.168.1.100のIPを送信ドメインのIPアドレスと考え、このIPからメールが送信されると、受信サーバーはドメインのSPF DNSレコードを検索するためにDNSクエリーを開始する。
- 受信者が送信ドメインのSPFレコードを検索すると、SPFマクロに遭遇する。
- この拡張されたSPFレコードが検査され、メールがSPFバリデーションに合格するか、不合格になるかが決定される。
SPFレコードでマクロを使用するのはどのような場合ですか?
SPFマクロは、ドメイン所有者のニーズに応じて、さまざまなシナリオで使用できます。複雑なメール認証インフラを簡素化したい場合、複数のサードパーティのメール処理サービスを使用している場合、単にSPFレコードのサイズを縮小したい場合などに便利です。
以下は、SPFマクロが有利となる一般的なケースである:
マルチドメイン・インフラを持つ組織
複数のドメインを運用する企業レベルの組織は、SPFマクロの最適なユーザーです。ただし、あらゆる規模の組織でも利用可能です。マクロは従来のフラット化手法と比較して、SPFレコードの柔軟性と効果的な最適化を大幅に高め、マルチドメイン環境においてもSPFがシームレスに機能することを保証します。これにより、 複数のSPFレコードを作成する必要性を排除します作成する必要がなくなります。
複数の診療所向けに複数のドメインを管理する医療提供者にとって、マクロはネットワーク全体でのSPF管理を効率化します。
大規模メールインフラ
複雑なメールインフラを持つ企業は、SPFマクロを使って最適化されたSPFメカニズムを多数組み込む必要があるかもしれない。これらのマクロは、メカニズムへの参照を定義する方法を提供する。 RFCで規定されている512オクテットの長さに収まるようにする。
サードパーティ・サービス
サードパーティのメールベンダーを複数使用している組織でも、SPFマクロのおかげでSPFが壊れることがなくなりました。このマクロは、サードパーティのインクルードを簡単に最適化し、レコードがDNSとvoid lookupsの許容限度を超えないようにします。
組織はSPFマクロでSPFの課題を解決する
複数のSPFマクロをレコードに含めることができ、手動または SPFチェッカー.以下がその可能性です:
1.テンパーの原因となる長いSPFレコードを防ぐ
SPFレコードに複数の include: ステートメントがある場合、レコードが長くなりすぎるのを防ぐことができます。ただし、これは恒久的な解決策ではありません。ドメインの SPF設定にSPFマクロを使用することで、DNS TXTレコードのRFCで規定された長さの制限(512文字)を超える可能性を排除できます。
2.DNSとVoidのルックアップを制限し、パーメラーを軽減する。
複数のサードパーティ送信元やメールベンダーを利用する組織は、DNSクエリのRFC規定ルックアップ制限を超過しやすい傾向があります。これは各ベンダーが少なくとも1回以上のルックアップを追加するためです。これが積み重なるとSPFレコードが破損し、SPF permerrorが発生する可能性があります。
SPFマクロを使用して、これらの外部ベンダーのIPアドレスやドメインへの参照を追加することで、ルックアップの制限を確実に守りつつ、不正なソースを制限することができます。
SPFマクロのテストとトラブルシューティングの方法
SPFマクロのテストは、メールインフラで正しく機能することを保証するために不可欠です。以下に、SPFマクロの実装を検証しトラブルシューティングするための段階的な手順を示します。
段階的テストチェックリスト
- オンラインSPFバリデータの利用:PowerDMARCのSPFチェッカーなどのツールでマクロ構文を用いたSPFレコードをテストする
- DNSルックアップテスト:nslookupやdigなどのコマンドラインツールを使用してマクロ展開を検証する
- テストメールの送信:異なる送信元からメールを送信し、認証ヘッダーを確認する
- DMARCレポートの監視:SPF認証失敗に関するレポートを確認する
- メールヘッダーの確認:SPF結果を確認するため、Authentication-Resultsヘッダーを調査する
よくあるトラブルシューティングの問題
- 構文エラー:マクロの書式設定が正しくないか、中括弧が不足しています
- DNS解決: マクロ展開の結果として存在しないドメインが生成される
- ルックアップ制限: マクロを使用しても10回のDNSルックアップ制限を超過
- 文字数制限:拡張マクロによる過度に長いDNSレコードの生成
推奨テストツール
- PowerDMARC SPFチェッカー – 包括的なSPF検証
- コマンドラインツール: dig、nslookup、host
- 認証結果確認用メールヘッダー解析ツール
PowerSPFでSPFセットアップにマクロを活用しよう
SPFマクロは、SPF認証、レコード作成、管理における動的性と拡張性を実現するため、MTAによって幅広くサポートされています。PowerSPFはSPFマクロをシームレスに統合し、 当社のクライアント は SPFレコードを レコードをより柔軟に生成できるようになります。
なぜSPFレコードをフラットにするだけでは不十分なのか?
従来の SPFフラット化 手法は、小規模から中規模の組織で、設定が単純でSPFメカニズムが少ない場合の大半において有効であることが証明されている。しかし、メカニズムが増加するにつれて状況は次第に厳しくなり、以下の好ましくない状況を引き起こす可能性がある:
- DNSルックアップの回数は最大10回。
- 最後のDNSレコードの長さが512文字を超える可能性がある(TXT DNSレコードの最大許容サイズ)
- 承認されたIPと送信元が公開され、プライバシーへの懸念が高まる
SPFマクロ - より良いアプローチ
SPFのマクロは、複雑なSPFのセットアップを行う企業を念頭に構築されていますが、中小規模の組織にも同様に効果的です。その方法をご紹介します:
- SPFのマクロは、DNSルックアップを10回、voidルックアップを2回に制限する。
- レコードの文字数を維持し、512文字の制限を超えないようにします
- 承認されたIPと送信元は、文字参照に置き換えられ、世間の目から隠される。
SPFフラット化とSPFマクロの比較
| 最初のSPFレコード(5回参照) | SPFマクロ(1検索) | SPFフラット化(2ルックアップ) |
|---|---|---|
| v=spf1 include:_spf.google.com include:zcsend.net -all | v=spf1 exists:%{i}.abcde12345.macrospf.powerspf.com -all | abcde12345.powerspf.com: v=spf1 ip6:2c0f:fb50:4000::/36 ip6:2a00:1450:4000::/36 ip6:2800:3f0:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2404:6800:4000::/36 ip6:2001:4860:4000::/36 ip4:74.125.0.0/16 ip4:35.191.0.0/16 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:72.14.192.0/18 ip4:64.233.160.0/19 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ip4:172.217.192.0/19 ip4:172.217.128.0/19 ip4:172.217.0.0/19 ip4:108.177.96.0/19 ip4:66.249.80.0/20 ip4:66.102.0.0/20 ip4:172.253.112.0/20 ip4:172.217.32.0/20 include:_s1.abcde12345.powerspf.com -all _s1.abcde12345.powerspf.com: v=spf1 ip4:172.217.160.0/20 ip4:172.253.56.0/21 ip4:108.177.8.0/21 ip4:130.211.0.0/22 ip4:136.143.160.0/23 ip4:135.84.82.0/23 ip4:35.190.247.0/24 ip4:165.173.128.0/24 ip4:135.84.81.0/24 -all |
SPFマクロとSPFフラット化の使用タイミング
- SPFマクロを使用するタイミング:複雑で動的なメールインフラストラクチャを運用している場合、または認可された送信元に対してプライバシー保護が必要な場合
- SPFフラット化を使用するタイミング:静的IP範囲を用いたシンプルな設定環境で、サードパーティサービスが少ない場合
- ハイブリッドアプローチ:企業環境において最適な結果を得るために両方の手法を組み合わせる
概要と今後の手順
SPFマクロは、複雑なメールインフラストラクチャを持つ組織向けに強力なソリューションを提供し、ビジネスのニーズに合わせて拡張可能な動的認証を実現します。
主要な行動項目:
- 現在のSPF設定の複雑さとルックアップ制限を評価する
- PowerDMARCの検証ツールでSPFレコードをテストしてください
- マルチドメイン環境向けにSPFマクロの導入を検討する
- DMARCレポートを監視してSPF認証のパフォーマンスを追跡する
- 無料トライアルを開始して、自動化されたSPFマクロ管理を体験してください
PowerDMARCの差別化を体感してください – 経験豊富なドメインおよびメールセキュリティの専門家による個別デモをご希望の方は、お問い合わせください!
よくあるご質問
1. SPFマクロとは何ですか?
SPFマクロとは、SPFレコード内の文字列シーケンスであり、メール認証時に実際の値で動的に置換されます。マクロはIPアドレス用の%{i}やドメイン用の%{d}といった変数を使用し、様々な送信シナリオに適応する柔軟で拡張性の高いSPFレコードを作成します。
2. TXTはSPFと同じですか?
いいえ、TXTはDNSレコードのタイプであり、SPFはメール認証プロトコルです。SPFレコードはDNSのTXTレコードとして公開されますが、すべてのTXTレコードがSPF情報を含むわけではありません。SPFレコードは常に「v=spf1」で始まり、SPFポリシーであることを識別します。
3. SPFマクロが機能しているかどうかを確認するにはどうすればよいですか?
SPFマクロは、オンラインSPFバリデータの使用、テストメール送信と認証ヘッダーの確認、DMARCレポートによるSPF結果の監視、DNSルックアップツールによるマクロ展開の検証でテストできます。PowerDMARCのSPFチェッカーツールはマクロの構文と機能性を検証可能です。
- フィッシングメールとDMARC統計:2026年メールセキュリティ動向 - 2026年1月6日
- 2026年に「SPFレコードが見つかりません」を修正する方法 - 2026年1月3日
- SPF パーエラー:DNS ルックアップが多すぎる場合の修正方法 - 2025年12月24日
