Checking for live email addresses in PHP
Written by Mike James   
Monday, 23 August 2010
Article Index
Checking for live email addresses in PHP
SMTP
Final Function

 

Banner

Using the function

To make everything fit together the complete function is:

function validateEmail($email){
list($name,$Domain) = split('@',$email);
$result=getmxrr($Domain,$POFFS);
if(!$result){$POFFS[0]=$Domain;}
$timeout=5;
$oldErrorLevel=
error_reporting(!E_WARNING);
$result=false;
foreach($POFFS as $PO )
{
$sock = fsockopen($PO, 25,
$errno, $errstr,  $timeout);
if($sock){
fwrite($sock, "HELO Mydomain.com\n");
$response= getResponse($sock);
fwrite($sock,
"MAIL FROM: <me@mydomain.com>\n");
$response= getResponse($sock);
fwrite($sock,"RCPT TO: <".$email.">\n");
$response= getResponse($sock);
list($code,$msg)=explode(' ',$response);
fwrite($sock,"RSET\n");
$response= getResponse($sock);
fwrite($sock,"quit\n");
fclose($sock);
if ($code == '250') {
$result= true;
break;
}
}
}
error_reporting($oldErrorLevel);
return $result;
}

To use the function you simply write something like:

if( validateEmail("name@domain")){
echo "valid";
}else{
echo "not valid";
}

There is a small possibility that if you use this sort of validation too often at any given site then you might be blacklisted, but as long as the frequency is low enough not to annoy it should be fine.

 

To access the code for this project, once you have registered,  click on CodeBin.

 

If you would like to be informed about new articles on I Programmer you can either follow us on Twitter, on Facebook or you can subscribe to our weekly newsletter.

 

Banner


The Minimum Spanning Tree - Prim's Algorithm In Python

Finding the minimum spanning tree is one of the fundamental algorithms and it is important in computer science and practical programming. We take a look at the theory and the practice and discover how [ ... ]



A Customisable Weather Forecast

Having an accurate weather forecast is critical for many situations, in particular for deciding weather conditions are suitable for to deploy infrastructure inspection drones. This [ ... ]


Other Projects

<ASIN:0470872497>

<ASIN:1593271735>

<ASIN:1590599063>

<ASIN:0596514018>



Last Updated ( Monday, 23 August 2010 )