De fout ligt idd aan die regels van het checken van de dns, want wanneer ik die reguliere expressie weg doe heb ik alleen nog de dns-check over.
Wanneer ik echter <!-- e --><a href="mailto:
ddd@dsdfsfsq.sfsdfsf">
ddd@dsdfsfsq.sfsdfsf</a><!-- e --> invoer als e-mailadres beschouwt hij deze wel als geldig e-mailadres :?
De reguliere expressie op zichzelf (dus zonder dns-check) werkt ook uitstekend.
Mijn code ziet er zo uit, wie kan me hiermee helpen??
[code:17xqfhrc]
// explode het e-mail adres op een @
$email_host = explode("@", $email);
// pak alles na de @
$email_host = $email_host['1'];
// zet een var met de (eventuele) DNS van de domein
$email_resolved = gethostbyname($email_host);
// kijk of er een DNS aan zit en of alles voor en na het e-mailadres klopt
if ($email_resolved != $email_host && !ereg("^[_a-zA-Z0-9-]+[.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$", $email)) {
$error .= "Geen geldig e-mailadres ingevuld. <br />";
}
if(!$_POST['bericht']) {
$error .= "Geen bericht ingevuld. <br />";
}
[/code:17xqfhrc]