「お問い合わせフォームで、特定のメールアドレスからの受信を拒否できるようにしたい。」

スパムや迷惑メールなど。セキュリティ上の観点からそのようなケースがあると思います。当記事では、プラグイン「Contact Form 7」で作成したお問い合わせフォームで、特定のメールアドレスからの受信を拒否する方法をご紹介いたします。拡張プラグインを使って簡単にカスタマイズ可能です。

プラグイン「Spam Protect forContact Form 7」を使う

「Spam Protect for Contact Form 7」というCF7用の拡張プラグインを使えば、特定のメールアドレスからの受信を簡単に拒否(ブロック)できます。無料ですし、コーディングも必要ありません。

プラグインのイメージ

管理画面から「Spam Protect for Contact Form 7」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/pluginsディレクトリにアップした後、管理画面から有効化してください。

Spam Protect for Contact Form 7

プラグインのインストールにつきましてはこちらで詳しく解説しています。

プラグインでできること

  • 指定したメールアドレスの受信拒否
  • ドメイン、単語、フレーズ等を設定してブロック
  • なぜ拒否されるのかを示すエラーメッセージを表示

様々な条件を設定して受信を拒否できるプラグインで、フォームにエラーメッセージまで表示可能です。ケースバイケースで、「〜だからフォームを送信できません。」等とユーザーにお伝えできるのが便利です。

活用事例

  • スパムメールが届くとき
  • フィッシングメールが届くとき
  • いたずらや誹謗中傷メールが届くとき
  • 管理者からの返信先を指定したいとき

スパムやフィッシングメールなどを含む迷惑メールの対策として使われることが一般的ですが、実は4つ目の「管理者からの返信先を指定したいとき」にも有効なんですよね。

例えば、Appleが提供するメールアドレス(@icloud.com/@me.com/@mac.com)や、3大携帯キャリア(docomo/au/softbank)などが発行する@docomo.ne.jpなどで終わるメールアドレスを拒否できます。

これらのメールアドレスには、サイト管理者からの返信が届きにくいんです。ドメインのセキュリティレベルが高く、画像やURLが含まれるメールがサーバーで弾かれるみたいです。

せっかくお問い合わせをいただいても、管理者からの返信が届かなければ意味がないですよね。

ですから、お問い合わせいただく段階で、セキュリティレベルの高いメールアドレスを拒否するように設定しておくわけです。あらかじめ別のメールアドレスを入力いただけるようになるので、管理者からの返信メールも届くようになります。

プラグインの設定方法

設定方法を解説していきます。お問い合わせフォームプラグイン「Contact Form 7」を有効化している前提でお話ししていきます。

「Spam Protect for Contact Form 7」をインストールして有効化したら、対象の「お問い合わせフォーム」の編集画面を開きます。

プラグインの設定内容

上記箇所の「Antispam Settings」というタブを開いて設定していきましょう。上から順に解説いたします。

メールアドレスを指定してブロック

特定のメールアドレスを指定して受信を拒否したい場合は、最上部の「Put here e-mails that you want to block.」の入力欄に設定します。「,」で区切れば、以下すべての項目で複数指定可能です。

ドメインを指定してブロック

ドメイン(@以降の文字列)を指定して受信を拒否したい場合は、「Put here email domains that you want to block.」の入力欄に設定します。プレースホルダー(入力欄内の例文)もあるので、親切ですね。

単語やフレーズを指定してブロック

指定した単語やフレーズを含むときも受信拒否できます。その場合は、「Put here words or phrases that you want to block.」の入力欄に設定します。不適切な単語や、誹謗中傷、犯罪に関する単語などを指定してブロックできます。こちらも単語単位で「,」で区切れば、複数指定可能です。

エラーメッセージを設定する

「Set your error message.」には、エラーメッセージを設定できます。

例えば、こんなイメージです。

「ご入力いただいたメールアドレスには、弊社からの返信が届きにくい可能性があります。お手数ですが、別のメールアドレスをご入力いただけますと幸いです。」

メールドメインに「@icloud.com/@me.com/@mac.com」を指定して、上記のエラーメッセージを設定すると、ユーザーに別のメールアドレスの入力を促せますね。

エラーログの有効化

最後は、エラーログを保存するかどうかの設定です。「Yes」になっていると有効化されており、ログが保存されるみたいですが、弊社の検証時にはログファイルをダウンロードできませんでした(404エラー)。特に使わない場合は、「No」に設定しておいても問題はありません。

実際にテストしてみた

今回は、Apple発行のドメインを指定して、CF7のお問い合わせフォームから送信テストしてみました。

受信拒否エラーのテスト

受信拒否ドメインに「@icloud.com, @me.com, @mac.com」と指定しているため、メールアドレスの「@mac.com」部分が該当しています。そのため、フォーム内容を送信できず、設定されたエラーメッセージが表示されるわけです。

適切なエラーメッセージを表示させることで、なぜ送信できないのかが明確になりますし、ユーザーも納得がいくと思います。

テストして少しだけ残念だった点

少しだけ残念に思うのは、複数の受信拒否条件を指定できるが、エラーメッセージは一つだけしか登録できない点です。

例えば、今回ように受信拒否ドメインを指定した上で、問い合わせ内容に「NG単語」も指定するとします。

でも、エラーメッセージの入力欄は一箇所でしたよね。そのため、「NG単語が入っています。」というエラーメッセージが次のように全箇所に表示されてしまいます。

前箇所に同じエラーメッセージが出る例

メールアドレスの部分にも「NG単語が入っています。」というエラーメッセージが出ていますので、ユーザーには正しく伝わらないです。

基本的にはドメインやメールアドレスのみを受信拒否に指定しておくのが、無難かもしれないですね。

まとめ

「Contact Form 7」のフォームで、特定のメールアドレスからの受信を拒否する方法を解説いたしました。

プラグイン「Spam Protect for Contact Form 7」を使うと無料かつノーコードで簡単に設定できます。迷惑メールやスパム対策のために作られたプラグインかと思われますが、応用すれば、「管理者からの返信先を指定したいとき」にも使えますね。

WordPressサイトに問い合わせフォームを設置していて、返信先(質問者やお客様)のメールアドレスを指定したい際に活用してみてください。

Contact Form 7のカスタマイズに関する記事