SPF の DNS 参照が多すぎるというエラーは、小さな問題に見えるかもしれません。しかしメールの認証が失敗し始めると、影響は急速に広がります。ドメインが SPF の参照回数制限を超えると、受信側は PermError を返し、正常な SPF 認証結果を得られなくなることがあります。請求書、返信、通知、アプリのメールにも影響します。
到達性の改善や適切なビジネスメールの構築を進めているなら、これも同じ作業の一部です。TrekMail の小規模企業向けビジネスメールのガイドは全体像を説明しています。この記事では、SPF の参照が増えすぎる具体的な原因と、必要な送信元を除外せずに対処する方法を扱います。
要点は、SPF が評価時に DNS を使う項を最大 10 個に制限していることです。再帰的に評価される参照も数えます。利用中のベンダーだけでなく、その下位のレコードも対象です。誤記や不要な include が関係することもあります。上限を超えれば、無視できる警告ではなく、実際の認証障害になります。
SPF の DNS 参照が多すぎるとはどういう意味?
SPF レコードの評価で、受信サーバーが DNS を使う項を 10 個より多く処理する必要がある状態です。RFC 7208 では、この場合に PermError を返すよう定めています。SPF の処理は正常に完了せず、期待した認証結果が得られません。
この規則は、悪用や負担の大きい DNS 再帰を抑えるための必須要件です。RFC 7208 は、上限超過時に PermError を返すことを要求しています。Microsoft の SPF 文書も、参照が多すぎると SPF が失敗すると警告しています。
そのため、長年ツールを追加し続けたドメインでよく発生します。Google Workspace、Microsoft 365、CRM、チケット管理、ニュースレター配信、場合によっては転送やリレーサービスも加わります。個々の include は単純でも、連鎖全体が問題になります。
「include は三つだけ」でも安心はできません。一つの include が下位の複数の参照に展開されることがあります。制限は DNS に貼り付けた最上位の行ではなく、完全な評価経路に適用されます。
どの SPF メカニズムが制限に数えられる?
DNS を使う SPF メカニズムは一部だけです。この区別は重要で、可能な範囲で再帰的な設定を直接的な送信許可に置き換えると、負担を減らしやすくなります。正しく監査するには、何が数えられるかを理解してください。表は簡略化した目安であり、個々の DNS パケット数ではありません。
| メカニズム | 参照の負担 | 備考 |
|---|---|---|
include: | 1 | 下位のレコードへ再帰が続くため、超過の主な原因になる。 |
a | 1 | A または AAAA レコードを参照する。 |
mx | 1+ | MX を解決し、追加の MX 制限に達する場合もある。 |
ptr | 1+ | 使用は強く非推奨。避けること。 |
exists | 1 | 高度な設定やマクロを多用する構成で使われる。 |
redirect= | 1 | 別のレコードへ SPF 処理を委ねる。 |
ip4 / ip6 | 0 | 静的な指定で、評価時の DNS 参照は不要。 |
all | 0 | 最終的な方針のみを指定し、参照は発生しない。 |
別の落とし穴もあります。RFC 7208 は、NXDOMAIN またはデータのない応答となる空の参照を二つまでに制限することを推奨しています。その上限を超えると、全体が 10 未満だと思っていてもエラーになり、調査がさらに難しくなります。
例として、誤記のある
include:spf.trekmaill.netは空の参照を発生させる可能性があります。無効なドメインが二つあれば、ほかにも空の参照がないか確認してください。受信側の空の参照の上限を超えると、全体の参照枠を超える前でも PermError になることがあります。
SPF の参照過多を監査するには?
最上位の SPF レコードからすべての include を展開し、実際の評価経路で DNS を使うメカニズムを数えます。推測や古いスクリーンショットに頼らず、レコードのツリーを問い合わせて現在の DNS を確認してください。
まず最上位のレコードを確認します。
dig +short txt example.com次に、見つかった include をそれぞれ展開します。
dig +short txt _spf.google.com
# or
dig +short txt spf.protection.outlook.com
dig +short txt spf.trekmail.net参照をたどりながら、評価される include、a、mx、exists、redirect を数えます。ネストしたレコードも対象です。プロバイダーが最近 SPF を変更していれば、自分では何も変更していなくても、以前は正常だったレコードが制限を超える可能性があります。
監査の簡単なチェックリスト:
- ドメインの現在の SPF TXT レコードを取得する。
- すべての include 先を再帰的に展開する。
- 完全な評価経路で DNS を使うメカニズムを数える。
- 誤記、使わなくなったベンダー、空の応答を確認する。
- 複雑な対策の前に、重複したサービスを削除する。
新しいドメインも設定しているなら、TrekMail の必要な DNS レコードのガイドで、維持すべき基本構造を確認できます。
SPF の参照が増えすぎる主な原因は?
一つの大きなミスより、ベンダーの増加が原因になることが多いものです。問題のあるレコードは、数か月や数年かけて include が一つずつ追加されています。ポリシー全体の管理者がいないまま、認証が失敗するまで大きくなってしまいます。
よくある原因は単純です。
移行後も古いベンダーが残る、マーケティングツールが社内メールと同じメインドメインを使う、複数のチームが共通の一覧なしに送信元を許可する、ベンダーの SPF サンプルをネストした include の数を確認せずコピーするといったものです。
カスタム SMTPの構成もよくある原因です。複数の送信サービスをメインドメインで使うと、上限超過の可能性が高まります。TrekMail の管理された TrekMail SMTPは一つの include を入口にして設定を簡素化できますが、下位の参照は引き続き確認が必要です。BYO SMTP では各プロバイダーの SPF の負担を自分で管理します。
代理店が単一ドメインの企業より影響を受けやすいのも、このためです。古い設定が多くの顧客ゾーンに散らばり、忘れられた include が何年も残ることがあります。
実用的な対処法: サブドメインごとにメールを分ける
わかりやすい対処は、メールの種類ごとに別のサブドメインを使う構成です。各サブドメインに独自の SPF レコードと参照枠を設ければ、メインドメインを簡潔にし、大量送信を別に管理できます。
例:
# Root domain for staff and transactional mail
example.com. TXT "v=spf1 include:spf.trekmail.net -all"
# Marketing subdomain for bulk mail
news.example.com. TXT "v=spf1 include:servers.mcsv.net include:spf.mailvendor.com -all"SPF が確認するのはエンベロープ送信者であり、表示される From ヘッダーだけではありません。そのため、サポート用メールボックスとニュースレターツールは、同じ SPF の枠を共有する必要がありません。
参照過多への対処では、まずこの構成を検討します。影響範囲やメインドメインの負担を減らし、キャンペーンの評判リスクを管理しやすくできます。ただし、サブドメインだけで安定性やレピュテーションの完全な分離が保証されるわけではありません。
ドメインの役割を整理する際は、TrekMail の自分のドメインでメールを作成する方法と複数ドメインのメールホスティングも参考になります。
SPF をフラット化して参照過多を解消すべき?
フラット化では、include の連鎖を直接指定した ip4 と ip6 に置き換え、参照を減らします。静的な IP メカニズムは評価中に DNS を参照しません。ただし保守が必要で、プロバイダーがインフラを変更すると指定が古くなる可能性があります。
フラット化前:
v=spf1 include:spf.example-vendor.com -allフラット化後:
v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.12 -allフラット化を検討できる条件:
- プロバイダーが安定した IP 範囲を公開している。
- レコードを更新する自動化がある。
- 一時的な緊急対応として送信障害を解消する必要がある。
フラット化のリスクが高い条件:
- ベンダーが頻繁に IP を変更する。
- 多くのドメインを手作業で管理している。
- 設定のずれを検知する監視がない。
フラット化は参照過多を解消し得ますが、自動的に適切な長期対策になるわけではありません。保守しなければ、別の障害要因に置き換えるだけです。
SPF の参照過多への従来の方法と新しい方法
従来は DNS の編集を重ね、何も壊れないことを期待する対応がよく見られました。よりよい方針は、依存関係を減らすことです。送信元を絞り、ドメインの役割を整理し、日常のビジネスメールを一つの管理された基盤にまとめます。「高度な SPF 最適化」ほど派手ではなくても、保守しやすくなります。
| 従来の方法 | 新しい方法 |
|---|---|
| メインドメインに外部の include を追加し続ける | メインを簡潔に保ち、一括送信をサブドメインへ移す |
| 業務ごとに別のメール基盤を使う | 日常のビジネスメールを一つの基盤へ集約する |
| 手作業でフラット化し、その後の更新を忘れる | 可能なら管理された送信を使い、フラット化は自動更新できる場合に限る |
| 配送が悪化してから SPF を調査する | ベンダーを変更するたびに参照の負担を監査する |
TrekMail はこのような構成に適する場合があります。一般的な企業や代理店では、一つの SPF include のほうが古いプロバイダーを組み合わせた設定より管理しやすいものの、下位の評価経路も確認してください。紹介されている機能は独自ドメイン、IMAP メールボックス、キャッチオール、転送、移行ツール、API、BYO SMTP または有料プランの SMTP です。Starter は年払いで月額 $3.50 からと説明され、有料プランにはカードが必要な 14 日間の無料試用が案内されています。Nano はカード不要の無料プランとして紹介されています。最新の機能と条件は利用前に確認してください。
複雑な古いホストを維持し続ける代わりに既存のメールを移すなら、TrekMail のIMAP 移行の概要を参照してください。
参照過多が今メールに影響している場合にすべきこと
運用中に障害が出ているなら、まず重要なメールの流れで有効な SPF レコードを復旧します。通常は不要な include を削除し、マーケティング送信を分離して、メインドメインを実際の業務に必要な許可だけに絞ります。
- ドメインの稼働中の送信元をすべて一覧化する。
- 解約したサービスや重複サービスの include を削除する。
- 可能なら一括送信やアプリのメールをサブドメインへ移す。
- 最上位のレコードを短くわかりやすくする。
- 変更ごとに再テストする。確認せずに編集をまとめない。
TrekMail 管理の送信に使う簡潔な最上位レコードの例:
v=spf1 include:spf.trekmail.net -all別の送信元と組み合わせたレコードの例:
v=spf1 include:_spf.google.com include:spf.trekmail.net -all基本的な注意点も忘れないでください。ドメインごとの SPF TXT レコードは一つだけです。別々の SPF レコードを二つ公開すると、別のエラーになります。
整理後も数日間は DMARC と認証結果を確認します。参照過多は、より広い DNS 保守の問題に隠れていることがあります。最初の正常表示だけで調査を終えないでください。
まとめ: SPF の参照過多が再発するリスクを減らす
長期的な対策は、DNS を巧妙にすることではなく、構成を簡潔にすることです。メインドメインを軽く保ち、一括送信にはサブドメインを使い、可能なら送信元を集約します。フラット化は保守できる場合に限り、新しいベンダーを追加するたびに include ツリー全体を監査してください。
これが基本の手順です。送信元の一覧を誰も管理していないと問題が積み重なります。管理者と最新の一覧があれば、対処を整理しやすくなります。
より簡潔な出発点として、TrekMail では DNS 設定の負担を抑えた複数ドメインホスティング、共有ストレージ、組み込みの IMAP 移行、ユーザーごとの課金ではない方式が紹介されています。無料プランを検討するか、最新の有料プランをTrekMail の料金ページで比較できます。関連する整理にはメール転送の設定と不具合修正も役立ちます。
SPF の参照過多は対処できる問題です。ただし、見た目だけの警告ではなく、認証の不具合として扱ってください。