フクロウ( Fukurou_Japan)です。
今回はwordpressのお話です。
ContactForm7(コンタクトフォーム7)というプラグインでお問い合わせフォームを作られている方は多いかと思いますが、そのプラグインで送信のエラーが出ることがあります。
今回は【海外限定で送信不可】という謎な減少だったのですが、解決しましたのでシェアしておきます。
【wordpress】ContactForm7プラグインで海外からの送信ができない!解決方法は?
一部の地域から送信ができない場合は、wordpressの設定、もしくはレンタルサーバー側の設定を疑うと良いでしょう。
今回は、wordpressではAPI関連やアクセス制限などは全く行っていなかったため、レンタルサーバー側の方を疑い、レンタルサーバーが提示しているやり方に沿って作業することにより解決しました。
いろいろなパターンがあるとは思いますが、一つの解決事例として参考にしていただければと思います。
作業は非常に簡単です。
レンタルサーバーのファイル変更方法!
FTPによるファイル操作が必要になるので、そのあたりがよくわからない方は、どなたかにまかせたほうがよいかもしれません。
レンタルサーバーはxserverを使用している前提で説明しますが、他のサーバーでもほぼ同様のやり方でできると思います。ただし、【.htaccess】ファイルに追加する文言は必ずレンタルサーバーの指示に従ってください。
では説明を始めます。
FTPクライアントやレンタルサーバーに用意されている【.htaccess】というファイルをバックアップする。xserverの場合だと【public_html】の直下にある。
次に【.htaccess】ファイルに一行追加する。ファイルを開いて、一番下の部分に以下を追加してファイルを保存する
SetEnvIf Request_URI ".*" AllowRestApi
海外からきちんとフォーム送信できるかを確認する
海外からの送信を誰かにお願いする事ができない場合は、以前ご紹介したこちらのプラグインで接続する国を偽装してテストするとよい
また、テスト時にはブラウザをシークレットモードにすることも忘れずに。そのほうがより確実なテストができるため
設定は以上です。簡単でしたね!
※参考 xserverの.htaccessファイル設定変更方法
外部サイト:【重要】WordPress「4.7」「4.7.1」における緊急性の高い脆弱性およびセキュリティ対策の実施について
さいごに
今回はファイルに1行追加するだけで終わりましたが、実際にはいろいろなケースが考えられると思います。
とりあえず、今回私が行った方法を試してみていただき、それでも改善されないようでしたら、wordpress側の設定を疑う・・という流れにすると良さそうですね。
以下のサイトも参考になりますので、どうしても解決出来ない方は読んでみてください。
外部サイト:Contact Form 7 でメールを送信できない原因と2つの解決方法
それではまた次回!