"); // try receipent address, will return 250 when ok.. $rcpt_text=send_command($fp, "RCPT TO:<".$email.">"); $ms_resp.=$rcpt_text; if(substr( $rcpt_text, 0, 3) == "250") $b_server_found=1; // quit mail server connection $ms_resp.=send_command($fp, "QUIT"); fclose($fp); } } } } return $b_server_found; } function send_command($fp, $out){ fwrite($fp, $out . "\r\n"); return get_data($fp); } function get_data($fp){ $s=""; stream_set_timeout($fp, 2); for($i=0;$i<2;$i++) $s.=fgets($fp, 1024); return $s; } // support windows platforms if (!function_exists ('getmxrr') ) { function getmxrr($hostname, &$mxhosts, &$mxweight) { if (!is_array ($mxhosts) ) { $mxhosts = array (); } if (!empty ($hostname) ) { $output = ""; @exec ("nslookup.exe -type=MX $hostname.", $output); $imx=-1; foreach ($output as $line) { $imx++; $parts = ""; if (preg_match ("/^$hostname\tMX preference = ([0-9]+), mail exchanger = (.*)$/", $line, $parts) ) { $mxweight[$imx] = $parts[1]; $mxhosts[$imx] = $parts[2]; } } return ($imx!=-1); } return false; } } ?>