http://contactform7.com/2015/03/28/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;
}