Одним из способом эффективной рекламы является рассылка писем с информацией про ваши акции и скидки вашим подписчикам. Таким образом можно существенно увеличить поток ваших клиентов и как результат увеличить прибыль. Но к сожалению, многие почтовые сервисы рассматривают такую рассылку как спам и временно или на постоянно блокируют ваш ящик.Выход отправлять письма с нескольких почтовых ящиков. Но если делать это в ручную, то на это уйдёт огромное количество времени. Предлагаем вашему вниманию скрипт, который автоматически рассылает письма с нескольких ящиков.
Скрипт работает следующим образом: есть список мыл с которых нужно отправлять письма и есть список мыл кому отправлять. Так же есть несколько вариантов писем для отправки. Скрипт берёт ящик, с которого нужно отправлять, заходит в него, берёт случайным образом текст письма, создаёт сообщение и отправляет его заданному в настройках количеству подписчиков.
Скрипт на вход принимает файл с ящиками с которых отправлять в формате:
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. Так же для работы скрипта вам понадобятся прокси.
Настройки скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// список мыл с которых отправлять $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; |
Сам скрипт выглядит следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
<?php // скрипт осуществляет рассылку сообщений на различные email /* производитель: x-scripts ** тип продукта: скрипт под Xweb Human Emulator ** сайт программы: humanemulator.info ** наш сайт: x-scripts.com ** по всем вопросам обращайтесь: ** email: order@x-scripts.com ** icq: 625657402 ** skype: igor_sev2 */ $xhe_host ="127.0.0.1:7010"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // //////////////////////// настройки скрипта ///////////////////////// // мыла с которых отправлять $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; // скрипт работает в режим отладки $dbg = true; // //////////////////////// дополнительные модули /////////////// // функции require_once("tools/functions.php"); // accept fucntions require_once("tools/accept_functions.php"); // /////////////////////// скрипт /////////////////////////////////////////// debug_mess(" скрипт запустили"); // устанавливаем прокси set_proxy(); if (!$i_cur_proxy) { // выходим из скрипта $app->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("<b>Закончились все мыла куда отправлять!</b>"); $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<br>"; if ($body->get_name_by_number(0, $ifr) == "") { $ifr = get_frame_number(); //echo "изменили на $ifr<br>"; } // задать тело письма $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("<b>Закончили отправлять письма с" . $a_mail[0] . "</b><br>"); } debug_mess(" скрипт закончил работу<br>"); // Quit $app->quit(); ?> |
Скрипт написан 7.03.2013 в Human Emulator 4.6.5 Advanced.