お問合せフォームからの迷惑メール対策

ホームページ制作

はじめに

最近、WordPressからの迷惑メールが大量に発生しています。
困っている方も多いかなと思います。

迷惑メールの多数(ほぼ全て)が外国からのメールだと思います。
そこで、テキスト内容が日本語のみにしたく検索したところ、希望に合った対策がみつかりました。

対策

【使用モジュール】コンタクトフォーム7

functions.php に以下のプログラムを追加します。

/*-------------------------------------------*/
/*    Contact Form 7 の <textarea> にひらがなが含まれなければエラーにする
/*-------------------------------------------*/
add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2);
add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2);

function wpcf7_validation_textarea_hiragana($result, $tag)
{
    $name = $tag['name'];
    $value = (isset($_POST[$name])) ? (string) $_POST[$name] : '';

    if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) {
        $result['valid'] = false;
        $result['reason'] = array($name => '本文はできるだけ詳しく日本語でご記入ください。Please type your message in Japanese.');
    }

    return $result;
}

実際にお問合せフォームに設置したところ、迷惑メールが減少しました。
もしお困りの方がいましたら、ぜひお試しください。

【今回の参考にさせて頂いたサイト】

フォームに日本語が入力されていることをチェックするのはむずかしい | 魚沼情報サービス
誤判定(?)の対策として表示するメッセージを書き換えました。
Translate »