Скрипты для Xedant Human Emulator

satih

Хранитель порядка
Регистрация
19 Сен 2008
Сообщения
401
Реакции
721
Почти все свежереганые мыльники не отдают поп, между прочим.
есть поп3 или нет зависит не от возраста акка а от самого сервиса. gmail, gmx, at&t например дают поп3 дефолтом; yahoo.co.uk дает поп3, но нужно зайти в настройки и активировать; yahoo.com не даст поп3 пока незаплатишь за премиум акк. возраст тут непричем*

по теме, в хумане может есть функции для работы с поп мылом, но в пхп они тоже есть, и не сложные, так что на функционал хумана даже не смотрел.
imap_open , imap_headers , imap_body , imap_delete , imap_expunge , imap_close
для простого скрипта который тянет письма и находит линк активации их вполне хватит


* пс: с небольшим отступлением, что с ру мылом не работал, только с бурж, но не думаю что в ру что-то иначе.
 

saifu

Профессор
Регистрация
13 Фев 2008
Сообщения
337
Реакции
39
пс: с небольшим отступлением, что с ру мылом не работал, только с бурж, но не думаю что в ру что-то иначе.
для ру следующие сервисы точно поддерживают pop3 - yandex, rambler, mail
 

modelsonline

Постоялец
Регистрация
18 Окт 2010
Сообщения
94
Реакции
9
Яху весь не дает, но токо couk. Свежереганные в том плане что заходов не было. gmx вобще никогда не ковырял, гугл отдает да, но регать ввиду некоторых причин неактуально. Соксы многие режут поп, вобщем куча гемора.
 

satih

Хранитель порядка
Регистрация
19 Сен 2008
Сообщения
401
Реакции
721
Яху весь не дает, но токо couk. Свежереганные в том плане что заходов не было.
пургу несешь, а кто-то может читает, на ус наматывает и время тратит на работу с ложной инфой. я выше написал какой яху дает и какой не дает, и когда дает тот который да дает :) у яху ком нет поп3 в настройках в принципе, остальные региональные отдают, только если поп3 активировать, не только .co.uk, а также .co.au и т.п. ясен пень что если в него не зайти, настройку не активируешь
вобщем куча гемора.
:) онлайн биз называется, крутимся. кста незнаю как там с соксами, собирал поп3 на дешевых хттп проксях авмпрокси. порт поп3 не режут обычно, на него всем пох, smtp порт понятно что закрыт везде, а с поп кому боротся есть смысл?
 

kactetus

митя is here )
Регистрация
26 Авг 2007
Сообщения
440
Реакции
280
satih а можеш дать простой пример (без разницы пых или хуман), для захода на почту (логин, пасс) и переход на письмо, ну а дальше там я разберусь (regex и т.п.).

Просто понять сам принциип.
 

modelsonline

Постоялец
Регистрация
18 Окт 2010
Сообщения
94
Реакции
9
пургу несешь, ?

На тот момент когда я делал яху не отдавал до захода. Ради этого я разворачивал стравберри и писал обходилку. До захода возвращал код -1, тоже помню. Плюс еще лимиты на поп, кажется раз в 2 минуты, потом -1.

Вот чето даже нашел, вероятно прототип, ничего не помно, может регулярки кому нужны:

Походу был хотмайл, под яху не нашел по видимому уже на месте писал.
 

kactetus

митя is here )
Регистрация
26 Авг 2007
Сообщения
440
Реакции
280
2modelsonline так это же вроде perl? Но я в нем не разбираюсь.
 

modelsonline

Постоялец
Регистрация
18 Окт 2010
Сообщения
94
Реакции
9
Регулярки PCRE в пыхе есть. А система та же самая - вычислить и установить лимиты (ящики на ип, ип/запрос, запросов в минуту/ящик, необходимость активирования и тд), создать класс mailbox со всей этой ботвой, в том числе функциями по заходу если нужна активация. В самом скрипте $email = new Yahoomail и обращаться к переменными как $email->limit_boxes_per_socks например. if ($email->need_activation) активировать $email->activate, дальше получить тело через pop средствами хумана, распарсить регулярками заголовок, проверить то ли это письмо и конвертнуть тело в текст чем-то (есть масса классов для пыха html to text), и пропарсить нужную строку. Шаблоны отправки емайлов могут меняться, а строки активации редко. Конечно, все эти функции надо писать, но зато птом просто и удобно.

Классов по забору поп под пых полно, ищите. Может есть даже такой который будет готовую ссылку возвращать.
 

satih

Хранитель порядка
Регистрация
19 Сен 2008
Сообщения
401
Реакции
721
satih а можеш дать простой пример (без разницы пых или хуман), для захода на почту (логин, пасс) и переход на письмо, ну а дальше там я разберусь (regex и т.п.).
Просто понять сам принциип.
скрипт на пыхе для яху, тянет все письма, ищет если есть нужный текст (а то вдруг просто спам) и проверяет если акк уже верифицирован. все что с меткой debug, просто сообщения скрипта и к тому же все что собирает с почты ложит в файл mailbox. как видишь, функций именно imap_ не так уж и много, все остальное проверки полученого письма и проверка в базе для игнора повторных писем.

PHP:
<?php
require('connect_db.php');
set_time_limit(0);
chdir(__DIR__);

// debug
if (file_exists('mailbox')) unlink('mailbox');

$user_mail = '********@yahoo.co.uk';
$pass_mail = '********';
$mailbox = "{pop.mail.yahoo.co.uk:110/pop3/novalidate-cert}INBOX";

echo "\r\n";
$round = 0; // debug
while (1) {
echo 'main loop '. $round++ ."\r\n";
// коннектимся к меилу
$mbox = imap_open($mailbox, $user_mail, $pass_mail) or die("imap_open failed: ".imap_last_error()."\r\n");
$num = imap_num_msg($mbox);
echo 'inbox has '.$num." messages\r\n";
if ($num) {
	// headers
	$headers = imap_headers($mbox);
	$emails_text = ''; // debug
	if (empty($headers)) {
		echo "Headers call failed\r\n";
	}
	else {
		foreach ($headers as $key => $header) {
			// debug
			$emails_text .= "\r\n+---------------- Header $key+\r\n$header\r\n";
			// проверяем если это хедер конфирма
			$body = imap_body($mbox, $key + 1);
			// debug
			$emails_text .= "\r\n+---------------- Body $key+\r\n$body\r\n";
			// ищем конфирм код и мыло с которого форвардим
			preg_match('|can send the confirmation code\r\n(\d+) to ([^@]+)@|', $body, $match);
			$confirm_code = $match[1]; $login = $match[2];
			// проверяем если акк уже не верифицирован (старое письмо пришедшее после верификации)
			$query = mysql_query("select stage from accounts where login = '$login'");
			if (!mysql_num_rows($query)) {
				echo "login: $login ; confirm code: $confirm_code ; isn't in the db\r\n";
				//mark this email for deletion
				imap_delete($mbox, $key + 1);
				continue;		
			}
			$row = mysql_fetch_row($query);
			// если stage больше 1, то акк уже прошел стадию письма верификации
			if ($row[0] > 1) {
				echo "login: $login ; confirm code: $confirm_code ; already verified\r\n";
				// mark this email for deletion
				imap_delete($mbox, $key + 1);
				continue;		
			}
			echo "login: $login ; confirm code: $confirm_code\r\n";
			// записываем конфирм код в мускуль, заодно переводим stage на 2
			mysql_query("update accounts set stage = '2', verificatioin_resend = '0', verification_code = '$confirm_code' where login = '$login'");
			// mark this email for deletion
			imap_delete($mbox, $key + 1);
		}
	}
	// debug
	file_put_contents('mailbox', $emails_text, FILE_APPEND);
	// delete all mail from mailbox
	imap_expunge($mbox);
}
// close connection
imap_close($mbox);

// проверяем если есть еще акки которыe не получили конфирм код (state < 2), если нет, скрипт завершил работу
$query = mysql_query("select id from accounts where stage < '2' limit 1");
if (!mysql_num_rows($query)) break;

// пауза перед следующим коннектом к ящику
sleep(300);
}
?>

*ps: общепринятый порт для поп3 995, но у меня по какой-то причине с 995 на одном из компов не работало, поэтому подключаюсь к 110

На тот момент когда я делал яху не отдавал до захода. Ради этого я разворачивал стравберри и писал обходилку. До захода возвращал код -1, тоже помню. Плюс еще лимиты на поп, кажется раз в 2 минуты, потом -1.
незнаю что за яху, я невидел яху у которого дефолтом включен поп, всегда нужно заходить и активировать, но фиг с ним.
насчет паузы непроверял, хуман это не хрум, тянуть письма каждые 10 секунд ненужно, можно вполне снимать раз в 5 минут 2-100 писем и проверять в каждом из них к какому логину принадлежит данное письмо верификации. да и непринято вроде с фри сервисом каждые 10 секунд снимать поп3, они все понятно подозрительно на это посмотрят, надо под обычного юзверя подделыватся :)
 

modelsonline

Постоялец
Регистрация
18 Окт 2010
Сообщения
94
Реакции
9
я невидел яху у которого дефолтом включен поп, всегда нужно заходить и активировать, но фиг с ним.
а я о чем?
тянуть письма каждые 10 секунд ненужно,
Оттого у тебя та же ошибка в цикле. Для 10 и для 1000 код одинаковый, если делать перед каждым запросом минимальную пауз то опрос 1000 ящиков получится слишком долгий, если не делать паузу - лочит если 10 ящиков, а не 1000. Опрос писем идет по кругу, верификация - нет. Поэтому в случае верификации это не очевидно.

И все же, для хумана я бы делал через веб заход - это click by inner два раза подряд, много проще чем парсить письма плюс реферрер передается.
 
Сверху