本文へ移動
TameshiTechLAB GUIDE

WordPressのメールが届かない原因と直し方|SMTP・SPF・DKIM・DMARCまで順番に確認

WordPressメール不達を送信経路ごとに切り分けるイメージ WordPress

先に結論
「フォームが送信できた」と「受信箱へ届いた」は別です。WordPress側の送信処理、SMTP認証、Fromアドレス、DNSのSPF/DKIM/DMARC、受信側の判定を上流から順番に切り分けると、原因を短時間で特定できます。

WordPressで問い合わせフォームを設置したあと、「送信完了と表示されたのに通知が来ない」「Gmailには届くのに別のアドレスには届かない」「パスワード再設定メールだけ迷惑メールへ入る」といった症状が起きることがあります。

ここで最初に避けたいのは、フォームプラグインを何度も入れ替えることです。メールは、フォーム入力→WordPress→送信処理→SMTPまたはサーバー→DNS認証→受信側判定という複数の層を通ります。どこで止まっているかを見ないままプラグインだけ交換すると、原因がDNSや送信元認証だった場合は何も変わりません。

僕は複数のWordPressサイトでZoho MailのSMTP接続、独自ドメインのSPF・DKIM・DMARC、問い合わせフォームの送信テストまで行ってきました。実運用では「設定した」ではなく、実際にフォームを送信し、受信箱に到着し、返信元まで正しいことを確認して初めて完了と考えた方が安全です。

最初に「どこまで成功しているか」を5段階で分ける

段階 確認すること 失敗時に見る場所
1. フォーム処理 送信ボタン後に完了表示まで進むか 必須項目、JavaScript、フォーム設定
2. WordPress送信処理 wp_mail()やメールプラグインがエラーを返していないか WordPressログ、SMTPプラグインの送信ログ
3. SMTP認証 SMTPサーバーへ接続・認証できるか ホスト、ポート、暗号化、ユーザー名、パスワード
4. ドメイン認証 SPF・DKIM・DMARCが送信元と整合しているか DNSのTXT/CNAME、Fromドメイン
5. 受信側 迷惑メール、拒否、隔離がないか Gmail/Outlook等の受信ログ・ヘッダー

WordPress公式のwp_mail()ドキュメントでも、戻り値がtrueだからといって「相手が受信した」ことを意味しないと明記されています。trueは、WordPress側の送信処理がエラーなく受け付けられたことを示すにすぎません。つまり、送信成功表示だけで受信確認を省略しないことが重要です。

症状別に原因候補を絞る

問い合わせフォームだけ届かない

フォーム固有のTo/From設定、Reply-To、送信先の入力ミスを先に確認します。管理者メールやパスワード再設定メールは届くのに問い合わせだけ届かないなら、WordPress全体よりフォーム側の可能性が高くなります。逆に複数種類のWordPressメールがすべて届かないなら、SMTPやサーバー送信の共通経路を疑います。

自分宛てには届くがGmailで迷惑メールになる

この症状では、SPF・DKIM・DMARCとFromの整合性を確認します。Googleはすべての送信者にSPFまたはDKIMを求め、SPF・DKIM・DMARCを常に設定することも推奨しています。大量送信者にはさらに厳しい要件があります。小規模サイトの問い合わせ通知でも、独自ドメインの認証を整える価値があります。

SMTPテスト自体が失敗する

DNS認証より前に、接続情報を確認します。よくあるのは、465/SSLと587/TLSの取り違え、ユーザー名に完全なメールアドレスを入れていない、2段階認証を有効にしているのに通常パスワードを使っている、Fromと認証アカウントが一致していないケースです。

WordPress標準送信だけに依存しない方が切り分けやすい

WordPressはwp_mail()を使ってメールを送りますが、最終的な配送品質はサーバーやメールサービスの構成に依存します。問い合わせや会員通知など「届かないと業務影響が出るメール」なら、認証済みSMTPを使い、送信元を明確にした方が運用しやすくなります。

SMTP化のメリットは「絶対に届く」ことではありません。送信経路と認証主体が明確になり、接続エラー・認証エラー・受信側拒否を分けて調べやすくなることです。メール到達率は受信側の評価も関係するため、SMTPを設定しただけで100%を保証する表現は避けます。

FromアドレスとReply-Toを混同しない

フォーム利用者が入力したGmailアドレスをそのままFromに設定すると、あなたの独自ドメインのサーバーから「gmail.comを名乗るメール」を送る形になり、認証上不自然になります。Fromは自分が管理する独自ドメインの送信アドレスに固定し、利用者へ返信したいアドレスはReply-Toへ入れる設計が安全です。

実務での設定例
From:contact@自分のドメイン / Reply-To:フォーム入力者のメールアドレス。これなら送信主体と返信先を分けられます。

SPF・DKIM・DMARCはここでは「診断項目」として見る

認証 何を確認するか WordPress運用での意味
SPF その送信元サーバー/IPをドメインが許可しているか 使うSMTPサービスをDNSで許可する
DKIM メールが正規の鍵で署名され改ざんされていないか 送信サービスが付ける署名をDNS公開鍵で検証
DMARC SPF/DKIMとFromドメインの整合性、失敗時の扱い なりすまし対策と認証失敗の監視・ポリシー

特にSPFは「サービスごとにTXTを1本ずつ追加」してはいけません。Zohoの公式ガイドでも、SPFレコードを複数作ると無効になるため、複数の送信元を1つのSPFレコードへ統合するよう案内しています。既存のSPFを消して上書きするのではなく、現在の送信元をすべて洗い出してから編集します。

Gmail側の要件も2026年時点で確認する

Googleのメール送信者ガイドラインでは、Gmail宛てのすべての送信者にSPFまたはDKIM、TLSなどの要件が示されています。1日5,000通を超える送信者にはSPF・DKIM・DMARCやワンクリック配信停止など追加要件があります。通常の問い合わせ通知は大量配信とは別ですが、認証済みドメインから送る設計は同じ方向です。

またGoogleは迷惑メール率を低く維持することも求めています。問い合わせフォームの自動返信を大量配信メールと同じアドレス・同じ運用で混ぜるより、用途を分ける方が原因調査もしやすくなります。

Authentication-Resultsで「どの認証が落ちたか」を確認する

「Gmailに届かない」「迷惑メールへ入る」場合は、WordPress側の送信成功表示だけで判断せず、実際に届いたテストメールのヘッダーを確認します。Gmailでは「メッセージのソースを表示」からAuthentication-Resultsを探すと、SPF・DKIM・DMARCの結果を切り分けられます。

表示例 意味 次に見る場所
spf=pass 送信元IPがSPFで許可されている DKIM・DMARCも確認
dkim=pass 署名検証に成功 署名ドメインとFromの整合を確認
dmarc=pass SPFまたはDKIMがFromドメインと整合している 迷惑メール率・本文・送信頻度などへ進む
fail / permerror DNS認証やレコード設計に問題がある可能性 SPF/DKIM/DMARCの実レコードを確認

Googleは未認証メールを5.7.26で拒否する例を公式に案内しています。SPFとDKIMが両方失敗している、SPFの-allに対して送信IPが許可されていない、DMARCポリシーに合格していない、といった場合は「SMTPで送れたからOK」ではありません。

PTR/rDNSは誰が直す?
Gmailは送信元IPのforward/reverse DNSも要件に含めています。ただしZoho Mailなど外部SMTPサービスを使う場合、そのSMTPサーバーのPTRは通常サービス提供者側の管理領域です。WordPress利用者が自分のWebサーバーIPへ無理にPTRを追加するのではなく、「実際にどのSMTP/IPから送られているか」を先に確認してください。

届かない時の10分チェックリスト

  1. フォームの送信先Toにタイプミスがない
  2. 迷惑メール・隔離フォルダを確認した
  3. 別種類のWordPressメールでも再現するか試した
  4. SMTPテストが成功する
  5. SMTPホスト・ポート・SSL/TLSが公式値と一致する
  6. 認証ユーザーとFromアドレスの関係が正しい
  7. SPFが複数レコードになっていない
  8. DKIMが有効である
  9. DMARCを段階的に設定している
  10. Gmailなど実際の外部受信先で到着まで確認した

設定変更後は「送信」だけでなく返信まで試す

僕がフォーム確認で重視しているのは、送信完了画面を見ることではありません。PCとスマホからフォームを送り、Zoho側など実際の受信箱へ届くこと、送信元表示が意図通りであること、Reply-Toから問い合わせ者へ返信できることまで確認します。

DNS変更直後は反映時間もあるため、1回失敗しただけで設定を何度も書き換えると原因が分からなくなります。変更内容と時刻を残し、DNS反映を待ってから再テストします。

やってはいけない対処

  • 原因を調べずフォームプラグインだけ何度も交換する
  • 利用者が入力した外部ドメインをFromにする
  • SPFをサービスごとに複数行追加する
  • DMARCを理解せず最初から強いrejectへする
  • SMTPパスワードを記事・スクリーンショット・共有メモへ残す
  • テスト送信成功だけで本番到達を確認しない

公式情報・参考資料

仕様・ガイドライン確認日:2026年10月1日。設定画面や料金は変更されるため、実作業前にリンク先の最新版も確認してください。

あわせて読みたい

まとめ

WordPressメール不達は、フォーム、WordPress送信処理、SMTP、DNS認証、受信側の5層に分ければ切り分けできます。最短で直したい時ほど、一度に複数設定を変えず、どの層まで成功しているかを順番に確認してください。問い合わせは売上や連絡機会に直結するため、設定後は実際の受信箱と返信までテストして完了です。

コメント

SITE NAVIGATOR151本から、いま必要な記事だけ探す
索引を読み込んでいます…
TameshiTechAI Tool Lab
AI TOOL LAB / TCO + BREAK-EVEN

「便利そう」で契約せず、実際の仕事で元が取れるか試す。

AIの処理時間だけでなく、人が確認・修正する時間、学習・初期設定、利用人数まで含めて2候補を同じ条件で試算します。入力は外部送信しません。

ブラウザ内だけで計算個人情報不要性能ランキングではない公式情報へ直リンク
OFFICIAL SNAPSHOT

主要プランの公式情報を、確認日つきで見る

契約価格を自動決定する機能ではありません。最終支払額・利用上限・データ条件は公式画面で確認してから下の試算へ入力してください。

OpenAI個人向け

ChatGPT Plus

$20/month

月額課金。API利用は別料金。

  • Freeより広いモデル・ツール利用枠
  • Deep Researchなど拡張機能
  • 画像生成・ファイル分析
  • 利用上限は変動する場合あり
公式ページを確認 ↗
OpenAIチーム向け

ChatGPT Business Standard

$20/seat/month annual; $25 monthly

年額課金時$20/月、月額課金時$25/月。

  • ChatGPT・Work・Codex機能
  • SAML SSO・MFA
  • 各種コネクタ
  • ビジネスデータは既定で学習不使用
公式ページを確認 ↗
Anthropic個人向け

Claude Pro

$17/month annual equivalent; $20 monthly

$200年払いで月換算$17、月払い$20。税別表示。

  • Freeより多い利用枠
  • タスクの引き継ぎ・スケジュール
  • Claude Code
  • Projects・Researchなど
公式ページを確認 ↗
Anthropic2〜150人

Claude Team Standard

$20/seat/month annual; $25 monthly

年払い時$20/席/月、月払い時$25/席/月。

  • Teamは2〜150人
  • Proより多い利用枠
  • 中央請求・管理
  • SSO・組織検索
公式ページを確認 ↗
Google日本

Google AI Plus / Pro / Ultra

契約画面で現在価格を確認

日本向け公式ページはプラン構成を確認。価格はアカウント・時期の契約画面で再確認。

  • AI Plus 400GB
  • AI Pro 5TB
  • AI Ultra 20TB〜
  • Gemini・Googleアプリ連携の利用枠はプランで異なる
公式ページを確認 ↗

確認日:2026-10-08。税・為替・キャンペーン・API従量課金・地域差は別途確認してください。

0. 何のために使う?

用途は計算式を変えません。結果のあとに読む記事を絞るために使います。

1. 共通条件
2A. 候補A
2B. 候補B
3. 契約前チェック
SIMULATION

まだ計算していません

現在の作業時間と、AI利用後の「AI作業+人の確認・修正」を分けて入れるのがポイントです。

試算は入力値にもとづく参考値です。TameshiTechが生産性・利益・料金・将来の成果を保証するものではありません。