witam mam problem z weryfikacja adresu email...
używam funkcji z książki:
function verifyEmail($address, &$error)
{
list
($user, $domain) = split("@", $address, 2
);
if(dns_check_record($domain, "MX"))
{
if(!dns_get_mx($domain, $mxhost, $mxweight))
{
$error = "Nie można pobrać danych wymiennika poczty!<br>\n";
return(FALSE);
}
}
else
{
$mxhost[] = $domain;
$mxweight[] = 1;
}
$weighted_host = array(); for($i = 0; $i < count($mxhost); $i++) {
$weighted_host[($mxweight[$i])] = $mxhost[$i];
}
foreach($weighted_host as $host)
{
{
continue;
}
$gotResponse = FALSE;
while(TRUE)
{
$line = fgets($fp, 1024
); if(substr($line, 0, 3) == "220") {
//zeruje zegar
$gotResponse = TRUE;
}
elseif(($line == "") AND ($gotResponse))
{
break;
}
elseif(time() > $stopTime) {
break;
}
}
if(!$gotResponse)
{
continue;
}
fputs($fp, "HELO {$_SERVER['SERVER_NAME']}\r\n");
fputs($fp, "MAIL FROM: " . "<httpd@{$_SERVER['SERVER_NAME']}>\r\n");
fputs($fp, "RCPT TO: <$address>\r\n"); $line = fgets($fp, 1024
);
if(substr($line, 0, 3) != "250") {
$error = $line;
return(FALSE);
}
else
{
return(TRUE);
}
}
$error = "Nie udało się połączyć z wymiennikiem poczty!";
return(FALSE);
}
okazuje się że funkcja uznała za błędne adresy które działają bez problemów .. w jaki sposób mam sprawdzić czy adresy na które za pomocą php wysyłam zaproszenia, życzenia etc ... rzeczywiście działają i że maile na nie dochodzą ?