お問合せフォームのメールが届かなくなってしまった

お客様より、WordPressのフォームプラグインである「Contact Form 7」を使ったお問合せフォームで、「確認メールが届かない」というお問い合わせを頂きました。ここでは、そのような場合の確認事項や修理・復旧方法について紹介しましょう。

まずは設定を見返そう

「メールが届かない」という現象はさまざまな原因が絡み合うため、原因の究明はなかなか難しいです。とはいえ、実はあれこれ調査をした結果、メールフォームの設定を見返すと、設定が間違えているだけだったり、設定し忘れていることなどが多いため、改めて確認してみましょう。Contact Form 7の場合は、「お問い合わせ→コンタクトフォーム」メニューから、利用しているフォームの設定を開いて「メール」タブをクリックします。

ここで確認したいのは「送信先」と「送信元」のメールアドレスになります。

「送信先」にメールを受け取りたいメールアドレスが正しく入力されているか、半角空白や余計なものなどが入っていないかなどを確認しましょう。また、送信元のメールアドレスにも正しいメールアドレスが入力されているかを確認しておきましょう。ここが正しくない場合、メールサーバーに拒否されることがあります。

サーバーがメールを送信できるかを確認しよう

WordPressが動作しているサーバーは、必ずしもメールが送信できるという訳ではありません。

メールが送信できるような設定がされており、送信が許可されている必要があります。この場合、例えばログイン画面で「パスワードをお忘れの方へ」のリンクから、メールアドレスを入力したときに、パスワード変更のメールが到着するかどうかで確認することができます。

または、この後紹介する「WP Mail SMTP」を利用して確認することができます。

迷惑メールフォルダを確認しよう

続いて、メールは送信されているのに受信する側で迷惑メールに分類されてしまうケースがあります。Gmailなどは強力な迷惑メールフィルターが強く働いたり、利用しているメールサーバーが迷惑メールとして処理してしまうケースがあります。迷惑メールボックスを確認し、確認メールが分類されていないかを確認しましょう。

これ以上の確認は困難

それでもメールが届かない原因が特定できない場合、これ以上の調査はなかなか難しくなります。原因としては次のようなものが考えられます。

  • 送信メールサーバーに異常があり、メールが送信されていない
  • 受信メールサーバーに異常があり、メールが受信できていない
  • 受信メールサーバーが、ユーザーには分からないレベルでメールを拒否している

これらの場合、確認をするにはサーバーの「メールログ」や「アクセスログ」などを確認するなどしなければならず、調査はかなり難しくなってしまいます。

「WP Mail SMTP」でテストをし、SMTP経由に切り替える

WordPress単体でこれ以上の調査や対策は難しいので、「WP Mail SMTP」というプラグインをインストールしましょう。

このプラグインでは、問合せフォームに限らず、メールの送信方法をさまざまなものに切り替えることができるプラグインで、メール送信ができないサーバーや正常に動作しない場合でも、別の手段で送信することができるようになります。基本機能は無償で利用できます。

インストールしたら、左側のメニューに「WP Mail SMTP」メニューが増えるので、これをクリックします。まずは、「メールテスト」タブをクリックしましょう。

ここに、受信できるメールアドレスを入力して「メールを送信」ボタンをクリックしましょう。正しくメールが受信できる場合、今の設定方法でメールは送信できるようになっているため、フォームの設定が間違えている可能性が高くなります。エラーメッセージが表示されたり、メールが受信できない場合は、今の方法ではメールが送信できない可能性が高いため、設定を変えてみると良いでしょう。

改めて左側のメニューから「設定」をクリックします。少し下にスクロールすると、次のような設定項目があります。

標準は「デフォルト」が選ばれていて、この場合は利用しているサーバー自身で送信されます。これでうまく送信できない場合は、その他のメールサーバーを利用して送信します。

メールアドレスがGmailや、Outlookを利用している場合はそれらを利用したり、SendGridやZohoなどのサービスに契約している場合は、それらを利用する事もできます。

そのようなサービスではなく、通常のメールアドレスが利用できる場合は「その他のSMTP」を選んで、メールサーバーを通して送信することができます。

さらに下にスクロールすると、次のような設定項目があります。

この各項目に、サーバー管理者やレンタルサーバーなどから提供されるメールサーバーの情報を入力しましょう。「設定を保存」をクリックし、改めて先の方法でメールの送信テストを行います。

これでメールが正しく送信されるようになったら、改めてお問合せフォームでテストをしてみましょう。これで解決できる可能性があります。

WordPressでお困りのことがあった場合は、H2O spaceにご相談ください