WordPressプラグイン「Contact Form 7」で送信できない時の対処法を図解で紹介!

2019年4月23日WordPressGmail, reCAPTCHA, WordPress, エックスサーバー, メール, メールフォーム, ワードプレス, 問い合わせフォーム

WordPressプラグイン「Contact Form 7」を設置し、テスト送信したら、送信エラーが発生しました。今回は私が試した方法をすべて紹介し、エラーの原因と解決した方法を紹介します。サーバ側の設定についてはエックスサーバーの場合の紹介です。

私の場合のContact Form 7で送信できない原因は「reCAPTCHA」でした

「reCAPTCHA」がv2のままになっていたのが原因でした。v3に変更したら送信できるようになりました。

CAPTCHAの再生成

  1. WordPressのダッシュボードの①「お問い合わせ」をクリックします。
  2. ②「インテグレーション」をクリックします。
  3. ③「キーの削除」をクリックします。
  4. ④「CAPTCHA」の下のURLをクリックします。

Admin Console」をクリックします。

「+」(作成)をクリックします。

  1. ①「ラベル」を入力します。わかりやすいラベルがベター。日本語で大丈夫です。
  2. ② 「reCAPTCHAタイプ」を「reCAPTCHA v3」にします。
  3. ③「ドメイン」を入力します。
  4. ④「reCAPTCHA利用規約に同意する」にチェックを入れます。
  5. ⑤「アラートをオーナーに送信する」はそのままでOKです。
  6. ⑥「送信」をクリックします。

サイトキーとシークレットキーが作成されました。

先ほどのWordPressのダッシュボードの「お問い合わせ」に戻り、インテグレーションをクリックし、サイトキーとシークレットキーを入力して、設定します。(画面は既にキーを入力した状態です。)

以上で設定は完了です。これで正常に動作しなかったら、以下の方法を試してみてください。

Contact Form 7で送信できない時の対処法:「Contact Form 7 Controls」のインストール

プラグインの取得

WordPressのダッシュボードの「プラグイン」>「新規追加」をクリックします。

「Contact Form 7 Controls」と検索し、「Contact Form 7 Controls」をインストールし、有効化します。(画像は既に有効化されています。)

Contact Form 7のカスタマイズ設定

WordPressのダッシュボードの「お問い合わせ」>コンタクトフォームで該当のコンタクトフォームをクリックします。

「Customize」タブが追加されているので、「Customize」タブをクリックします。

「Disable AJAX for this form」にチェックを入れ、画面下の「保存」をクリックします 。

Contact Form 7で送信できない時の対処法:「WP Mail SMTP」のインストール

プラグインの追加

WordPressのダッシュボードの「プラグイン」>「新規追加」をクリックします。

設定

「WP Mail SMTP」と検索し、「WP Mail SMTP by WPForms」をインストールし、有効化します。(画像は既に有効化されています。)

WordPressのダッシュボードの「設定」>「WP Mail SMTP」をクリックします。

送信元アドレスにコンタクトフォームで使うアドレスを記載します。
送信者名に送信者の名前を記載します。

メーラーは「Other SMTP」を選択します。
返信先は「送信元アドレスを返信先 (return-path) として設定」にチェックを入れます。
SMTPホストはホスト名を指定します。エックスサーバーの場合は、サーバ接続用ホストと同じです。

暗号化はSSLを選択します。
SMTPポートは465を指定します。
Auto TLSはONにします。
認証はONにします。

SMTP Usernameはユーザ名を指定します。送信元アドレスと同じになります。
SMTP Passwordはメールのパスワードを書きます。
設定が完了したら「Save Settings」をクリックします。

最後に[marker]「wp-config.php」[/marker]に以下の記述を追加します。

define( 'WPMS_ON', true );
define( 'WPMS_SMTP_PASS', 'your_password' );

your_passwordに、SMTP Passwordを書きます。

Contact Form 7で送信できない時の対処法: レンタルサーバで独自ドメインのメールアドレスを取得して、 Contact Form 7に設定

エックスサーバーで独自ドメインのメールアドレスを取得&転送設定

エックスサーバーのサーバーパネルへログインします。

「メール」の「メールアカウント設定」をクリックします。

メールアドレスを作成したいドメイン名の「選択する」をクリックします。

「メールアカウント追加」タブをクリックし、必要事項を入力します。

  • メールアカウント
  • パスワード
  • メーラーの容量
  • 管理用のこのメールアドレスの内容を書いたコメント

内容を確認して、「追加する」をクリックします。

メールソフト設定タブをクリックし、メールソフトの設定に必要な内容を確認し、メモしておきます。

エックスサーバーでの独自ドメインのメールの転送設定

「メールアカウント一覧」の「転送」をクリックします。

転送先アドレスを入力し、「追加する」をクリックします。

独自ドメインのメールアドレスをGmailでメールの送受信する設定

Gmailを開き、右上の歯車アイコン(設定)をクリックし、表示されるメニューの「設定」をクリックします。

「アカウントとインポート」タブをクリックし、他のアカウントでメールを確認:「メールアカウントを追加する」をクリックします。

追加するメールアドレスとして、先程作成した独自ドメインのメールアドレスを入力して、「次へ」をクリックします。

「他のアカウントからメールを読み込む(POP3)」を選択し、「次へ」をクリックします。

先ほどメモしておいた、ユーザー名、パスワードPOPサーバーを入力します。ポートは995を設定します。チェック項目は「メールの取得にセキュリティで保護された接続(SSL)を使用する。」にチェックを入れます。後の項目は任意で。「アカウントを追加」をクリックします。

「はい。xx@xxx.xxとしてメールを送信できるようにします。」を選択して、「次へ」をクリックします。

名前(メールアドレスの表示名)を入力し、「次のステップ」をクリックします。

SMTPサーバーに、先ほどメモしたSMTPサーバーを記述します。ポートは「465」を指定します。ユーザー名とパスワードは、メールアドレスとそのパスワードを入浴します。「SSLを使用したセキュリティで保護された接続」を選択します。「アカウントを追加」をクリックします。

設定したメールアドレスに確認コードが送られてくるので、確認コードをコピー&ペーストして、「確認」をクリックします。

これでGmailでのメールの送受信設定は完了です。

メールの取りこぼし対策もしよう!

メールの取りこぼし対策として、フォームの近くに「別の連絡窓口」を掲載しておくことが有効です。メールアドレスの情報などを書いておくと良いと思います。

参考サイト