Gracias... Pero en esa función la variable dominio seguía conteniendo el @ delante.
Al fin lo he solucionado gracias a o todos y buscando un poco de info
Código PHP:
if(preg_match('/^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/',$mail)){
if(checkdnsrr(array_pop(explode("@",$mail)),"MX")){
mysql_query("INSERT INTO `mitablajeje` (`campo1`,`elotro`) VALUES ('" . $mail . "','" . $fecha . "')");
$lastid=mysql_insert_id();
echo "<div class='infogreen' style='margin-bottom:8px;'>Enhorabuena</div><div class='infoyellow'>Has creado correctamente tu link de engaño.<br /><br />Dáselo a quien quieras, y sabrás su amor secreto<hr /><strong>http://muchadiversion.com/servicios/test/testamor.php?id=" . $lastid . "</strong></div>";
}else{
echo "<div class='infogreen' style='margin-bottom:8px;'>Error</div><div class='infoyellow'>El dominio de su correo electrónico no existe<br /><br /><a href='./'>Regresar</a></div>";
}
}else{
echo "<div class='infogreen' style='margin-bottom:8px;'>Error de estructura</div><div class='infoyellow'> Este correo no es válido | " . htmlentities($mail) . "<br /><br /><a href='./'>Regresar</a></div>";
}
Un saludo!