AI要約
1つのドメインに複数のSPFレコードがあると、SPF認証が失敗します。修正するには、v=spf1で始まるすべてのTXTレコードをDNSで1行にマージします。
複数のSPFレコードがあると、メールが拒否されたり、スパムとして扱われたりする可能性があります。このガイドでは、重複を確認し、正しく結合する方法を説明します。
SPFレコードが複数あるとどうなるか?
1つのドメインに複数の個別のSPFレコードがある場合、メールはSPF認証に失敗し、PermErrorが返されます。
コーネル大学の2025年の調査によると、ドメインの56.5%がSPFレコードを公開していますが、2.9%は重複レコードを含むエラーがあります。

SPFレコードが無効であることに気づいていないかもしれません。2つ以上ある場合、それらはすべて無視されることが多く、メール配信には悪い影響があります。
修正するには、これらの複数のTXTレコードを1行にマージします。正しく結合するには数分しかかかりません。
複数のSPFレコードを修正する方法
まず、無料のオンラインツールでDNSレコードを確認します。
複数のSPFレコードを確認する
まず、MXToolboxという無料ツールを使用して、DNSレコードにSPFレコードが1つ以上あるかスキャンします。
これを行うには、ドメイン名をフィールドに入力し、SPFレコードルックアップボタンをクリックします。

SPFルールが1つ以上設定されている場合、複数のレコードが見つかりましたというメッセージが表示されます。SPFレコードは、上部の赤いバーに表示されます。

ご覧のとおり、2行がv=spf1で始まっているため、エラーが表示されています。受信メールサーバーは、どちらのルールに従えばよいかわからないため、両方を無視します。
SPFレコードの問題を解決するために、ドメインのDNSレコードを編集し、複数のSPF TXTレコードを1つに結合します。
DNSをホストしている会社のコントロールパネルを開く必要があります。ほとんどの場合、DNSレコードは次のいずれかによって保持されます。
- ドメインレジストラ(ドメイン名を購入した会社)
- ホスティングとドメインをパッケージで購入した場合、使用しているWebホスティング会社
- CDNプロバイダー(CDNの使用を選択した場合)。Cloudflareはその一例です。
トランザクションメールプロバイダーのDMARC、SPF、DKIMレコードを作成した際に、すでにDNSを編集している可能性があります。そのプロセスを振り返り、SPFレコードをマージできるようにします。
例1: CloudflareのSPFレコード
各プロバイダーのコントロールパネルは、少しずつ異なります。
まず、Cloudflareを使用して複数のSPFレコードを修正する方法を説明します。開始するには、ログインして編集したいドメインを選択してください。

DNS全体が表示されます。重複を見つけるにはTXTレコードを探してください。

DNSがこのようにならない場合は、適切なレコードを見つける別の方法を試してみましょう。
例2: BluehostのSPFレコード
BluehostはcPanelを使用しているため、同様のホストを使用している場合は、この例は簡単にフォローできるはずです。
まず、ホスティングコントロールパネルにログインします。左側のメニューからDomainsをクリックします。

リストから、編集する必要のあるドメインの横にあるManageドロップダウンをクリックします。

ポップアウトしたメニューから、DNSをクリックします。

次に、TXTレコードが見つかるまで下にスクロールします。このセクションにSPFレコードが表示されます。

ここでも、DNSレコードのレイアウトは異なる場合がありますが、ほとんどのcPanelホストは、異なる色(スキン)で同様のメニューを持っています。ホスティングアカウントが少し異なって見えても、上記のスクリーンショットがそれらを見つけるのに役立つはずです。それでも見つからない場合は、ホストに問い合わせてください。
複数のSPFレコードを1つのTXTレコードに含める方法
次に、正しい構文を使用してすべてのSPFレコードを1つのTXTエントリにマージします。これにより、1つのレコードで複数のIPまたはドメインを使用できるようになり、先ほど見たエラーが解決されます。
この例ではCloudflareを使用しますが、ほとんどのホストやレジストラで手順は似ています。
DNSゾーンを見て、最初のSPFルールを見つけます。Editをクリックします。

既存のルールをデスクトップの空白のテキストドキュメントにコピーして、すぐに再度取得できるようにします。
次に、そのレコードをDNSから削除します。

Bluehostでは、右側にある3つのドットのアイコンを使用してレコードを削除し、Removeをクリックします。

これらの残りの手順では、デモンストレーションを容易にするためにCloudflareに戻ります。
2番目のSPFレコードの横にあるEditをクリックします。

次に、テキストファイルからSPFレコードをこれにマージします。
SPFレコードには3つのセクションがあります。宣言、許可されたIPまたはドメイン、および強制ルールです。したがって、レコードを次のように結合します。
- 宣言:SPFレコードを
v=spf1で開始します(このルールでは再度使用しないでください。先頭に1回だけ出現する必要があります)。 - 許可:各ドメインに
includeルックアップを追加します。例:include:zoho.eu include:mailgun.org - 強制ルール:レコードを1つの
~allステートメントで終了します(ここでも、ルールの末尾にのみ使用し、1回だけ追加してください)。
SPFルールを結合した後、結合されたレコードは次のようになります。
v=spf1 include:zoho.eu include:mailgun.org ~all
SPFレコードを保存してください。

開始時に宣言が1つ、最後に適用ルールが1つだけある限り、必要に応じてさらにドメインを含めることができます。単一行でフォーマットするだけです。例を次に示します。
v=spf1 include:zoho.eu include:spf.brevo.com include:mailgun.org ~all
レコードを拡張し続けることはできますが、いくつかの制限があることに注意してください。
- ステートメントは最大10回のドメインルックアップ(例:
include)を持つことができます。 - レコード内の各DNS文字列は255文字未満である必要があります。レコードがそれより長い場合は、同じTXTレコード内で複数の引用符で囲まれた文字列に分割できます。DNSリゾルバーは自動的にそれらを連結します。
続行する前に、必ず保存してください。
SPFに影響する一括送信者ルール
大量送信者への注意:Gmailアドレスに1日あたり5,000通以上のメッセージを送信している場合、SPFだけでは不十分です。Google、Yahoo、Microsoftはすべて、バルク送信者に対して認証要件を施行しています。いずれかを満たさないと、メールがレート制限されたり、永久に拒否されたりする可能性があります。
- SPFまたはDKIMはFrom:ドメインと一致する必要があります – DMARCアラインメントを満たすには、
From:ヘッダーのドメインがSPFまたはDKIMドメインのいずれかと一致する必要があります。Googleのルールを参照 - TLS経由で送信し、転送メールにはARCを追加 – GmailはSMTP接続にTLSを要求し、ゲートウェイまたはメーリングリストで転送されるものにはARCヘッダーを期待します。公式ガイドライン
- ユーザーから報告されたスパム率を0.10%未満に維持 – Google Postmaster Toolsの「スパム率」グラフを監視します。上限は0.30%です。これを超えると、Gmailの緩和措置の対象から外れます。2025年11月以降、Gmailは一時的に延期するのではなく、550エラーで非準拠のバルクメールを永久に拒否します。
Microsoftは2025年5月以降、同等の要件を施行しています。Outlook、Hotmail、その他のMicrosoftホストアドレスに配信するバルク送信者には、SPF、DKIM、DMARCが必須になりました。
マージしたSPFレコードをテストする
DNSの変更が伝播するには最大48時間かかる場合がありますが、Cloudflareの変更は数分で有効になることがよくあります。
しばらく待ってから、MXToolboxでドメイン名を再度確認してください。
これで、これに似た合格メッセージが表示されるはずです。

これで完了です!ドメインの複数のSPFレコードの問題を正常に修正しました。
それでもエラーが表示される場合は?
それでもtoo many lookupsのようなエラーが表示される場合は、SPFレコードの各ドメインで複数のルックアップが発生している可能性があります。つまり、各ドメインに独自のincludeステートメントがあり、合計数が許可される最大値を超えています。
これにより、SPFレコードをフラット化することで解決できます。
SPFレコードに関するよくある質問
SPFレコードに関する追加の背景情報で締めくくりましょう。
SPFとは何ですか?
SPFはSender Policy Frameworkの略です。完全な仕様は、RFC4408と呼ばれる技術文書で定義されています。
SPFレコードは何をしますか?
SPFは、ドメインのなりすましを防ぐために、送信メールメッセージを検証します。ドメインのなりすましとは、スパマーがフィッシングメールやマルウェアメールを送信する際にあなたになりすますことです。
受信サーバーがあなたからのメールを受信すると、SPFレコードに対して送信者ドメインをチェックします。SPFチェックに失敗した場合、受信サーバーはそれを迷惑メールとしてマークしたり、拒否したりする可能性があります。
ドメインごとにいくつのSPFレコードを設定できますか?
ドメインごとに最大1つのレコードを設定できます。サブドメインには独自のレコードが必要であることに注意してください。
WordPressのメールにSPFは必要ですか?
はい。Google、Yahoo、Microsoftは現在、プラットフォームに配信されるメッセージに対して有効なメール認証(SPF、DKIM、DMARC)を要求しています。Googleは2024年2月からこれを施行し、Yahooがそれに続き、Microsoftは2025年5月に同等のバルク送信者要件を導入しました。2025年11月以降、Gmailは、保留するのではなく、準拠していないメッセージを永続的に拒否します。
デフォルトでは、WordPressは送信メールに認証を追加しません。WP Mail SMTPのようなSMTPプラグインをインストールし、一致するSPFレコードを設定すると、メールはこれらのチェックを通過します。
WP Mail SMTPのすべてのメーラーにSPFは必要ですか?
ほとんどの場合必要ですが、すべてではありません。SPFは、次を使用している場合に必要です。
- SMTP.com
- Brevo
- Mailgun
- Sendgrid
- Google Workspace
- Gmail(独自のカスタムドメインで使用する場合)
- Outlook(独自のカスタムドメインで使用する場合)
- Zoho Mail(独自のカスタムドメインで使用する場合)
WP Mail SMTPでは、SPFは次の場合には必要ありません。
gmail.comまたはgooglemail.comで終わるGmailアドレス(つまり、独自のカスタムドメインに関連付けられていないGoogleのメールアドレス)outlook.comで終わるHotmailまたはMicrosoftのメールアドレスzohomail.comで終わるZoho Mailアドレス。- Postmark、SparkPost、またはSendLayerで設定されたすべての送信者。
必要な場合にSPFを追加しないと、WP Mail SMTPに警告が表示される場合があります。
対応が必要です:Googleで要求されているSPFレコードがドメインに追加されていないようです。このレコードをドメインのDNSに追加する方法の詳細については、GoogleのSPFガイドを確認してください。
SPFレコードがない場合はどうなりますか?
一部のメールプロバイダーはSPFレコードを必要としないため、問題にならない場合があります。たとえば、PostmarkではDKIMの設定のみが必要です。
SPFが必要な場合は、そのドキュメントに記載されています。
SPFが必要で設定していない場合、メールサーバーはDMARCレコードを探して、メールをどうするかを判断します。DMARCだけに頼ると、メールが迷惑メールフォルダに振り分けられる可能性が高いことに注意してください。
複数のSPFレコードが設定されたのはなぜですか?
複数のSPFレコードは、誤って追加されることがよくあります。たとえば、次のような理由で複数存在する可能性があります。
メールの種類ごとに異なるサービスを使用している場合:たとえば、WP Mail SMTPを使用してWordPressメールを送信するためにBrevoを使用し、メールマーケティングリストのメールを処理するためにSMTP.comのような別のプロバイダーを使用する必要がある場合があります。
メーラーサービスを変更しました:メールサービスプロバイダーを変更した場合(例:SMTP.comからBrevoに移行した場合)、新しいSPFレコードを追加する前に、最初のSPFレコードを削除し忘れている可能性があります。
SPFレコードが複数ある場合、WP Mail SMTPのテストメールは引き続き機能しますか?
機能する場合があります。お客様の中には、SPFレコードが複数ある(または全くない)場合でも、WP Mail SMTPでテストメールを受信できたという方もいらっしゃいます。これは次のような理由が考えられます。
- 受信サーバーがバックグラウンドで複数のSPFレコードを自動的に処理するため、問題に気づかない。
- メーラーサービスがそもそもSPFレコードを必要としない。
後で問題を引き起こす可能性があるため、このチャンスに任せるのは避けるのが賢明です。
SPFはサブドメインにも適用されますか?
いいえ。DMARCとは異なり、SPFはすべてのサブドメインに自動的に適用されるわけではありません。サブドメインごとに個別のSPFレコードを作成する必要があります。
「DNSルックアップが多すぎます」とはどういう意味ですか?
追加したincludeステートメントはDNSルックアップと呼ばれます。SPFは、ルール内のすべてのドメインをチェックすることで機能します。10を超えると失敗します。
ルックアップが多すぎますまたは最大ホップ数を超えましたというエラーが表示されることがあります。
- SPFルールに10以上のルックアップを追加する必要がある場合は、サブドメインを追加し、そのサブドメインに新しいSPFルールを作成することで、この制限を回避できます。
- 10以上でない場合、SPFレコード内のすべてのドメインが照会されており、それらのドメイン自体に複数の
includeステートメントがあることが原因である可能性が高いです。その結果、入力したドメインに対してDNSが何度も照会されています。SPFフラット化で解決できます。
さらに、プロバイダーに確認してください。複数のサービスを利用している場合、異なるSPFルールを提供している可能性があります。
-all と ~all の意味は何ですか?
SPFレコードでは、-all(HardFail)は、レコードに記載されていない送信者からのメッセージは受信サーバーによって拒否されるべきであることを意味します。~all(SoftFail)は、一致しないメールは受け入れられますが、疑わしいとフラグが付けられる可能性があることを意味します。ほとんどのプロバイダーは、すべての正当な送信者がすでにSPFレコードに含まれていると確信していない限り、~allを推奨しています。
一部のメールプロバイダーは、?all(中立的な結果を与える)の使用を推奨しています。
異なる強制ルールを持つステートメントを組み合わせる必要がある場合は、メールプロバイダーが別の方法を推奨しない限り、~allを使用しても安全です。
SPFレコードで+allを使用しないことが非常に重要です。これにより、インターネット上の誰でもあなたのドメインを使用してスパムを送信できるようになります。
PTRレコードは必要ですか?
はい、PTRレコードも必要になりますが、自分で作成する必要はほとんどありません。詳細については、PTRレコードのガイドをご覧ください。
SPF PermErrorとはどういう意味ですか?
PermErrorは、メールサービスプロバイダーがドメインのSPFレコードを検証できなかった場合に発生します。これは、SPFレコードのエントリで構文が間違っている場合や、複数のSPFレコードがある場合に発生する可能性があります。
PermErrorを修正するには、構文を確認し、SPFレコードが複数ある場合は結合してください。
TempErrorが表示されることもありますが、これは一時的な問題が発生したことを意味します。Postmaster Toolsの設定に関する記事を参照して、TempErrorがどのようなものかを確認してください。
DKIMレコードをマージする必要がありますか?
いいえ — DKIMレコードは、一部のプロバイダーがDNS内の非常に長いエントリを処理できないため、分割する必要がある場合があります。2つ表示されている場合は、意図的なものである可能性が高いです。詳細については、DKIMレコードの分割方法に関する記事をお読みください。
次に、DMARCレコードを確認する
SPFは、配信可能性を向上させ、スパムを停止させるのに役立つ3つのメール認証方法の1つです。ほとんどのメールサービスプロバイダーは、DKIMおよびDMARCと共にSPFを使用しています。
SPFレコードの設定が完了したら、DMARCレコードの作成方法に関するガイドを確認してください。すぐにコピーして貼り付けることができるDMARCの例が含まれています。
メールの修正準備はできましたか?今日から始めましょう WordPressの最高のSMTPプラグインで。メールを修正する時間がない場合は、追加購入で完全なWhite Glove Setupアシスタンスを利用でき、すべての有料プランで14日間の返金保証が付いています。
この記事がお役に立った場合は、WordPressのヒントやチュートリアルについては、FacebookとTwitterでフォローしてください。
