You can either use a graphic input form, like a security code, or you can use regex:
if(eregi("(.*)@domain.com", $email)){
echo "get lost";
}
But this is a terrible fix, since they will change the domain. So a graphic input is best. Maybe you don't even need it to be a graphic. Just do this, make a text with a random generated value:
<?php
$random_num = mt_rand();
$rand = md5($random_num);
$string = substr($rand, 0, 7);
echo $string;
// randomly generated value
?><br />Type in the Security code above.
<input type='text' name='security' id='security' /> <br />
<?php echo "<input type='hidden' name='code' id='code' value='$string' />"; ?>
Then in your form handling script type:
if($POST['security'] != $POST['code']) {
echo "Get lost spammer";
exit();
}