WordPress プラグインで設置した問い合わせフォームからメールが届かないときの原因と対処法

目次

問い合わせフォームを設置したのに、送信しても管理者にメールが届かない。あるいは自動返信がお客様に届かない。この不具合で最もよく見られる原因は、WordPressの標準メール送信がスパムと見なされることです。送信方法をSMTP認証に切り替えると、多くのケースで改善します。

当サイト記事 難易度表記について

  • 【難易度:簡単】WordPressの管理画面だけでできる・すぐ試せること
  • 【難易度:普通】少し手間がかかる(念のため、事前にバックアップを取りましょう)
  • 【難易度:やや難しい】FTPや設定ファイルへの操作が必要(これらが分からない場合や、不慣れな場合は実施するかは慎重に検討ください)
  • 【難易度:難しい】専門の知識が必要。場合によっては致命的なトラブルにもなりかねませんので自信がない場合は専門家へご相談を

設定変更中は、一時的にフォームからのメール送信が止まることがあります。本番サイトへの影響が心配な場合は、アクセスが少ない時間帯に行ってください。

まず確認する3つのこと

  1. 迷惑メールフォルダを確認する。届いていても迷惑メールに振り分けられていることがあります。
  2. 送信自体が成功しているか確認する。フォームのテスト送信で「完了画面」まで進むか、エラーが表示されていないかを見ます。
  3. 管理者宛と自動返信のどちらが届かないかを切り分けます。片方だけ届かないなら、その宛先の設定に絞れます。

よくある原因:標準メール送信のスパム判定

WordPressのメール送信は、内部的にサーバーの sendmail(メール転送の仕組み)を経由します。この標準の送り方は、受信側サーバーのスパム判定に引っかかりやすい状態です(出典: WordPress公式・メール設定ガイド)。とくに次の状態では届きにくくなります。

  • 送信元(From)アドレスのドメインと、実際に送るサーバーのドメインが一致していない。
  • From にGmailなどのフリーメールアドレスをそのまま指定している。
  • ドメインのSPF・DKIM・DMARC(送信元を証明するDNSの設定)が未設定または不完全。

2024年以降の注意点: GmailとYahoo!メールは2024年2月に受信ポリシーを厳格化しました。独自ドメインからGmail・Yahoo!メールへ送る場合、SPF・DKIMの設定が事実上必須になっています。フリーメールを宛先にするお客様がいる場合は、後述の認証設定もあわせて行うと安定します。

解決策:フォームから送信されるメールもSMTP認証に切り替える【難易度:普通】

手順の概要

  1. SMTP設定プラグインをインストールする
    SMTP認証に対応したプラグイン(無料プラグイン例: WP Mail SMTP)を管理画面「プラグイン → 新規追加」からインストールして有効化します。
  2. SMTPサーバーの情報を入力する
    ご利用のサーバーで作ったメールアドレス・SMTPホスト名・ポート番号・暗号化方式(SSL/TLS)を設定画面に入力します。これらの値はサーバー会社のマニュアルに記載されています。
    ※普段メールを受信しているソフトの設定と同様の入力項目が必要です。
  3. テストメールを送信する
    設定が完了したら、プラグインのテスト送信機能で実際にメールが届くかを確認してください。

プラグインをインストールしても設定を完了させるまでは、WordPressからのメールが一時的に送れない状態になることがあります。設定と確認はまとめて行ってください。

送信元アドレスを独自ドメインにする

メールフォーム設定で送信元(From)アドレスを設定できる場合は、メール送信者(フォーム入力者)のアドレスではなく自社ドメインのアドレスにしておきましょう。メール送信者のアドレスをFromにしてしまうと、メール送信者のなりすましと判断されスパム処理される場合があります。フォームから受信したメールにメーラーの「返信」ボタンで簡単に返信をしたいという場合は「返信先(Reply-To)」にフォーム送信者のアドレスを設定するのが正しい使い方です。

SPF・DKIM・DMARCの設定【難易度:やや難しい】

これらはDNSに追加する「このサーバーからの送信は正規のもの」という証明の仕組みです。サーバー会社によって設定方法が異なるため、ご利用のサーバーのマニュアルを参照してください。設定を行っておくと、迷惑メール判定のリスクが下がります。

  • SPF: 送信を許可するサーバーをDNSに登録する。
  • DKIM: 送信メールに電子署名を付ける。
  • DMARC: SPFとDKIMの認証結果に基づいた処理方針をDNSに登録する。

フォームプラグイン側の確認【難易度:普通】

SMTP設定後も直らない場合は、フォームプラグイン側の宛先設定を確認します。最新のプラグインは、上記のような設定についてエラーとして表示してくれる場合が多いので、これらを利用し、常に最新にアップデートしておきましょう。

  • Contact Form 7: 「メール」タブの「送信先」と「送信元」アドレスが正しいか確認します。
  • Snow Monkey Forms: 管理者宛メールの「TOメールアドレス」と、自動返信の「送信元」アドレスを確認します。

いずれも、管理者のメールアドレスが正確に入力されているか、一文字ずつ確認してください。

メールフォームはWEBサイトの総合窓口 確実に対応して取りこぼしを防ぎましょう

問い合わせは事業の入口です。管理者宛の通知メールを2つの宛先に送る設定にしておくと、片方が届かなくても気づけます。フォームによってはメールしか記録が残らないため、この保険が効きます。現場でも「2宛先化」と「定期的なテスト送信」を組み合わせておくと、取りこぼしに気づきやすくなります。

現在当記事でご紹介したような状況で、記事を見てもすぐに出来そうもない……という場合は当サービスへご相談ください。内容を確認したうえで、対応方法とお見積りを迅速に回答いたします。数日間メールフォームが停止してクライアントからの連絡を取りこぼしをしてしまうリスクをとるよりも、1日も早い復旧を目指すのが良いのではないでしょうか。

よくある質問

  • 自分のGmailには届くのに、独自ドメインのメールアドレスには届きません。
    • 受信側サーバーの迷惑メール判定が厳しい可能性があります。SMTP認証への切り替えと、SPF・DKIMの設定で改善することが多いです。それでも届かない場合は、受信側サーバーのスパムフィルター設定を確認する必要があります。
  • テスト送信は成功するのに、実際の問い合わせが届きません。
    • 送信は成功していても、受信側でスパム判定されているか、フォームの宛先アドレスに入力ミスがある可能性があります。迷惑メールフォルダと宛先設定をあわせて確認してください。
  • フォームを送信すると「送信できませんでした」のエラーが出ます。
    • SMTP設定の値(ホスト名・ポート・パスワード)に誤りがある場合に出やすいエラーです。サーバーのマニュアルと照合して、値を確認してください。
  • 送信元アドレスを変えたら、お客様の返信が届かなくなりました。
    • 送信元(From)に自社アドレスを設定した場合、返信の宛先もそちらになります。フォームの「返信先(Reply-To)」にお客様のアドレスを設定すると、返信が正しく届きます。設定箇所はフォームプラグインの「メール」タブで確認できます。

※ 本記事は一般的な対処方法の解説です。WordPressやサーバーの構成によって手順や結果は異なります。ファイルやデータベースの操作は、誤るとサイトが表示できなくなることがあるため、作業前に必ずバックアップを取り、ご自身の判断と責任の範囲で行ってください。無理に進めず、専門スタッフや保守契約担当者にご相談ください。ご相談先がない場合は、当サイトへお気軽にご相談ください。

今すぐ相談する(ご相談無料)