Contact form7で送信ボタンを押すとグルグルアイコンが回ってAJAXで送信が行われます。
送信がいつまでたっても終わらないケースがあります。
Contact form 7のAJAX送信ではREST APIを使用します。
この記事では、Contact form 7がREST APIを使用することで起きる影響についてまとめてみたいと思います。
意識しなくてもREST APIは基本使えるようになっている
意識して設定したり、プラグインを入れたりしなければ、どのようなサーバーでもREST APIは最初から使えるようになっていると思います。
身に覚えがないのに、送信のグルグルアイコンがわらず、コンソールで以下のようなメッセージが出ていたら、REST APIが禁止されていないか確認しましょう。
contact form Failed to load resource: the server responded with a status of 403 ()
ダッシュボードの海外アクセス禁止でREST APIがOFFになっていると?
サーバー側で誰でもいじれる場所にREST APIを禁止できる設定があります。
それは、Wordrpessの海外アクセス禁止関連の項目です。その中にREST APIの禁止項目があります。
日本のレンタルサーバーの場合は、殆どのサーバーで初期状態で海外からのダッシュボードアクセスを禁止ています。
以下はXserverの例です。

このREST APIの禁止があると、なんと海外からサイト経由でContact form 7を使ってメールが送れません。
これは意外な盲点だと思います。
海外からのお問い合わせを想定している場合は、REST APIを海外にも許可すべし
海外からのお問い合わせをしてもらおうとフォームを設定しても、そもそも海外IPからメールを送信できないことになってしまうのです。
メール送信が出来ないことを確認するには海外IP経由のアクセスが必要なので気が付けません。
2020年の東京オリンピックで海外から観光客が大量に来る予定だったので、お問い合わせフォームなども海外向けに作っていたサイトも多かったかもしれませんが、この盲点にハマっているサイトも結構あったのではないかと予想します。
REST APIを海外からの使用を禁止すると海外スパムを弾く効果がある
REST APIの海外から使用を無条件でOFFにしてよいのか?
というとそうとも言い切れません。
海外IP経由のメール送信がそもそもできないというのはスパム送信ができないということです。
ですので、それ自体はメリットが大きいと思います。
海外からメールを受け取る予定がない場合には、REST APIの使用許可をしないままでよいと思います。
まとめ
REST APIの使用許可は、海外からメールを受け取る可能性があるかどうかで判断すべきです。そのうえで、海外からのスパム対策として、Google reCaptchaなどを併用する形で対処すべきでしょう。