Contact Form 7のメールがGmailの迷惑メールに!WP Mail SMTPとDKIM・DMARCで改善した記録 *広告付き

この記事にはアフィリエイトリンクが含まれる場合があります。

どうも!Kzumaです!

今回は、WordPressのお問い合わせフォーム「Contact Form 7」で発生していた、送信されたメールがGmailの迷惑メールフォルダに入ってしまう問題を改善した記録です。

お問い合わせフォーム自体は正常に動いており、メールもGmailまで届いていました。

ところが、確認してみると受信トレイではなく迷惑メールフォルダに振り分けられていたんですよね。

これでは、せっかくお問い合わせを送ってもらっても、こちらが気づかない可能性があります。

そこで、エックスサーバーのメール設定とWordPressの送信方法を見直し、Gmailでメール認証の状態を調べてみました。

今回の検証では、最初はDMARCがFAILだったものの、最終的にSPF・DKIM・DMARCの3項目すべてでPASSを確認できました。

ただし、メール認証の成功と、Gmailの迷惑メール判定は別問題です。

実際の設定手順に加えて、途中で発生した警告や、テストメールによって迷惑メール判定が違った話も紹介していきます。

今回の作業環境

  • 作業日:2026年11月3日
  • CMS:WordPress
  • テーマ:Xeory Base(親子テーマ構成)
  • レンタルサーバー:エックスサーバー
  • PHP:8.3
  • お問い合わせフォーム:Contact Form 7
  • メール送信:WP Mail SMTP(無料版)
  • メール受信先:Gmail

※PHP 8.3への更新とテーマのエラー修正については別記事で扱っています。

Contact Form 7のメールがGmailの迷惑メールに入る

最初に気づいたのは、お問い合わせフォームからテストメールを送信したときでした。

Contact Form 7の送信処理は正常に完了しており、Gmailにもメールは届いています。

ところが、受信トレイには見当たりません。

迷惑メールフォルダを開いてみると、そこに送信したメールが入っていました。

さらに、Gmailには次の警告も表示されていました。

このメールは、以前迷惑メールと判断されたメールに類似しています。

Screenshot

そういえば、以前にもスパムらしいお問い合わせが届いたことがあります。

その影響で似たようなメールとして判断されているのか?とも考えましたが、正確な原因はわかりません。

ただ、お問い合わせメールが迷惑メールに入る状態を放置するのは、さすがによろしくない。

そこで、まずはメールがどのように送信されているのかを確認することにしました。

Gmailでメール認証結果を確認

最初に確認したのは、Gmailに届いたメールの認証結果です。

Gmailのブラウザ版では、受信したメールを開いて右上のメニューから「原文を表示」を選択すると、メールの詳細な認証情報を確認できます。

そこで調べてみると、次のような結果になっていました。

最初の認証結果

  • SPF:PASS
  • DKIM:表示なし
  • DMARC:FAIL

SPFはPASSなのに、DMARCがFAIL。

そもそも、この3項目は何を確認しているのでしょうか。

最初のContact Form 7設定

原因を調べる前に、当時のContact Form 7の設定も確認しました。

フォームには、氏名・メールアドレス・題名・メッセージ本文を用意しており、特別な構成にはしていません。

メール設定についても、送信元には独自ドメインのアドレスを指定していました。

変更前のメール設定

  • 送信先:管理用Gmailアドレス
  • 送信元:wordpress@kzum254.com
  • 題名:[_site_title] “[your-subject]”
  • 追加ヘッダー:Reply-To: [your-email]

送信元には独自ドメインを使っていたので、最初は特に問題がないと思っていました。

ところが、エックスサーバー側を確認すると、このメールアドレスのアカウント自体をまだ作成していなかったことが判明しました。

WordPressの送信元欄にメールアドレスを書いていることと、そのアドレスでSMTP認証できることは別です。

そこで今回は、実際にメールアカウントを作成してSMTP認証を利用する構成へ変更することにしました。

SPF・DKIM・DMARCとは?

メール認証というと難しく感じますが、今回確認した3項目は簡単にまとめると次のような仕組みです。

SPF(送信元サーバーの認証)

そのメールを送信したサーバーが、対象ドメインからメールを送ってよいサーバーなのかを確認する仕組みです。

DKIM(電子署名による認証)

メールに電子署名を付け、送信元のドメインやメールの改ざんの有無を検証する仕組みです。

DMARC(認証結果と送信元ドメインの確認)

SPFまたはDKIMの認証に加え、メールの差出人に表示されるドメインとの整合性を確認します。認証に失敗したメールをどのように扱うか、受信側に方針を伝えることもできます。

重要なのは、SPFがPASSだからといって、必ずDMARCもPASSになるわけではないという点です。

SPFやDKIMの認証対象ドメインと、メールのFromに指定されたドメインが一致しているかどうかも関係します。

今回の初期状態では、SPFはPASSだったものの、DMARCはFAILになっていました。

なお、DKIMやDMARCの設定だけが最初の迷惑メール判定の原因だったとまでは、この結果だけでは判断できません。

エックスサーバーでメールアカウントを作成

まずは、エックスサーバーのサーバーパネルへログインして、メールアカウント設定を確認しました。

すると、該当ドメインのメールアカウントは0件。

今まで送信元に指定していたアドレスは、エックスサーバー上にアカウントとして存在していなかったわけです。

そこで、新しくメールアカウントを追加しました。

今回作成したメールアカウント

  • ドメイン:kzum254.com
  • アカウント名:wordpress
  • メールアドレス:wordpress@kzum254.com
  • 容量:2,000MB
  • パスワード:新規設定

作成後、メールアカウント一覧にも正しく追加されたことを確認しました。

これで、後ほど導入するSMTPプラグインから、このメールアカウントを使って認証できるようになりました。

注意:メールアカウントのパスワードは、WordPressのログインパスワードとは別のものです。推測されにくいパスワードを設定し、設定画面のスクリーンショットにも写さないようにしましょう。

エックスサーバーでDKIMを設定する

続いて、エックスサーバーの「DKIM設定」を確認しました。

最初に表示された一覧には、次の2つのサブドメインがありました。

  • lab.kzum254.com
  • web.kzum254.com

しかし、今回メールの送信元として使っているメインドメイン「kzum254.com」は一覧にありません。

そこで、メインドメインにもDKIM設定を追加することにしました。

今回利用した管理画面では、以下の手順で設定しています。

  1. エックスサーバーの「DKIM設定」を開く
  2. 「DKIM設定追加」を選択する
  3. 対象ドメインに「kzum254.com」を指定する
  4. 設定を実行する
  5. DKIM設定一覧に追加されたことを確認する


これで、メインドメインのDKIM設定が追加できました。

なお、エックスサーバーの管理画面は更新される場合があります。現在の画面でON・OFFを切り替える形式になっている場合は、公式マニュアルに沿って設定してください。

また、他社のネームサーバーでDNSを管理している場合は、DKIMレコードをDNS側にも追加する必要があることがあります。

参考:エックスサーバー公式|DKIM設定

WP Mail SMTPをインストール・設定する

メールアカウントとDKIMの準備ができたので、今度はWordPress側の送信方法を変更します。

今回導入したのは「WP Mail SMTP by WPForms」です。

WordPressからのメールをSMTPサーバー経由で送信できるようにするプラグインで、今回は無料版を利用しました。

WP Mail SMTPをインストール

WordPress管理画面の「プラグイン」から「新規プラグインを追加」を開きます。

検索欄に「WP Mail SMTP」と入力すると、鳥のアイコンが付いたプラグインが表示されました。

インストールして有効化すると、セットアップウィザードを開始できます。

メール送信方法は「その他のSMTP」を選択

セットアップを進めると、複数のメール送信サービスが表示されます。

今回は外部のメール配信サービスを使用するのではなく、エックスサーバーで作成したメールアカウントを利用するため、「その他のSMTP」を選択しました。

これなら、新しく有料のメール配信サービスを契約する必要はありません。

セットアップ途中では追加機能の案内や、ライセンスキーの入力画面なども表示されます。

今回は無料版の範囲で設定するため、ライセンスキーの入力はスキップしました。

SMTPサーバーの設定内容

続いて、エックスサーバーのメールアカウント情報を使ってSMTPの設定を進めました。

今回使用したSMTP設定

  • メーラー:その他のSMTP
  • SMTPホスト:エックスサーバーのサーバー情報に記載されたホスト名
  • 暗号化:TLS(STARTTLS)
  • SMTPポート:587
  • SMTP認証:有効
  • SMTPユーザー名:wordpress@kzum254.com
  • SMTPパスワード:作成したメールアカウントのパスワード
  • 送信元メールアドレス:wordpress@kzum254.com
  • 送信者名:Kzumaブログ

SMTPホストには、エックスサーバーで割り当てられたメールサーバーのホスト名を使用します。

公式マニュアルでは「sv***.xserver.jp」のような形式が例示されていますが、実際のホスト名は契約サーバーによって異なります。

エックスサーバーのサーバーパネルにある「サーバー情報」などから、自分の環境のホスト名を確認してください。

参考:エックスサーバー公式|メールソフトの設定

送信元メールアドレスにも注意!

WP Mail SMTPには、送信元メールアドレスをほかのプラグインにも適用する「送信元メールアドレスを強制」の設定があります。Contact Form 7などで送信元が食い違う場合は、この項目も確認しておきましょう。

今回は、最終的にGmailへ届いたメールのFromが「wordpress@kzum254.com」になっていることを確認しています。

また、「その他のSMTP」はWordPress側でメールアカウントの認証情報を扱う方式です。WordPressの管理者権限やプラグインの更新管理にも気を配る必要があります。

ひと通り設定を終えたら、テストメールを送信して動作を確認します。

SMTPテストでもDMARCがFAILだった

WP Mail SMTPの設定が終わり、さっそくテストメールを送信してみました。

送信自体はできたものの、プラグイン側の診断画面にはメールの到達性に関する警告が表示されます。

確認できた内容は以下のとおりでした。

  • SPF:Success
  • DMARC:警告あり

さらに、Gmailに届いたメールを「原文を表示」で確認すると、次の結果になっていました。

WP Mail SMTP設定後の認証結果

  • SPF:PASS
  • DKIM:PASS
  • DMARC:FAIL

おっ!DKIMがPASSになってる!

最初は表示されていなかった項目がPASSになったので、ここは明確な改善点です。

ただし、DMARCは相変わらずFAIL。

DKIMがPASSでも、DMARCがPASSになるとは限らないことが、今回の検証でも確認できました。

そこで、次はDMARCの設定そのものを確認していきます。

エックスサーバーでDMARCを設定する

エックスサーバーのサーバーパネルに戻り、「DMARC設定」を開いてみました。

すると、今回使用しているドメインのDMARCポリシーが未設定になっていました。

管理画面には、主に次の3つの選択肢があります。

  • 何もしない:認証に失敗したメールに対して、隔離や拒否を要求しない
  • 迷惑メールとして配送する:認証に失敗したメールを隔離するよう受信側に要求する
  • メールを配送しない:認証に失敗したメールを拒否するよう受信側に要求する

今回は、まず「何もしない」を選択しました。

これはDMARCの「p=none」に対応する監視用のポリシーです。

ここは間違えやすいポイントです。

「何もしない」は、すべてのメールを受信トレイに届ける設定ではありません。DMARC認証に失敗したメールについて、受信側へ隔離や拒否を要求しないという意味です。Gmail独自の迷惑メール判定は別に行われます。

いきなりメールの拒否を要求する設定にすると、正規のメールまで影響を受ける可能性があります。

エックスサーバーの公式マニュアルでも、最初は「何もしない」でDMARCレポートを確認しながら、段階的にポリシーを変更する方法が推奨されています。

レポートを利用する場合は通知先アドレスの設定も必要ですが、DMARCレコードに記載される情報は外部から確認できるため、公開されても問題ないアドレスを使いましょう。

参考:エックスサーバー公式|DMARC設定

DNSレコードの反映を確認して再テスト

DMARCの設定が終わったので、今度はDNSレコードが正しく登録されているのかを確認しました。

使用したのは、Googleが提供する「Google Admin Toolbox Dig」です。

Google Admin Toolbox Dig

このツールでは、ドメインに設定されたDNSレコードを確認できます。

今回は「_dmarc.kzum254.com」のTXTレコードを調べました。

すると、次の内容が表示されました。

名前:_dmarc.kzum254.com
種類:TXT
TTL:1 hour
値:v=DMARC1; p=none;

これで、少なくとも確認したDNSの応答にはDMARCレコードが存在することがわかりました。

ただし、DNSの変更はすべての環境に即座に反映されるわけではありません。

設定直後は古い情報がキャッシュされている場合もあるため、反映まで時間がかかることがあります。

また、ここで一つ注意したいことがあります。

DMARCレコードが存在することと、送信したメールがDMARC認証にPASSすることは別です。

DMARCがPASSするには、SPFまたはDKIMの認証が成功し、その認証に使われたドメインとFromのドメインが整合している必要があります。

そのため、DMARCの設定を追加しただけで、認証失敗が必ず解決するわけではありません。

今回もDNSの登録確認だけでは終わらせず、実際のお問い合わせフォームから新しくメールを送信して検証することにしました。

なお、設定前に受信したメールを確認しても、過去の認証結果は変更されません。

必ず新しくテストメールを送信して確認します。

SPF・DKIM・DMARCがすべてPASSになった!

2026年11月3日22時42分。

Contact Form 7から新しくお問い合わせのテストメールを送信しました。

そのメールをGmailで開き、再び「原文を表示」から認証結果を確認してみると……。

SPF:PASS
DKIM:PASS
DMARC:PASS

よし!全部PASSになった!

最初はSPFしかPASSしていなかった状態から、3項目すべてがPASSになりました。

今回の検証結果を時系列でまとめると、次のようになります。

① 最初の状態

SPF:PASS / DKIM:表示なし / DMARC:FAIL

② DKIM・SMTP設定後

SPF:PASS / DKIM:PASS / DMARC:FAIL

③ DMARC設定後の最終テスト

SPF:PASS / DKIM:PASS / DMARC:PASS

最終テストでは、送信元に独自ドメインの「wordpress@kzum254.com」が使われていることも確認できました。

メールの配送時間も約2秒で、Gmailまで正常に届いています。

今回の作業では、メールアカウントの作成、DKIMの追加、SMTP経由への変更、DMARCポリシーの設定を順番に行いました。

その結果として認証が改善したことは確認できましたが、DMARCがFAILからPASSになった直接の要因を一つだけに絞り込めたわけではありません。

特に、SPF・DKIMのドメイン整合性やDNSレコードの状態は、環境ごとに確認する必要があります。

WP Mail SMTPとContact Form 7で迷惑メール判定が違った話

ところで、今回の作業中にはもう一つ気になる現象がありました。

WP Mail SMTPのテストメールと、Contact Form 7から送信したメールで、Gmailの振り分け先が違ったんですよね。

確認できた結果は以下のとおりです。

WP Mail SMTPから送信したテストメール

Gmailの迷惑メールフォルダに振り分けられた。

Contact Form 7から送信したテストメール

Gmailの受信トレイに届いた。

どちらもWP Mail SMTPを利用して送信されていたにもかかわらず、判定が異なっていました。

最初はSMTPのテストメールも迷惑メールに入っていたので、設定がまだおかしいのかと思いました。

ところが、実際のお問い合わせフォームから送信してみると、こちらは受信トレイに届く。

これには少し驚きました。

Gmailの迷惑メール判定には、送信元の認証状態だけでなく、本文の内容や過去の送信履歴など、さまざまな要素が影響する可能性があります。

ただし、今回の2種類のメールで判定が異なった正確な理由は特定できていません。

認証がPASSでも安心しきらないこと!

SPF・DKIM・DMARCがすべてPASSしていても、Gmailの受信トレイに届くことが保証されるわけではありません。最終的には、実際のContact Form 7から送信して受信先を確認することが重要です。

今回の検証では、途中のContact Form 7テストで受信トレイへの到達を確認できています。

一方、22時42分に送信した最終メールについては、認証3項目のPASSを確認していますが、最終スクリーンショットだけでは受信トレイへの振り分けまで判断できません。

そのため、今後も実際のお問い合わせメールがどこに届くかを確認していくつもりです。

まとめ|メール認証の改善と迷惑メール対策は別問題

今回は、Contact Form 7のお問い合わせメールがGmailの迷惑メールフォルダに振り分けられていた問題を調査し、メールの送信設定と認証状態を見直しました。

今回実施した改善作業

  • Gmailの「原文を表示」で認証結果を調査
  • エックスサーバーでメールアカウントを作成
  • メインドメインのDKIMを設定
  • WP Mail SMTPの無料版を導入
  • エックスサーバーのSMTPサーバーを設定
  • DMARCポリシーを「p=none」に設定
  • DNSレコードの登録状況を確認
  • Contact Form 7で再テスト
  • SPF・DKIM・DMARCの3項目すべてでPASSを確認

今回、一番大きかったのは、「メールが届いているから設定は問題ない」と思い込んでいたことだと思います。

Contact Form 7は正常に動作していても、メール認証に問題が残っていたり、Gmailに迷惑メールとして判定されたりすることがあります。

また、WP Mail SMTPを導入しただけですべて解決するわけでもありません。

送信元アドレスやSMTPサーバー、SPF・DKIM・DMARCなどを確認して、実際の受信結果と照らし合わせることが大切です。

お問い合わせフォームは「送信できる」だけでなく、「管理者が見落とさずに受け取れる」状態まで確認しておきたいところです。

もしContact Form 7のメールが迷惑メールに入って困っているなら、まずはGmailの「原文を表示」でSPF・DKIM・DMARCの認証結果を確認してみてください。

原因を調べる手がかりになるはずです。

今回は以上です!

     

SNSでもご覧ください。

スポンサーリンク