Скрипт Human Emulator рассылки почты на webmailer.ru

Иногда, при ведении инфобизнеса возникает задача рассылки информации (например про акции, скидки и т.д.) своим подписчикам. Таким образом можно существенно увеличить поток ваших клиентов и как результат увеличить прибыль при ведении инфобизнеса. Но к сожалению, многие почтовые сервисы рассматривают такую рассылку как спам и блокируют ваш почтовый ящик. Один из возможных путей решения данной проблемы — использовать сервис рассылки сообщений webmailer.ru.

Предлагаем вашему вниманию скрипт, который автоматически рассылает письма при помощи сервиса webmailer.ru.

Скрипт работает следующим образом: есть список почтовых ящиков по которым надо осуществить рассылку. Скрипт заходит на сервис webmailer.ru, последовательно вводит адрес получателя,адрес отправителя, обратный адрес, тему сообщения и само сообщение. Распознает картинку капчи при помощи сервиса Antigate.com и нажимает кнопку отправить. Такой алгоритм в цикле применяется ко всем адресатам.

Скрипт на вход принимает файл с ящиками на которые необходимо отправить письма с акциями в формате один e-mail — одна строка:

kshakmakova@inbox.ru
vilor.kochenkov@mail.ru
izabella.vazova@mail.ru

Настройки скрипта:

// скрипт работает в режим отладки
$dbg = true;
// паузы ожидания
$wt = 5;
$wt_long = 10;
// путь к файлу с почтовыми ящиками
$path_to_mails = "data\\mails.txt";
// обратный адрес
$from = "tatyanka.noskova@inbox.ru";
// тема сообщения
$subject = "приветствие";
// само сообщение
$message = "Привет. Давай знакомится";
// ключ антигейта - необходимо ввести свой
$apikey = "";

Сам скрипт выглядит следующим образом:

navigate("about:blank");
sleep($wt_long);

$browser->clear_address_bar_history();
$browser->clear_cache();
$browser->clear_cookies("");
$browser->clear_history();
$browser->recreate();
sleep($wt);

// считываем файл с почтовыми ящиками
$arr_of_mails = array();
$arr_of_mails = file($path_to_mails, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
sleep($wt);

// главный цикл скрипта
for ($i = 0; $i < count($arr_of_mails); $i++)
{
	$browser->navigate("webmailer.ru");
	sleep($wt_long);

	// вводим данные
	// кому
	$input->set_focus_by_name("to");
	$keyboard->send_input($arr_of_mails[$i], 10);
	sleep($wt);
	
	// обратный адрес
	$input->set_value_by_name("from", $from);
	sleep($wt);

	// тема сообщения
	$input->set_focus_by_name("subj");
	$keyboard->send_input($subject, 10);
	sleep($wt);
	
	// вводим само сообщение
	$textarea->set_focus_by_name("message");
	$keyboard->send_input( $message, 10);
	sleep($wt);

	// распознаем и вводим капчу
	$captcha = "";
	$captcha = $image->recognize_by_anticaptcha("/captcha.gif?id", "C:\\Temp\\tmp.jpeg", $apikey, 'http://antigate.com', true, 5, 120, 0, 0, 0, 0, 0, -1, 0);
	sleep(2);
	echo "капча: $captcha
"; $input->set_value_by_name("captcha_code", $captcha); sleep($wt); // кнопка отправить $image->click_by_attribute("title", "Отправить", true); sleep($wt_long); } debug_mess("скрипт закончил работу"); // Quit $app->quit(); ?>

Скрипт написан 07.10.2014 в Human Emulator 4.6.50 Advanced.

Cкрипт Human Emulator рассылки писем подписчикам

Одним из способом эффективной рекламы является рассылка писем с информацией про ваши акции и скидки вашим подписчикам. Таким образом можно существенно увеличить поток ваших клиентов и как результат увеличить прибыль. Но к сожалению, многие почтовые сервисы рассматривают такую рассылку как спам и временно или на постоянно блокируют ваш ящик.Выход отправлять письма с нескольких почтовых ящиков. Но если делать это в ручную, то на это уйдёт огромное количество времени. Предлагаем вашему вниманию скрипт, который автоматически рассылает письма с нескольких ящиков.

Скрипт работает следующим образом: есть список мыл с которых нужно отправлять письма и есть список мыл кому отправлять. Так же есть несколько вариантов писем для отправки. Скрипт берёт ящик, с которого нужно отправлять, заходит в него, берёт случайным образом текст письма, создаёт сообщение и отправляет его заданному в настройках количеству подписчиков.

Скрипт на вход принимает файл с ящиками с которых отправлять в формате:

frol.gorbunov@mail.ru;dfinrzdqj
afanasev.ilarion@mail.ru;gcmixsglr
nonna.emelyanenko@mail.ru;ioharbf
и т.д.

Файл с ящиками куда отправлять в формате:

frol.gorbunov@mail.ru
afanasev.ilarion@mail.ru
nonna.emelyanenko@mail.ru
и т.д.

Сообщения для отправки в виде текстовых файлов складываются в отдельную папку. Название файла это тема отправляемого сообщения, а содержимое файла это тело сообщения. Причём содержимое может быть как просто в виде текста, так и в виде html. Так же для работы скрипта вам понадобятся прокси.

Настройки скрипта:


// список мыл с которых отправлять
$path_from = "data/from_mails.txt";
// список мыл на которые отправлять
$path_to = "data/to_mails.txt";
// обработанные мыла
$path_res_from = "res/from_mails.txt";
$path_res_to = "res/to_mails.txt";

// путь к папке с письмами
$path_messages = "data/messages/";
// прокси
$str_proxy_path = "data/proxy.txt";
// user agent строки
$useragents = file("data/useragent.txt");
// путь к файлу с использованными проксями - если прокси не рабочие 
// они складываются в отдельный файл и удаляются из основного списка
$path_to_use_proxy = "res/use_proxy.txt";

// количество ящиков на которые отправлять с одного мыла
$to_mails_count = 3;

Сам скрипт выглядит следующим образом:

quit();
}

// получить в массив все данные
$a_mails_from = file($path_from,FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);
$a_mails_to = file($path_to,FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);

// получить все файлы в папке 
$str_files = $folder->get_all_items($path_messages);
// получить массив путей
$arr_files = explode("\n", $str_files);
$a = 0;
// пройтись по всем аккаунтам
foreach($a_mails_from as $str_mail)
{

	// перейти на mail.ru
	$browser->navigate("http://mail.ru/");
	
	// войти в аккаунт
	$a_mail = explode(";" ,$str_mail);
	$a_mail_lg = explode("@",$a_mail[0]);
	$input->set_value_by_name("Login",$a_mail_lg[0]);
	$listbox->select_text_by_name("Domain",$a_mail_lg[1], false);
	$input->set_value_by_name("Password",$a_mail[1]);
	$button->click_by_name("mailbox__auth__button");

	// отправка сообщений на k разных почтовых ящиков
   for ($k = 0; $k < $to_mails_count; $k++)
   {
		// выбираем рандомно одно из сообщений
      $mes_name = trim($arr_files[rand(0,count($arr_files)-1)]);
		// получаем название письма - это будет тема сообщения
		$mes_subj = str_replace(".txt", "", $file_os->get_name($mes_name));
		// получаем сам текст сообщения
		$mes_content = $textfile->read_file($mes_name);
		sleep(2);
		// переходим в написать письмо
		$anchor->click_by_inner_text("Написать ");
		sleep(3);
      // проверить отправили мы на все мыла или нет
      if ($a >= count($a_mails_to))
      { 
		  debug_mess("Закончились все мыла куда отправлять!");
		  $app->quit();
      }
		
		// задать мыло получателя   
		$textarea->set_focus_by_attribute("id","sentmsgab_compose_to",true);
		$textarea->set_value_by_name_by_form_name("To", trim($a_mails_to[0]), "Compose");
		debug_mess("отправляем с ".$a_mail[0]." на ".trim($a_mails_to[$a]));
		sleep(3);
      // тема 
		$input->set_focus_by_attribute("id","sentmsgab_compose_subj",true);
		$input->set_value_by_name_by_form_name("Subject", $mes_subj,"Compose");
		sleep(3);
      // получить номер фрейма
      $ifr = get_frame_number();
    
     // отчистить от лишнего текста
     $body->set_inner_html_by_number(0, "", $ifr);
		
      // само сообщение
     while($body->get_inner_html_by_number(0, $ifr) == "")
     {
         //echo "на входе : $ifr
"; if ($body->get_name_by_number(0, $ifr) == "") { $ifr = get_frame_number(); //echo "изменили на $ifr
"; } // задать тело письма $body->set_inner_html_by_number(0,$mes_content,$ifr); $frame->set_body_by_number($ifr,$mes_content); sleep(5); } // отправить $anchor->click_by_inner_text("Отправить"); sleep(5); // перепишем файл и перенесем в папку res использованный email rewrite($a_mails_to[$a], $path_to, $path_res_to); $a++; } // нажимаем кнопку выход $anchor->click_by_attribute("id","PH_logoutLink", true); sleep(3); // меняем прокси //удаляем прокси из файла $proxies = file_get_contents($str_proxy_path); $proxies = str_replace($i_cur_proxy."\r\n", "", $proxies); $textfile->write_file($str_proxy_path, $proxies, 60); // записываем прокси в файл с использованными проксями $textfile->add_string_to_file($path_to_use_proxy, $i_cur_proxy."\r\n"); // закроем все вкладки браузера $browser->stop(); sleep(1); $browser->close_all_tabs(); sleep(1); $browser->navigate("about:blank"); sleep(1); // удаляем прокси $browser->disable_proxy(""); $i_cur_proxy = ""; sleep(5); // устанавливаем прокси set_proxy(); if (!$i_cur_proxy) { // выходим из скрипта $app->quit(); } // перенёс мыло с которого отправляли в отработанные rewrite($str_mail,$path_from, $path_res_from); debug_mess("Закончили отправлять письма с" . $a_mail[0] . "
"); } debug_mess(" скрипт закончил работу
"); // Quit $app->quit(); ?>

Скрипт написан 7.03.2013 в Human Emulator 4.6.5 Advanced.

скачать скрипт