Scripts

Check email met DNS

Met deze functie is het mogelijk om van een email te controlleren als de host werkelijk een mailserver heeft. 1. De functie haalt de hostname op uit het opgegeven emailadres 2. Haalt via DNS-lookup de mx (mail-exchange) records op. 3. Kijkt of er minstens 1 mx host is met een A of AAAA record. Indien alles doorlopen kan worden betekent dit dat de hostname mogelijks emails kan ontvangen. Deze controle betekent nog niet dat het email werkelijk bestaat bij deze host.

check-email-met-dns
<?php

function check_email_mx($email){
	if(preg_match('#.+@(?<host>.+)#',$email,$match) > 0 and getmxrr($match['host'],$mxhosts)){
		// mx records gevonden
		
		$valid = false;
		
		// mx records overlopen op zoek naar een geldige
		while($host = next($mxhosts) and !$valid){
			// een IPv4 of IPv6 adres volstaat
			$valid = checkdnsrr($host, 'A') or checkdnsrr($host,'AAAA');
		}
		
		return $valid;
	}
	
	// geen geldig mail adres wegens geen 
	// correcte hostname of geen mx records
	return false;
}

?>

Reacties

0
Nog geen reacties.