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を入れてください。
WordPress管理画面の左メニューから「お問い合わせ」をクリックして、
お問い合わせメールの編集画面へ進みます。
フォームの本文は一切さわる必要はありませんので、「メール」タブをクリックし、
メッセージ本文の下部に、以下のような記述を追加します。
送信日時:[_date] [_time]
IPアドレス:[_remote_ip]
ユーザーエージェント:[_user_agent]
———————————–
この状態でフォームからお問い合わせメールが送信されると、以下のような感じでメールが飛んできます。
WordPressの管理画面で、IPアドレスをブロックする
受信したメールがスパムなのであれば、IPアドレスも分かっているので、これをWordPressの管理画面で「ブラックリスト」に登録してしまいましょう。
手順は、左メニューの「設定」>「ディスカッション」へ進み、
中段の「コメントブラックリスト」にIPアドレスを入力して、ページ下部の「変更保存」ボタンをクリックします。
で、フォームからメール送信しよう「送信」ボタンをクリックすると、こんな感じでブロックできるわけです。
Contact Form 7のエラーメッセージを変更する
エラーメッセージは「後でまたお試しください」となっていますが、後でまた試されてもいやなのでwww、このメッセージは変更しておきましょう。
管理画面のコンタクトフォームの編集ページで「メッセージ」タブをクリックし、「送信がスパムと見なされた」の部分のメッセージを確認します。
ここを、例えば「メッセージは送信できません。」のようなテキストに変更しておきます。
「保存」ボタンをクリックしたあと、再度メールフォームから送信しようとすると、エラーメッセージの内容が変わりましたね★
なお、このようなエラーメッセージや、送信成功(完了)メッセージのデザインや表示位置を変える方法は、別の関連記事で用意していますので、そちらも合わせて参考にしてもらえればと思います。
・・・
最後まで読んでいただき、ありがとうございました★
コメントを残す