traži:  
 php.com.hr > Source > Provjera emaila (adv.)

Provjera emaila (adv.)
 


Naprednija provjera emaila koristeći getmxrr.

<?
function mail_valid ($email) {
    global 
$HTTP_HOST$WINDIR;

    if (
$WINDIR != "")
        return 
true;
    
$host str_replace ("www."""$HTTP_HOST);

    list (
$username$domain) = split ('@'$email);

    if (@
getmxrr ($domain$MXHost))  {
        
$address $MXHost[0];
    } else {
        
$address $domain;
    }

    
$socket = @fsockopen ($address25$errno$errstr8);
    if (!
$socket) {
        return 
"Can not connect E-Mail server";
    }

    if (!
ereg ("^220"$out fgets ($socket1024))) {
        return 
"No response from server [".trim($out)."]";
    }

    
fputs ($socket"HELO $HTTP_HOST\r\n");
    do {
        
$out fgets ($socket1024);
    } while (
ereg ("^220"$out));
    if (!
ereg ("^250"$out)) {
        return 
"Server rejected host 
[HELO $HTTP_HOST -> "
.trim($out)."]";
    }

    
fputs ($socket"MAIL FROM: <helpdesk@{$host}>\r\n");
    if (!
ereg ("^250"$out fgets ($socket1024))) {
        return 
"Server rejected sender [MAIL FROM: <helpdesk@{$host}> -> ".trim($out)."]";
    }

    
fputs ($socket"RCPT TO: <{$email}>\r\n");
    if (!
ereg ("^250"$out fgets ($socket1024))) {
        return 
false;
    
    }

    
fputs ($socket"QUIT\r\n");
    
fclose ($socket);

    return 
true;
}
?>

 


Source
 
 © 2004 - 2008 php.com.hr