sa_meichan
@sa_meichan

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Contact form7 Multi-Step Forms のフォームから、タグのみ表示された空メール?が届いてしまいます。

解決したいこと

Contact Form 7 でお問い合わせフォームの
確認ページ、完了ページを実装時に
プラグインContact Form 7 Multi-Step Formsを使用しています。

もともとのサイトをリニューアルした形ですが、
リニューアル前のサイトのお問い合わせフォームは機能していなかったようで
今回機能するようになったお問い合わせフォームは
サイトリニューアル後からまだ3日目ほどですが
すでに本物のお問い合わせメールが3件
また、今回質問させていただいているタグがそのまま表示された状態の
空メールが4件ほど届いてしまっています。
(素人目ですが空メールが多く感じます。)

お客様からのメールが受信できていないのか、
それともスパムなのかも、そもそもの判断もすることができず困っています。
スパムである場合はある程度しょうがないと思っているのですが、
なにせ内容がないのでスパムだったとしても意味が分からず
質問させていだたいております。

発生している問題・エラー(実際に来るタグのみ表示された空メール)

題名: "サイトよりお問い合わせ[company]"

会社名:[company]
部署名:[department]
担当者名:[assignee]
電話番号:[your_phone]
返信先:<[your_email]>

お問い合わせ内容:
[content]

該当するソースコード

Contact Form 7 のコードです。

【お問い合わせフォームのコード( Contact Form 7 )】

<div id="Information">
        <h2>お問い合わせ</h2>

        <div class="form-inner">
            <div class="contact-form">
                <div class="input-box">
                    <label class="label-area">会社名</label>
                    <div class="input-area">
                       [text company]
                    </div>
                </div>
                <div class="input-box">
                    <label class="label-area">部署名<span class="indispensable">必須</span></label>
                    <div class="input-area">
                        [text* department]
                    </div>
                </div>
                <div class="input-box">
                    <label class="label-area">担当者名<span class="indispensable">必須</span></label>
                    <div class="input-area">
                        [text* assignee]
                    </div>
                </div>
                <div class="input-box">
                    <label class="label-area">メールアドレス<span class="indispensable">必須</span></label>
                    <div class="input-area">
                       [email* your_email]
                    </div>
                </div>
                <div class="input-box">
                    <label class="label-area">電話番号</label>
                    <div class="input-area">
                        [tel your_phone]
                    </div>
                </div>
                
                <div class="input-box">
                    <label class="label-area">お問い合わせ内容<span class="indispensable">必須</span></label>
                    <div class="input-area">
                        [textarea* content]
                        [honeypot your-zip]
                    </div>
                </div>

                <div class="action-box">
                    [submit class:btn-info "確認画面へ"]
                    [multistep multistep-277 first_step "https://www.XXXXXXX/contact-confirm"]
                </div>
            </div>
        </div>
</div>

【確認画面のコード( Contact Form 7 )】

<div id="Information" class="fadeInTrigger">
    <h2>お問い合わせ内容確認</h2>

    <div class="form-inner">
        <div class="contact-form">
            <div class="input-box">
                <label class="label-area">会社名</label>
                <div class="input-area">
                    [multiform company]
                </div>
            </div>
            <div class="input-box">
                <label class="label-area">部署名<span class="indispensable">必須</span></label>
                <div class="input-area">
                    [multiform department]
                </div>
            </div>
            <div class="input-box">
                <label class="label-area">担当者名<span class="indispensable">必須</span></label>
                <div class="input-area">
                    [multiform assignee]
                </div>
            </div>
            <div class="input-box">
                <label class="label-area">メールアドレス<span class="indispensable">必須</span></label>
                <div class="input-area">
                    [multiform your_email]
                </div>
            </div>
            <div class="input-box">
                <label class="label-area">電話番号</label>
                <div class="input-area">
                    [multiform your_phone]
                </div>
            </div>
            <div class="input-box">
                <label class="label-area">お問い合わせ内容<span class="indispensable">必須</span></label>
                <div class="input-area">
                    [multiform content][honeypot your-zip2]
                </div>
            </div>

            <div class="action-box">
                [previous class:btn-info "戻る"]
                [submit class:btn-info "送信"]
                [multistep multistep-525 last_step send_email "https://www.XXXXXX/contact-thanks"]
            </div>
        </div>
    </div>
</div>

自分で試したこと

ここに問題・エラーに対して試したことを記載してください。
①プラグインFlamingo(メッセージ保存プラグイン)有効化
 WordPressにお問い合わせ内容を保存することで
 空メールが届く前に何か入力されているものが
 確認できるかと思いインストールしましたが
 空メールの場合お問い合わせ内容が書かれるはずの欄には
 以下の画像のように3つの項目だけ表示されています。
image.png
通常は以下の画像のようにお問い合わせ内容が保存され見れるのですが、
空メールが来た場合は先ほどの3項目しか表示されません。
image.png
このプラグインFlamingoもお問い合わせフォームの内容が受け取れなかったら
なにも返さないのですかね…

②プラグインHoneypot for Contact Form 7(スパム対策プラグイン)有効化
 上記コードにもすでにハニーボットのコードがありますが、
 スパムメールだった場合こちらを使用して、
 空メールを防げたらいいなと思いインストールし、
 実装しましたが、空メールが届いてしまいました。

③チェックボタンの実装
 チェックボタンをつけると空メールが届かなくなるという記事を見たので
 現在のコードにはついていませんが、少し前につけて様子を見てみましたが
 空メールは届いてしまいました。
参考サイト:
チェックボックスについて
https://www.will3in.co.jp/frontend-blog/article/empty-mail-fron-mw-wp-form-and-countermeasures/

類似の質問:
解決されていません…
https://teratail.com/questions/297156

困っています。よろしくお願いします。

1

2Answer

リニューアル前のサイトのお問い合わせフォームは機能していなかった

この問合わせフォームがお客様に勝手に利用され、空メールがお客様に着信した?

の様に聞こえますが?

折角wordpressを利用しているなら、動いていない問合わせフォームを修正するのではなく、新規で問合わせフォームを作りましょう。

公式フォーラムはレスポンスと解答の品質は良さそうですよ?

プラグインFlamingoとの相性はどうなのでしょうか?代替プラグインはないのですか?

レビューの評価低くいのもありますね?

新規で問合わせフォームを作成するのにFlamingoは使えそうですが、honeypotは無効でよいのでは?

0Like

Comments

  1. @sa_meichan

    Questioner

    回答ありがとうございます。

    サイトリニューアルの際に新規でお問い合わせフォームを作成しています。

    昔のお問い合わせフォームが設置されている固定ページは
    非表示にして、新しくお問い合わせフォームのページを作り
    Contact Form 7のフォーム機能を挿入しているので
    昔のお問い合わせフォームは使えないようになっているはずですが
    ページを非表示にしただけではダメなのかと邪推してしまっています。
    あとは前のフォームがスパム送りたい放題でその影響で
    空メールが届いているのかなど…。(なさそうですかね?)

    また、お客様にお問い合わせ完了メールは送信していないので
    空メールはお客様には着信されていません。

    Flamingoはフォームに記載された内容を保存するプラグインで
    honeypotはスパム防止のプラグインです。
    なのでフォームを作成することには関係ないかと思っています。
    それらのプラグインを設置する前から空メールが届いている状態です。

    お恥ずかしながら
    公式フォーラムの存在は知らなかったので参加してみようと思います。
    ありがとうございます。

  2. ページを非表示にしただけではダメなのかと邪推してしまっています。

    可能性は高いかも?phpの名前空間::を使わない関数が競合する可能性もあります。
    後は、公式フォーラムの方に相談してください。ご健闘をお祈り致します。

  3. @sa_meichan

    Questioner

    ありがとうございます。引き続き解決に向けて頑張ります!

以前こちらでもContact Form 7 Multi-Step Formsで同じ現象になりました。
すでにそのプラグインは使用をやめてしまっていますので記憶が曖昧なのですが、当時チェックしてどのようなタイミングで起きるのかを検証した覚えがあります。

順序として

  1. フォームを途中のページまで入力
  2. 前のページに戻ったりしたり、などしながらフォームページから離脱する
  3. 別の人がフォームを送信するとなぜか前回の離脱したデータでの送信も空データとして管理者宛へ送信されてしまう。

記憶が曖昧なので少し違うかもしれませんがこのようなことがあったでの使用を停止しました。
もしかしてもう少し違ったシチュエーションだったかもしれませんがこのような感じです。
途中で離脱すると途中の入力の何らかのデータが残ってしまい次の人の送信と同時に送信されるようなニュアンスでした。

またフォーラムに違ったパターンでの同じ現象の記載がありました。

この辺りが参考になればと思います。

こちらでは解決をしなかったので、マルチステップのメールフォームが必要な場合は何らかの普通のフォームを作って、項目をdivなどでグルーピングして非表示にしておき、次ボタンでその項目のdivを表示するという、擬似マルチステップの方法に変更をした次第です。

参考程度になればと思い投稿いたしました。

0Like

Comments

  1. @sa_meichan

    Questioner

    回答ありがとうございます。

    WordPressのフォーラムで同じように質問したところ
    文字数が多いと確認ページに入力内容が反映されず、
    反映されなかったものは送信もできないのではないかというような内容の回答が寄せられました。

    なので一度、文字数制限をかけることで様子見をして
    それでも挙動が不安定だった場合は、
    @soundweaver様が行っているように、
    疑似マルチステップの方式に変更しようと思います。

    なぞにプラグインにこだわっていた私的には目からうろこの情報です。
    最初からその発想にたどり着きたい次第でした…
    ありがとうございました。

Your answer might help someone💌