<?php
header('Content-type: text/html; charset=utf-8');
// эта функция отправляет команду в сокет, и возвращает ответ от сервера
function sWrite( $socket, $data, $echo = true ){
// отображаем отправляемую команду, если это требуется
//if( $echo ) echo $data;
// отправляем команду в сокет
fputs( $socket, $data );
// получаем первый байт ответа от сервера
$answer = fread( $socket, 1 );
// узнаем информацию о состоянии потока
$remains = socket_get_status( $socket );
// и получаем оставшиеся байты ответа от сервера
if( $remains --> 0 ) $answer .= fread( $socket, $remains['unread_bytes'] );
// функция возвращает ответ от сервера на переданную команду
return $answer;
}
// адрес электропочты, который надо проверить
$email = "admin@fcdk.kiev.ua";
// получаем данные об MX-записи домена, указанного в email
$mx = dns_get_record( end( explode( "@", $email ) ), DNS_MX );
$mx = $mx[0]['target'];
// открываем сокет и создаем поток
$socket = fsockopen( $mx, 25, $errno, $errstr, 10 );
if( !$socket ){
//echo "$errstr ($errno)\n";
}else{
// отправляем пустую строку, чтобы получить приветствие сервера
/*echo*/ sWrite( $socket, "" );
// представляемся сами
/*echo*/ sWrite( $socket, "EHLO example.com\r\n" );
/*echo*/ sWrite( $socket, "MAIL FROM: dummy@example.com\r\n" );
// запрашиваем разрешение на отправку письма адресату
$response = sWrite( $socket, "RCPT TO: $email\r\n" );
//echo $response;
// закрываем соединение
/*echo*/ sWrite( $socket, "QUIT\r\n" );
fclose( $socket );
// ниже идет простейшая обработка полученного ответа
//echo "\nCheck report:\n";
if( substr_count( $response, "550" ) > 0 ) echo "Ящикa ".$email." нет.<br>";
else if( substr_count( $response, "250" ) > 0 ) if( substr_count( $response, "OK" ) > 0 ) echo "Ящик ".$email." есть.<br>";
else echo "Ящик ".$email." есть, но он какой-то странный (like a relay host).<br>";
else echo "Ящик ".$email." не был распознан <br>";
}
//variant 2
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://stealthdebuger.com/post/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "email=".$email);
$out = curl_exec($curl);
//echo $out;
curl_close($curl);
}
$out = iconv("Windows-1251", "UTF-8", $out);
$out_arr = explode('<h5>Проверка существования email</h5><hr>', $out);
$res2 = $out_arr[1];
$out_arr = explode('</h5><hr>', $res2);
$res2 = $out_arr[0];
$answer = trim(strip_tags($res2));
echo $answer;
preferences:
39.75 ms | 402 KiB | 5 Q