Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

WordPressブログにメールフォームを設置すると「スパムメール」が大量に飛んできます。

送信者のIPアドレスが分かれば、迷惑メールとしてブロックできるんですが、こんな時に役立つのがContact Form 7プラグインで用意されている「特別なメールタグ」です。

この「特別なメールタグ」は、フォームに入力した情報とは別に、送信者のIPアドレスやユーザーエージェントなどの情報を取得できるので、今回はIPアドレスを取得してブロックしちゃう流れまでを解説していきたいと思います。

Contact Form 7の特別なメールタグと取得できる情報

まずは、Contact Form 7の「特別なメールタグ」で取得できる情報と、取得するためにどんなタグを使うのかについてを見ていきます。

[_remote_ip]送信者のIPアドレス
[_user_agent]送信者のユーザーエージェント(ブラウザ)情報
[_url]コンタクトフォームが設置されているページのURL
[_date]送信の日付
[_time]送信の時刻
[_invalid_fields]不正な入力のあった入力項目の数

※公式サイトから引用しています。

特別なメールタグ

Contact Form 7の特別なメールタグの使い所

「特別なメールタグ」で取得した送信者のIPアドレスをブラックリストやホワイトリストに入れるなど、上でも少し触れたとおりメールやコメントの振り分けに使うシーンが多いかと思います。

WordPressの管理画面でIPアドレスをブラックリスト登録すれば、そもそもフォームからメール送信できなくなるので、スパムメール対策に一定の効果が見込めるのではないかと思います。

・・・

では、ここからは特別なメールタグをどのように使って、取得したIPをどうあってブロックするのかについて解説していきます。

Contact Form 7で特別なメールタグを設置する方法

Contact Form 7がすでに入っている前提で進めていきますので、プラグインのインストールがまだの方は、以下の関連記事を参考にContact Form 7を入れてください。

STORKテーマのWordPressにContact Form 7をインストールする方法(初心者向け)

2018年12月28日

WordPress管理画面の左メニューから「お問い合わせ」をクリックして、
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

お問い合わせメールの編集画面へ進みます。
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

フォームの本文は一切さわる必要はありませんので、「メール」タブをクリックし、
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

メッセージ本文の下部に、以下のような記述を追加します。

———————————–
送信日時:[_date] [_time]
IPアドレス:[_remote_ip]
ユーザーエージェント:[_user_agent]
———————————–
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

この状態でフォームからお問い合わせメールが送信されると、以下のような感じでメールが飛んできます。
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

WordPressの管理画面で、IPアドレスをブロックする

受信したメールがスパムなのであれば、IPアドレスも分かっているので、これをWordPressの管理画面で「ブラックリスト」に登録してしまいましょう。

手順は、左メニューの「設定」>「ディスカッション」へ進み、
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

中段の「コメントブラックリスト」にIPアドレスを入力して、ページ下部の「変更保存」ボタンをクリックします。
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

で、フォームからメール送信しよう「送信」ボタンをクリックすると、こんな感じでブロックできるわけです。
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

Contact Form 7のエラーメッセージを変更する

エラーメッセージは「後でまたお試しください」となっていますが、後でまた試されてもいやなのでwww、このメッセージは変更しておきましょう。

管理画面のコンタクトフォームの編集ページで「メッセージ」タブをクリックし、「送信がスパムと見なされた」の部分のメッセージを確認します。
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

ここを、例えば「メッセージは送信できません。」のようなテキストに変更しておきます。
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

保存」ボタンをクリックしたあと、再度メールフォームから送信しようとすると、エラーメッセージの内容が変わりましたね★
Contact Form 7で送信者のIPアドレスを取得してWordPress管理画面から送信ブロックする方法

なお、このようなエラーメッセージや、送信成功(完了)メッセージのデザインや表示位置を変える方法は、別の関連記事で用意していますので、そちらも合わせて参考にしてもらえればと思います。

Contact Form 7で送信完了やエラーメッセージのデザインと表示位置を変更する方法

2019年3月18日

・・・

最後まで読んでいただき、ありがとうございました★

関連記事

コメントを残す