WordPressのプラグインContact Form 7でお問い合わせフォームを作ったものの、メールが届きません。解決方法を教えてください。

こういった疑問に答えます。
今回は、Contact Form 7でお問い合わせフォームを作ったものの、メールが届かなかったときの対処法を解説します。
Contact Form 7といえば、お問い合わせフォームを作るときの定番アイテムですよね。当サイトでも設置方法を解説しています。
» WordPressのお問い合わせフォーム設置方法|Contact Form 7の使い方
だけど、Contact Form 7を導入したものの、メールが届かずにお悩みの方も多いんじゃないでしょうか?
実は私もそのひとりでしたが、3時間の格闘のすえ、やっとメールが届くようになりました。
私が行った解決策とは、メールの送信先を、Gmailではなく、レンタルサーバで作ったメールに変えることでして、本記事ではその内容を紹介します。
Contact Form 7を導入したものの、メールが届かずにお困りの方は参考にしてください。
Contact Form 7でメールが届かなかったときの設定は?
前提をあわせるために、Contact Form 7でメールが届かなかったときの私の設定を紹介します。
最初にやったのは、WordPressで、プラグインのContact Form 7(バージョン:5.5.3)をインストールして、有効にしました。(詳しくは導入手順の記事をご覧ください)
次に、WordPressの左メニューから「お問いあわせ」をクリックし、「コンタクトフォーム1」を設定しました。


設定は、初期設定から何も変えてません。
[メール]のタブをみてみましょう。
[送信先]は、[_site_admin_email]のまま。


この [_site_admin_email]って、何を指すの?
これは、WordPressの[一般設定]の中で、[管理者メールアドレス]に記載されたメールアドレスを指しているんです。


つまり、読者がお問い合わせフォームを使うと、上記の[管理者メールアドレス]に記載されたメールアドレスに送信されるわけです。
私は当初、この[管理者メールアドレス]に Gmailのメールアドレスを設定していました…。
Contact Form 7でメールが届かない原因はGmail!
続いては、Contact Form 7でメールが届かなかった原因を解説します。
結論、Contact Form 7でメールが届かなかったのは、お問い合わせの送信先がGmailのメールアドレスだったから。
なぜGmailだとダメなの?
メールサーバー(Gmail)と、Webサイトを設置しているサーバー(レンタルサーバー)と違うからです。
私が使ってるレンタルサーバーはmixhost。
このレンタルサーバーとメールサーバー(Gmail)が違うから、メールが届かないというわけです。
Gmailを使うとだめな理由
Contact Form 7を使ってメールを送信すると、まずブログを設置しているサーバー(レンタルサーバー)に送られます。
このとき、Gmailを使ってしまうと、レンタルサーバー側でブロックされちゃいます。Gmailとこのレンタルサーバーの間には何の関係性もないからです。


「それなら、Contact Form 7がメールサーバー(Gmail)に直接メールを送ってくれればいいのに、、」
とグチりたくなりますが、それがContact Form 7の仕様ですから仕方ありません。
以上が、メールが届かなかった理由です。
あなたが設定している送信先を確認しよう
お問い合わせの送信先(=管理者メールアドレス)はどうなっていますか?
もしも送信先が、お使いのレンタルサーバーとなんら関係ないメールアドレスであれば、原因はまさにそれ!
対処法:Contact Form 7で設定するメール送信先を変更
続いては、Contact Form 7でメールが届かなかったときに、私が行った対処法を解説します。
対処法の手順は以下の3ステップ。
- 手順①:レンタルサーバでメールアドレスを作る
- 手順②:レンタルサーバで作ったメールアドレスを、Contact Form 7の送信先に設定する
- 手順③:レンタルサーバに届いたお問い合わせメールを、Gmailで受信できるようにする
順に見ていきましょう。
手順①:レンタルサーバでメールアドレスを作る
まず、レンタルサーバーでメールアカウントを作ります。
私が使ってるレンタルサーバーはmixhost。
このmixhostでメールアカウントを作る方は、以下の記事をご覧ください。


上記の中で、「エックスサーバー」でメールアカウントを作る方法も紹介してますので、参考にしてください。
それ以外のレンタルサーバーをお使いの方も、上記の記事を見れば、全体の流れをつかめるでしょう。
手順②:レンタルサーバで作ったメールアドレスを、Contact Form 7の送信先に設定する
お使いのレンタルサーバーでメールアカウントを作ったら、お問い合わせの送信先に設定します。
設定方法は以下の2つあるのでお好きな方でどうぞ。
- 方法①:WordPressの一般設定で設定する
- 方法②:Contact Form 7で設定する
設定方法①:WordPressの一般設定で設定する
設定方法の1つめは、WordPressの一般設定で送信先を設定すること。
前提としては、Contact Form 7の[メール]タブに設定された[送信先]が、[_site_admin_email]
になっていることです。


WordPressの左メニューから[設定] > [一般]を開いてください。
[管理者メールアドレス]の欄に、レンタルサーバーで作ったメールアドレスを入力します。


これでOK。
設定方法②:Contact Form 7で設定する
設定方法の2つめは、Contact Form 7で送信先を設定すること。
Contact Form 7の[メール]タブを開き、[送信先]の欄に、レンタルサーバーで作ったメールアドレスを入力します。


これでOK。
上記いずれかの設定をすれば、お問い合わせフォームからのメールが、レンタルサーバーのメールアカウントに届くはずです(^^)/


Contact Form 7からmixhostにメールが届いた様子
では実際に、私が使ってるレンタルサーバーのmixhost
まずmixhostのControl Panelから「電子メールアカウント」のメニューに入ります。
次に、mixhostで作ったメールアドレスの右端にある[Check Email]をクリックします。


すると、以下のように、Contact Form 7からメールが届きます。


手順③:レンタルサーバに届いたお問い合わせメールを、Gmailで受信できるようにする
さきほどの手順②まで行えば、メールは届くようになります。
ただし、メールの送信先はお使いのレンタルサーバーゆえに、Gmailと、レンタルサーバーのメールボックスの両方を確認しないといけません。



これって面倒ですよね?
よって手順③では、お問い合わフォームからレンタルサーバーに届いたメールを、Gmailに転送するようにします。
そうすれば、お問い合わフォームからのメールもGmailで受信できて楽チンですから。


具体的な手順は、先ほどと同じく以下の記事で解説してますので、そちらをご覧ください。


Contact Form 7からのメールをGmailで受信した様子
それがこちら▼


以上、Contact Form 7でメールが届かないときの対処法でした。
参考:WP Mail SMTP by WPFormsを使わなかった理由
なお、今回の問題への対処法として、「WP Mail SMTP by WPFormsというプラグインを使うといいよ」という記事をよくみかけます。
たしかにそれも対処法の1つでしょう。
でも、私はあえてその対処法は選びませんでした。なぜなら、WordPressのプラグイン数を増やしたくなかったから。
WordPressのプラグイン数を増やすと以下のような懸念が生じます。
- ブログの表示速度が遅くなる
- 機能が干渉してエラーになる
- ハッキングのリスクが増える
よって、WordPressのプラグインは必要最小限にとどめたほうがよいわけです。
お問い合わせフォーム用にプラグイン2つは冗長
お問い合わせフォームをつくるために、
- Contact Form 7
- WP Mail SMTP by WPForms(メール受信用)
という2つのプラグインを導入するのって、イマイチかなと・・。
以上の理由から、私は上記のプラグインは使わずに、今回紹介した対処法を行ったわけです。
まとめ:Contact Form 7でメールが届かないときは、レンタルサーバーでメールを作るべし
今回は、Contact Form 7でお問い合わせフォームを作ったものの、メールが届かなかったときの対処法を解説しました。
結論は、Contact Form 7で設定するメールの送信先を、お使いのレンタルサーバーで作ったメールアドレスにするってこと。
さらに、レンタルサーバーに届いたメールをGmailに転送すれば、全てのメールをGmailで受信できて便利です。
ぜひ試してみてください。
参考
Contact Form 7以外のおすすめプラグインは以下の記事を参考にどうぞ。

