Contact Form 7経由で海外からの迷惑メールを驚くほどブロックしてくれる方法をご紹介いたします。
はじめに
私は今ワードプレスのプラグインContact Form 7とAkismet Anti-Spamの2つを利用しているのですが、どうしてか最近ロシアからの迷惑メールをたくさん受信してしまいます。
何か対応できないかなと探していたら凄く良い方法があったのでご紹介致します。
注意事項
Contact Form 7のバージョンによって変わるかもしれません。
最近海外(ロシア)からの迷惑メールめっちゃ増えた
これ見てくださいw
海外(特にロシア)からの迷惑メールがめっちゃ増えました。
1日に100件近く受信すると言うAkismetさんが全く役に立ちませんでした。
functionに以下の情報を追加
そこで試した方法ですが、ワードプレスの使用しているテーマのfunctionに以下の情報を追加します。
<?php //メールフォームの textarea にひらがなが無ければ送信できない(contact form7) 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 => 'エラー / この内容は送信できません。'); } return $result; }
今のところ迷惑メールは0になっています。
これでもダメだったら「reCaptcha」を導入するしかなさそうですね
さいごに
この方法が一番手っ取り早いです
チェックボックスを入れたりAkismetを導入したりしてもダメでした。
Googleの「reCaptcha」を導入すると言う方法もありましたが、正直登録しないといけなかったりで面倒だなと感じていました。
そこで、このやり方をする事で一気に海外からの迷惑メールをブロック出来ました。