サポート » プラグイン » Contact Form 7 のメールアドレス入力欄でフリーメールを拒否設定したいです

  • Contact Form 7 プラグインで作成したメールフォームについて質問です。
    顧客がフォームから送信する際にメールアドレスを入力する欄を設けていますが、イタズラ送信等防止のためにフリーメールアドレス等特定のドメインを入力された場合に拒否することは可能でしょうか?

    方法をご存じの方がいましたら、ご教授よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Takayuki Miyoshi

    (@takayukister)

    Custom Validation

    こちらでカスタムフィルターを作る方法を説明しているので参考になれば。それでイタズラ防止の役に立つかわかりませんけど。

    下記のような感じかなーとか思いますねー

    add_filter('wpcf7_validate_email', 'wpcf7_validate_email_reject_freemail', 11, 2);
    add_filter('wpcf7_validate_email*', 'wpcf7_validate_email_reject_freemail', 11, 2);
     
    function wpcf7_validate_email_reject_freemail($result,$tag){
      $tag = new WPCF7_FormTag( $tag );
    
      $freemails = array(
         'gmail.com',
         'yahoo.co.jp',
      );
      $email = isset ($_POST[$tag->name]) ? trim($_POST[$tag->name]) : '';
    
      if(!empty($email)){
        foreach($freemails as $freemail){
          if(preg_match("/@" . preg_quote($freemail) . "$/ui",$email)){
            $result->invalidate ($tag, 'フリーメールはご利用頂けません'); 
            break;
          }
        }
      }  
     
     return $result;
    }
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Contact Form 7 のメールアドレス入力欄でフリーメールを拒否設定したいです」には新たに返信することはできません。