質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

1879閲覧

Contact Form 7 で送信エラーとなる。

mokemoke

総合スコア52

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/02/04 02:57

編集2019/02/05 01:05

WordPressで無料テーマ「STINGER PLUS2」をカスタマイズしながらサイトを作っております。

プラグイン「Contact Form 7」で申込みフォームを作成し、入力した内容がメール送信されるところまで動作確認出来たので、
スパム対策として「Google reCAPCHA」を利用出来るよう、サイト上の情報等を参考に設定をしたところ、「reCAPTCHA」自体は
正常に動くところまで確認出来ましたが、今度はメール送信が失敗するようになってしまいました。
サイト上の情報を調べたところ、プラグイン「WP Mail SMTP」を導入する事で解決できるとの情報を見つけ、「WP Mail SMTP」を
導入・有効化し、必要な設定を施して試してみましたが、「WP Mail SMTP」のテストメール送信では正常に送信出来るものの、
「Contact Form 7」の申し込みフォームからは送信に失敗してしまいます。

とりあえず「reCAPTCHA」に関連する設定(「Contact Form 7」のインテグレーション、問い合わせフォームに設置した「reCAPTCHA」、
「header.php」から「reCAPTCHA」を動作させるための1文等を全て削除)すると、送信出来る様になるので、「reCAPTCHA」に関する
設定部分が悪影響しているかと思われます。

「Contact Form 7」、「reCAPTCHA」の組み合わせによるメール送信失敗に関して、何かアドバイスを頂けると助かります。

念のため「reCAPTCHA」に施した「reCAPTCHA」に関する追加文を入れた形でソースをアップ致しますので、何かおかしい部分が
ありましたら、アドバイスをお願い致します。
<head></head>の間に「<script src='https://www.google.com/recaptcha/api.js'></script>」を追加するとの事で
</head>の直前に追加しております。

また、メールのエラーログが存在していないか確認してみようと思い、ローカル環境(XAMPP)のメール送信時のログの格納先や
プラグイン「WP Mail SMTP」の関連フォルダ等を確認してみましたが、エラーログと思われるログ情報が見つかりませんでした。

※情報が少ないとのご指摘をいただきましたので、いくつか追記致します。

 ◎ローカル環境のバージョン
・WordPress:5.0.3-ja
・XAMPP:7.0.33
・Apache:2.4.37
・PHP:7.0.33

 ◎デバッグモード
・デバッグモードを試してみましたが、エラー箇所が上手く表示されませんでした。

 ◎reCAPTCHAのバージョン
・V2にて試しております。
・Contact Form 7のインテグレーションでサイトキーと秘密キーを指定することで
PHPに一文を追加する必要はないとの事で、その様な記述がされているサイトの
情報に従って試してみましたが、reCAPTCHAのチェックボックスが表示されず、
やはり送信すると失敗します。
参考にしたサイトにはフォームの編集画面に「reCAPTCHA」ボタンが表示されると
ありましたが、そもそもボタンガ表示されていないので、設定上の問題が
あるのかもしれません。

  ・V3を試してみた。
とりあえずV3のキーも取得して試してみたところ、こちらに関しては上手く
動作しました。
ただし、ユーザ登録制を前提としていることから、ユーザ登録の部分をWp-Membersの
プラグインを使っており、こちらのプラグインではV3のキーを設定するとキーエラーに
なることから、V3は対応していないかと思われます。

    Contact Form 7とWp-Membersの両方でreCAPTCHAを使うとなると、V2とV3を混在して
利用するしかないかとも思っておりますが、何か良い方法等があれば、アドバイスを
お願いします。

※javacriptのエラーについて確認がありましたので、以下、試した内容とエラー内容を追記します。
・V2で当初質問事項に記載したPHPに「<script src='https://www.google.com/recaptcha/api.js'></script>
を追加し、フォームに「<div class="g-recaptcha" data-sitekey="6LexpYsUAAAAAOsq1baRxIQ2-DuPSUtIYd_    wkkCZ"></div>」を追加した状態。

    ※reCAPTCHAのチェックボックスは表示されるが、以下のエラーが発生している。
・GET https://www.google.com/recaptcha/api.js?render=6LexpYsUAAAAAOsq1baRxIQ2-DuPSUtIYd_
wkkCZ&ver=3.0 net::ERR_ABORTED 400
・GET https://www.google.com/recaptcha/api.js?render=6LexpYsUAAAAAOsq1baRxIQ2-DuPSUtIYd_
wkkCZ&ver=3.0 net::ERR_ABORTED 400
・Uncaught Error: Invalid site key or not loaded in api.js: 6LexpYsUAAAAAOsq1baRxIQ2-
DuPSUtIYd_wkkCZ at Object.I4 [as execute] (recaptcha__ja.js:540)
at execute ((index):1038)
at Yb (recaptcha__ja.js:542)
at UF (recaptcha__ja.js:539)
at recaptcha__ja.js:554
at recaptcha__ja.js:573
I4 @ recaptcha__ja.js:540
execute @ (index):1038
Yb @ recaptcha__ja.js:542
UF @ recaptcha__ja.js:539
(anonymous) @ recaptcha__ja.js:554
(anonymous) @ recaptcha__ja.js:573

  ・V2で当初質問事項に記載したPHPから「<script src='https://www.google.com/recaptcha/api.js'></script>
を削除し、フォームに「<div class="g-recaptcha" data-sitekey="6LexpYsUAAAAAOsq1baRxIQ2-DuPSUtIYd_ wkkCZ"></div>」、またはを「[recaptcha]」を追加した状態。

    ※reCAPTCHAのチェックボックスが表示されず、以下のエラーが発生している。
・GET https://www.google.com/recaptcha/api.js?render=6LexpYsUAAAAAOsq1baRxIQ2-DuPSUtIYd_
wkkCZ&ver=3.0 net::ERR_ABORTED 400
・GET https://www.google.com/recaptcha/api.js?render=6LexpYsUAAAAAOsq1baRxIQ2-DuPSUtIYd_
wkkCZ&ver=3.0 net::ERR_ABORTED 400
・Uncaught ReferrenceError: Grecaptcaha is not defined

PHP

1<!DOCTYPE html> 2<!--[if lt IE 7]> 3<html class="ie6" <?php language_attributes(); ?>> <![endif]--> 4<!--[if IE 7]> 5<html class="i7" <?php language_attributes(); ?>> <![endif]--> 6<!--[if IE 8]> 7<html class="ie" <?php language_attributes(); ?>> <![endif]--> 8<!--[if gt IE 8]><!--> 9<html <?php language_attributes(); ?>> 10 <!--<![endif]--> 11 <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#"> 12 <meta charset="<?php bloginfo( 'charset' ); ?>" > 13 <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"> 14 <meta name="format-detection" content="telephone=no" > 15 16 <?php if ( is_home() && !is_paged() ): ?> 17 <meta name="robots" content="index,follow"> 18 <?php elseif ( is_search() or is_404() ): ?> 19 <meta name="robots" content="noindex,follow"> 20 <?php elseif ( !is_category() && is_archive() ): ?> 21 <meta name="robots" content="noindex,follow"> 22 <?php elseif ( is_paged() ): ?> 23 <meta name="robots" content="noindex,follow"> 24 <?php elseif ( trim($GLOBALS["stdata9"]) !== '' && ($GLOBALS["stdata9"]) == $post->ID ): ?> 25 <meta name="robots" content="noindex,follow"> 26 <?php elseif ( is_category() && trim($GLOBALS["stdata15"]) !== ''): ?> 27 <meta name="robots" content="noindex,follow"> 28 <?php endif; ?> 29 30 <link rel="alternate" type="application/rss+xml" title="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?> RSS Feed" href="<?php bloginfo( 'rss2_url' ); ?>" /> 31 <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" > 32 <!--[if lt IE 9]> 33 <script src="<?php echo esc_url( get_template_directory_uri() ) ; ?>/js/html5shiv.js"></script> 34 <![endif]--> 35 <?php if ( is_singular() ) wp_enqueue_script( "comment-reply" ); ?> 36 <?php wp_head(); ?> 37 <?php get_template_part( 'analyticstracking' ); //アナリティクスコード ?> 38 <?php get_template_part( 'st-ogp' ); //OGP設定 ?> 39 <?php get_template_part( 'st-richjs' ); //効果追加 ?> 40 <?php get_template_part( 'a-header-code' ); //ヘッダーに挿入するコード ?> 41 <script src='https://www.google.com/recaptcha/api.js'></script> /* この1分を追加してます。(「reCAPCHA」関連) */ 42 </head> 43 <body <?php body_class(); ?> > 44 <?php if( (!st_is_mobile()) && (trim($GLOBALS['stdata110']) !== '') && (trim($GLOBALS['stdata111']) !== '') ): //動画用ID ?> 45 <div id="st-player"> 46 <?php endif; ?> 47 <div id="st-ami"> 48 <div id="wrapper" class="<?php st_wrap_class(); ?>"> 49 <div id="wrapper-in"> 50 <header id="<?php st_head_class(); ?>"> 51 <div id="headbox-bg"> 52 <div class="clearfix" id="headbox"> 53 <?php get_template_part( 'st-accordion-menu' ); //アコーディオンメニュー ?> 54 <div id="header-l"> 55 <?php get_template_part( 'st-header-logo' ); //サイト名とディスクリプション ?> 56 </div><!-- /#header-l --> 57 <div id="header-r" class="smanone"> 58 <?php if ( isset($GLOBALS['stdata43']) && $GLOBALS['stdata43'] === 'yes' ) { 59 get_template_part( 'st-footer-link' ); //フッターリンク 60 } ?> 61 <?php get_template_part( 'st-header-widget' ); //電話番号とヘッダー用ウィジェット ?> 62 </div><!-- /#header-r --> 63 </div><!-- /#headbox-bg --> 64 </div><!-- /#headbox clearfix --> 65 <?php get_template_part( 'st-header-image' ); //カスタムヘッダー画像 ?> 66 67 </header> 68 <div id="content-w">

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/02/04 03:57

メールの送信は、Webサーバーが実行していると思いますが、Web サーバーのログには、どのようなメッセージが記録されているでしょうか?
CHERRY

2019/02/04 06:18 編集

情報が少なすぎるので、他の質問も含めて回答がつかないのだと思います。 Webサーバの種類、PHP のバージョン、WordPress のバージョンは、いくつですか? また、各設定はどのようになっていますか? 正しい設定になっていますか? ログが見つからないのであれば、WordPress をデバッグモードを設定して実行してみてください。 http://wpdocs.osdn.jp/WordPress%E3%81%A7%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0 https://wp-ap.net/help/wordpress-debugmode-on/ Contact Form 7 の「reCAPTCHA」であれば、設定画面でサイトキーとシークレットを入力すれば、テンプレートファイルに ` <script src='https://www.google.com/recaptcha/api.js'></script> ` を追加しなくても動作すると思うのですがどのように設定されていますか? reCAPTCHA は、 v2 と v3 で別物ですのでぞれぞれの設定に合わせたキーとシークレットが必要です。 どちらの reCAPTCHA をお使いでしょうか?
CHERRY

2019/02/04 09:36 編集

最初に確認するのを忘れいていましたが、JavaScript のエラー等は、出ていないですか?
guest

回答1

0

ベストアンサー

お使いのプラグインは、

で、reCAPTCHA を使いたいということですよね?

そうであれば、reCAPTCHA v3 のキーとシークレットを用意するだけで、テンプレートファイルを編集する必要はありません。

それぞれのプラグインの設定中に reCAPTCHA v3 の設定(キーとシークレットを設定する画面)がありますので、両方のプラグインで 同じ 「キー」と「シークレット」で設定すれば必要な JavaScript は自動的に追加されるので reCAPTCHA は問題なく動作します。

参考情報
WP-Members ドキュメント

Contact Form 7 ドキュメント

投稿2019/02/05 02:41

編集2019/02/05 05:55
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問