WordPress
 | 

同一ドメインでメールとWebサイトのサーバーが違う時に、Contact Form 7のお問い合わせメールが管理者に届かない

前提条件等

WordPress製サイトを本番リリースした時に、「Contact Form 7」のお問い合わせメールが管理者側にだけ届かない事象が起きました。(ユーザー側にはちゃんと届く)

管理者側(info@domain.com)には届かず、ユーザー側(フォームで入力したメールアドレス)には届く のようなイメージです。

この時の解決策を備忘録のために残しておきます。

 

本番環境の構成図は以下のように、同一ドメインで、Webとメールのサーバーが別々でした。(サーバー名は例です)

 

メールが届かない時に真っ先に試したのは、プラグインの「WP Mail SMTP」です。

メールアカウント情報などを入力して試してみましたがダメでした。

参考記事:Contact Form 7の設定方法!メールが届かない原因や確認方法を解説!

解決前の状態

丸一日クライアントとも協力しながら調査をしていたら、いつくか分かったことがあります。

(以下、管理者メールアドレスを「info@〜」とします)

  • DNSの切替えなど色々な移管作業を行った際、「メールサーバー」のメールアカウントが「Webサーバー」のメールアカウントにも追加されていた
    → つまり、「Webサーバー」のメールアカウントに、個人のアドレス(d.yamada@domain.com みたいなアドレス)や管理者アドレス(info@〜)などが追加されていた
  • フォームを送信するとWebサーバーの「info@〜」に受信される
  • フォーム経由ではなく、普通に「info@〜」にメールを送信すると、メールサーバーの「info@〜」に受信される

つまり、フォーム経由で「info@domain.com」にメールを送ったら、メールサーバーではなくWebサーバーの「info@〜」に受信されてしまうということです。

解決策

サポートに問い合わせてみました。この時の問い合わせ先は、Webサーバーのサポートです。

すると、回答を頂きあっさり解決しました...。

 

サポートからは、「Webサーバーのメールアカウントを全て削除してください」と言われたので、試しに全て削除してみたところ、フォームを送信したらメールサーバーの「info@〜」にメールが届きました!

 

検証中に「info@〜」のメールアカウントが「Webサーバー」と「メールサーバー」で重複しているからダメなのかなと思い、Webサーバーの「info@〜」を削除したのですが効果はなかったです。

サポート曰く、全てのメールアカウントを削除するのが重要とのことでした。

 

困ったら真っ先にサポートに問い合わせてみるのも一つの手段ですね...。