SPF レコードからサーバーの IP アドレスが分かる理由と、フォームのメールの正しい送り方

IP アドレスが見えるのは SPF の不具合ではなく、そもそもの目的です。

公開日:2026年10月11日

Cloudflare を導入してサイトを守っているのに、メールの設定(SPF レコード)を見るだけで、裏側のサーバーの IP アドレスが分かってしまうことがあります。
2026年10月に弊社が点検した、Cloudflare を導入済みの2つのサイトでは、どちらも SPF レコードからサーバーの IP アドレスが判明し、その IP アドレスへ直接アクセスすると Cloudflare を通らずにサイトが表示されました。
本記事では、なぜそうなるのか、規格の側で直されないのはなぜか、お問い合わせフォームのメールを届けたまま IP アドレスを隠すにはどう送ればよいかを説明いたします。

SPF レコードとは

SPF(Sender Policy Framework)は、「このドメインのメールは、このサーバーから送ってよい」という一覧を DNS に公開する仕組みです。受け取る側のメールサーバーは、届いたメールの送り元がこの一覧に載っているかを確認し、載っていなければ迷惑メールとして扱います。

たとえば次のように書きます。

v=spf1 +a:sv0000.example-server.jp include:_spf.google.com ~all

この例の +a:sv0000.example-server.jp は、「このホスト名の IP アドレスから送ってよい」という意味です。

なぜ IP アドレスが分かるのか

SPF レコードは、誰でも引ける DNS に公開されています。そこに Web サーバーのホスト名が書いてあれば、そのホスト名を引くだけで IP アドレスが返ります。

  1. サイトのドメインの SPF レコードを引く
  2. 書かれている Web サーバーのホスト名を引く
  3. 返った IP アドレスへ、サイトのドメイン名を付けて直接アクセスする

サーバー側で Cloudflare 以外からのアクセスを拒否していなければ、3. で Cloudflare の WAF・ボット対策・アクセス数の制限を通らずにサイトへ届きます。Cloudflare の公式の文書も、IP アドレスが露出する経路としてメールのレコードを挙げています。

規格の側で直されないのはなぜか

SPF の規格は、インターネットの技術の標準を定める IETF(Internet Engineering Task Force)が、2014年4月に RFC 7208 として定めたもので、今も有効です。

SPF は「送ってよいサーバー」を世界へ公開することが目的なので、IP アドレスが見えるのは不具合ではありません。そのため規格を直す動きはなく、業界ではWeb サーバーからメールを送らない構成で解決しています。

なお、メールの本文の先頭に付く記録(Received ヘッダー)にも、送ったサーバーの IP アドレスが残ります。SPF だけを書き換えても、Web サーバーから送り続ける限り、受け取ったメールから IP アドレスが分かります。

SPF から Web サーバーを消すと、フォームのメールが届かなくなる

WordPress のお問い合わせフォーム(Contact Form 7 など)は、多くの場合、Web サーバーから直接メールを送っています。この状態で SPF から Web サーバーを消すと、受け取る側で迷惑メールと判定され、お問い合わせが届かなくなります。

「IP アドレスを隠したいが、お問い合わせは必ず届けたい」という場合は、メールの送り方そのものを変えます。

フォームのメールの正しい送り方

送り方SPF に書くものIP アドレスの露出届きやすさ
Web サーバーから直接送る(初期の状態)Web サーバーのホスト名SPF と Received ヘッダーの両方に出る受信側の判定次第
Google Workspace・Microsoft 365 のアカウントから送るメールサービスの共通の指定だけ出ない高い
メール配信サービス(SendGrid など)から送る配信サービスの指定出ない高い

すでに Google Workspace や Microsoft 365 をお使いであれば、送信用のアカウントを1つ用意し、WordPress のメールをそのアカウントから送る方法が最も手軽です。WordPress には、Google のアカウントと安全に連携してメールを送るプラグイン(WP Mail SMTP など)があり、サーバーにパスワードを置かずに設定できます。

変更の手順

  1. サイトから送られているメール(フォームの通知・自動返信・WordPress の通知)を洗い出す
  2. 送信用のアカウントを用意し、WordPress の送信をそのアカウントへ切り替える
  3. フォームから試しに送り、受信箱に届くことと、メールの記録に Web サーバーの IP アドレスが出ないことを確認する
  4. SPF レコードから Web サーバーのホスト名を消す
  5. 数日、お問い合わせが届いていることを確認する

順番が大切です。4. を先に行うと、切り替えまでの間のお問い合わせが届かなくなります。

SPF を直しても、それだけでは足りない

IP アドレスは、過去の DNS の記録にも残っています。SPF を直したあとも、サーバー側で Cloudflare の IP アドレスからのアクセスだけを受け付ける設定が、いちばんの守りです。詳しくは「サーバーの IP アドレスが分かると、守りを素通りされる」で説明しています。

出典

  • IETF「RFC 7208 Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1」 https://www.rfc-editor.org/rfc/rfc7208(2026年10月11日 確認)
  • Cloudflare「Exposed IP address」 https://developers.cloudflare.com/dns/manage-dns-records/troubleshooting/exposed-ip-address/(2026年10月11日 確認)