WordPress個別サポート

Contact Form 7では特別なメールタグを使うと、IPアドレスや送信日時、ページタイトルなどを取得することができます。それを活用して特定の端末(IPアドレス)からのメール送信を禁止する方法を紹介します。

スポンサーリンク

Contact Form 7でIPアドレスを取得するタグ

Contact Form 7では次のようなタグを使ってIPアドレスなどを取得できます。

項目 タグ
IPアドレス [_remote_ip]
ページタイトル [_post_title]
URL(パーマリンク) [_post_url]
送信日 [_date][_time]
送信時刻 [_time]

詳しくは以下のページも参考にしてください。

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

これらのタグを活用して特定のIPアドレスからのメール送信をブロックすることができます。以下、手順を紹介します。

IPアドレスをメール本文に含める

ユーザーから送信されたメールに、送信元のIPアドレスを含めるように設定します。それには、上記のタグをContact Form 7の設定画面(「お問い合わせ」‐「コンタクトフォーム」メニューの編集画面)で編集する「メール」タブの本文に入力します。組み立てるタグの例は次のようになります。

IPアドレス:[_remote_ip]
ページタイトル:[_post_title]
URL:[_post_url]
送信日時:[_date][_time]

ここではIPアドレスのみが必須ですが、参考までに他の項目も含めてみました。

コンタクトフォームの編集画面に入力したイメージは次のようになります。

メールタグを追加したイメージ

言うまでもありませんが、これらのタグは入力項目ではないので、問い合わせフォーム自体には表示されませんが、管理者あてに送信されたメール本文には次のような内容(IPアドレス、ページタイトル、URL、送信日時)が追加されます。

メール本文にIPアドレスなどが入ってくる

特定のIPアドレスからのメール送信をブロック

そのIPアドレスからのメール送信を禁止したい場合は、「設定」‐「ディスカッション」メニューの「コメントブラックリスト」にIPアドレスを入力します。

ブロックしたいIPアドレスを指定する

「変更を保存」ボタンをクリックすると設定完了です。

ブロック対象の端末(IPアドレス)からメールを送信すると、次のようなメッセージが表示されてメールを送信できなくなります。

ブロックしたIPアドレスからメール送信できない

エラーメッセージを変更するには

エラーメッセージを変更するには、コンタクトフォームの編集画面で「メッセージ」タブを開いて「送信がスパムと見なされた」のメッセージを編集します。

エラーメッセージの変更

コンパクトなエラーメッセージにすることもできます。

エラーメッセージの変更イメージ

エラーメッセージを非表示にするには

ブロックしたメールについてエラーメッセージを非表示にするには次のようなCSSを子テーマのstyle.cssなどに入力します。

/* ブロックしたメールのメッセージを非表示に */
div.wpcf7-spam-blocked {
    display: none !important;
}

これにより、メール送信がブロックされた場合は何もメッセージが表示されなくなります。

この記事をSNSで共有する
WordPressでお困りのときはご相談を
この記事を書いた西沢直木が直接、WordPress個別サポートで対応します。
こんなときはご相談を
  • WordPressの使い方(ページやメニューの作り方を教えてほしい)
  • カスタマイズ(機能の追加やデザイン調整をお願いしたい)
  • トラブル対応(画面真っ白・「ログインできない」を解決したい)
マンツーマンなので相談内容は自由です。いただいた課題をその場で解決、CSSやPHPも目の前で修正します。気軽にご相談ください。
wordpress講座受講予約
WordPress講座の問い合わせ先

関連記事

BizVektorのカスタマイズ

WordPressカスタマイズ

WordPressによるサイト作成のヒント

WordPressプラグイン

スポンサーリンク
西沢直木によるWordPress講座の紹介
ホームページ作成講座WordPress個別サポート