作成:2025年10月5日
こんにちは、ミータです。
WordPressで「Contact Form 7のメールが届かない」「送信できたのに受信できない」と悩んでいませんか?
この記事では、私が実際にXserver環境で遭遇したメール不達トラブルを、発生から完全解決までの全手順として解説します。
WP Mail SMTPの設定方法から、到達率を上げるDMARC設定まで、初心者でも確実に再現できる内容です。
1. トラブル発生の状況
お問い合わせフォームは送信できるのに届かない?
最初に起きたのは、「フォーム送信はできるがメールが届かない」状態でした。
Contact Form 7でテスト送信すると、画面上には
「ありがとうございます。メッセージは送信されました。」
と黄緑色の枠で表示されるのに、
運営者にGmailの受信トレイにはメールが来ない…。
この時点で、
- 送信処理自体は成功
- しかしメールがどこかで「迷子」になっている
という典型的なパターンでした。
2. 原因を切り分けるステップ
Step 1:迷惑メールフォルダの確認
まず、Gmail側で「迷惑メール」フォルダを確認します。
「noreply@ドメイン名」や「WordPress」からのメールが届いていないかをチェック。
結果:迷惑メールにも無し。
→ WordPressからメールは送られていない可能性が高い。
Step 2:PHPメール関数(wp_mail)の限界
WordPressは内部で「PHP mail()関数」を使ってメールを送信します。
しかし、これがXserverやGmailでブロックされるケースが増えています。
送信元が example.com
でない、または認証が弱いと
「不正な送信者」と判定され、到達しません。
3. 解決策:WP Mail SMTPプラグインの導入
WP Mail SMTPとは?
WordPressのメール送信をSMTP(認証付きメール送信)に切り替えるプラグインです。
これにより、「確実に認証されたサーバー経由で送信」できるようになります。
Step 1:プラグインのインストール
- WordPress管理画面 → プラグイン → 新規追加
- 検索欄に「WP Mail SMTP」と入力
- インストール → 有効化
有効化すると、セットアップウィザードが開きます。
Step 2:「その他のSMTP」を選択
ウィザードでは「SendLayer」「Gmail」などの選択肢がありますが、
今回は自分のサーバー(Xserver)のメール機能を使いたいので、
リストの一番下にある 「Other SMTP」 を選びます。
Step 3:SMTP設定の入力(Xserverの場合)
項目 | 設定内容 |
---|---|
メーラー | Other SMTP |
SMTPホスト | sv541422.xserver.jp(※契約サーバー番号に置き換え) |
暗号化 | TLS |
ポート | 587 |
認証 | 有効 |
ユーザー名 | noreply@sicom-blog.com |
パスワード | メールアカウント作成時のパスワード |
送信元メールアドレス | noreply@sicom-blog.com |
送信元アドレスを強制使用 | チェック✅ |
Step 4:テスト送信
- 「WP Mail SMTP → ツール → メールテスト」へ
- Gmailアドレスを入力して送信テスト
- 結果を確認
結果:
「送信に失敗しました」と表示。
4. エラーの原因をさらに追う
「接続を拒否されました」というメッセージ
XserverとWordPressが同じサーバー上にある場合、
自分自身のSMTPサーバーへ「外部接続」しようとして失敗することがあります。
つまり、
“自分の家の中の郵便ポストに、外から投函しようとして拒否された”
ような状態です。
5. 最終解決:localhostを使った内部SMTP接続
設定変更内容
項目 | 設定内容 |
---|---|
SMTPホスト | localhost |
ポート | 587 |
暗号化 | なし(None) |
認証 | 有効 |
ユーザー名 | noreply@sicom-blog.com |
パスワード | (メールアカウントのパスワード) |
結果
テスト送信 → 成功!
運営者のGmail受信トレイにも、即座に「お問い合わせ通知」メールが届きました。
この瞬間、「フォーム送信は成功しているのに届かない」問題が完全に解決しました。
6. 到達率をさらに上げる設定(SPF/DKIM/DMARC)
SMTPで送れるようになっても、迷惑メールに入る可能性があります。
そこで「メール認証三兄弟」と呼ばれる3つの仕組みを整えます。
SPF設定
送信元ドメインが正規サーバーかどうかを証明するもの。
Xserverでは自動で有効になっています。
DKIM設定
メール本文に電子署名を付与する仕組み。
こちらもXserverはデフォルト有効。
DMARC設定(重要)
SPF+DKIMを統合的に評価して「なりすましを防ぐ」仕組みです。
設定方法
- Xserverサーバーパネル → 対象ドメイン → 「DNSレコード設定」
- 「TXTレコードを追加」ボタン
- 以下を入力
ホスト名: _dmarc
種別: TXT
内容: v=DMARC1; p=none; rua=mailto:postmaster@sicom-blog.com
反映まで数時間かかりますが、これでGmailなどから「dmarc=pass」と判定されるようになります。
7. テスト送信の最終チェック
メールヘッダーの確認方法(Gmail)
- 受信メール右上「︙」→「メッセージのソースを表示」
- 以下を確認:
spf=pass dkim=pass dmarc=pass
3つすべて「pass」なら完全にOK。
到達率はほぼ100%になります。
8. よくあるエラーと対処まとめ
症状 | 原因 | 対処法 |
---|---|---|
送信完了と出るのに届かない | PHPメール関数で弾かれている | WP Mail SMTPでSMTP送信に変更 |
エラー「SMTP connect() failed」 | 外部SMTP接続拒否 | ホストを localhost に変更 |
届くが迷惑メールに入る | 認証不足 | SPF/DKIM/DMARC設定を追加 |
特定アドレスに届かない | 受信側がブロック | フリーメールより独自ドメイン推奨 |
9. まとめ:メールが届く=信頼の証
お問い合わせフォームは、サイト訪問者との大事な接点です。
「送信できたけど届かない」は、実は多くの初心者がつまずくポイント。
でも、
- WP Mail SMTP の導入
- localhost設定
- DMARCの追加
この3ステップで確実に解決できます。
最後に
私自身、最初はメールが1通も届かず半日格闘しましたが、
一度仕組みを理解してしまえば簡単です。
このブログでは、同じようにWordPressをゼロから整えていく過程を、
「実録+解説」で順に記録していきます。
次回は、
【初心者向け】WordPress初期設定の完全ガイド|最小限のプラグイン構成で安定運用を始めよう
です。