Добываем бесплатные почтовые ящики для ZennoPoster

хм .. по поводу генерации гмайлов с точкой.. зачем изобретать велосипед? если уже даавно все изобретено... GmailDotGenerator была написана командой zennolab еще для 3-й версии(если не ошибаюсь) постера
 

Вложения

Кто ж знал?
 
Один скромный вопрос у меня, так как я практически не работаю с почтой в больших объемах: а почему нельзя использовать сервис Temp-mail и использовать сотни различных доменов, предлагаемых этим сервисом?
Настроить можно за пару минут и API есть.
Мне они не подходят.
хм .. по поводу генерации гмайлов с точкой.. зачем изобретать велосипед? если уже даавно все изобретено... GmailDotGenerator была написана командой zennolab еще для 3-й версии(если не ошибаюсь) постера
Давайте проверим их говнокод и скрипт на пыхе.
Софтина просто сыпется и крашится )))
А мои тулзы работают очень быстро и эффективно.
 
Давайте проверим их говнокод и скрипт на пыхе.
Софтина просто сыпется и крашится )))
А мои тулзы работают очень быстро и эффективно.
а давайте проверим у кого длинней... :al:
 
Нету шаблона так как я привязываю их руками.
Там нужно подтверждать владение доменов как в панели вебмастера и подтверждаю в основном так.
Для поддомена yamail-b3759a5ff495 в зоне вашего домена настройте CNAME-запись на mail.yandex.ru.
А для этого надо заходить в панель управления доменом у регистратора.
хм, а я настраивал через API этих самых панелей этот функционал. Разве удобно делать это руками или вам не нужны они в больших объемах?
 
хм, а я настраивал через API этих самых панелей этот функционал. Разве удобно делать это руками или вам не нужны они в больших объемах?
мне хватает 2-3 доменов
 
Также прилагаю скрипт для генерации мыл с точками
Код:
Развернуть Свернуть Копировать
<?php
$in="vasyaivanov";
// вместо vasyaivanov вставьте свое мыло
$add="@gmail.com";
$l=strlen($in);

//Также тут if ($l>11) укажите количество символов в вашем почтовом ящике
if ($l>11){
    echo "Sorry, too long.\n";
}
$total=pow(2,$l-1);
$in_arr=str_split($in);
for($i=0;$i<$total;$i++){
    $w_arr=$in_arr;
    $bits=$i;
    $pos=0;
    while($bits){
        if ($bits&1){
            $w_arr[$pos].=".";
        }
        $bits=$bits>>1;
        $pos++;
    }
    echo implode($w_arr).$add."\n";
}

запускать лучше из консоли
в виде: php dots.php > out.txt
Чисто с целью обучения хотел бы понять как переписать данный фрагмент кода на шарп сниппет.
Все более-менее в нем понятно, вот только побитовое смещение не совсем мне понятно...
Кто может помочь либо переписать либо прокомментировать логику работы данного фрагмента кода по шагам?
 
Все более-менее в нем понятно, вот только побитовое смещение не совсем мне понятно...
Очень красивое решение.
Rsh (битовое смещение вправо) в данном случае выполняет роль счетчика второго цикла.
Если вкратце, то суть примерно следующая - вычисляется максимальное кол-во сочетаний ($total), далее идут проходы, где шаг цикла можно так сказать переводится в двоичное представление, т.е. для qwerty будет например так:
I шаг = двоичное представление
0 шаг = 0
1 шаг = 1
2 шаг = 10
3 шаг = 11
4 шаг = 100
5 шаг = 101
6 шаг = 110
7 шаг = 111
8 шаг = 1000
9 шаг = 1001
10 шаг = 1010
11 шаг = 1011
12 шаг = 1100
...
25 шаг = 11001
Т.е. фактически на каждом шаге получаем информацию где надо добавить точку.

Операция смещения $bits=$bits>>1; позволяет "пройти по битам".
Т.е. для 9го шага и значения 1001 после первого выполнения смещения будет результат 100, после второго 10, третьего 1, четвертого 0. Учет битов идет справа, т.е. нулевым битом в байте является крайний справа.
Операцией $bits&1 (логическое И) сравнивается является ли "текущий" (крайний правый) бит единицей и если это так - добавляет точку к буферу в позиции pos.

Вот и выходит что первичный цикл создает весь список комбинаций точек, а второй "битовый псевдоцикл" нужен для нахождения куда именно эти точки впихнуть.
 
Очень красивое решение.
Rsh (битовое смещение вправо) в данном случае выполняет роль счетчика второго цикла.
Если вкратце, то суть примерно следующая - вычисляется максимальное кол-во сочетаний ($total), далее идут проходы, где шаг цикла можно так сказать переводится в двоичное представление, т.е. для qwerty будет например так:
I шаг = двоичное представление
0 шаг = 0
1 шаг = 1
2 шаг = 10
3 шаг = 11
4 шаг = 100
5 шаг = 101
6 шаг = 110
7 шаг = 111
8 шаг = 1000
9 шаг = 1001
10 шаг = 1010
11 шаг = 1011
12 шаг = 1100
...
25 шаг = 11001
Т.е. фактически на каждом шаге получаем информацию где надо добавить точку.

Операция смещения $bits=$bits>>1; позволяет "пройти по битам".
Т.е. для 9го шага и значения 1001 после первого выполнения смещения будет результат 100, после второго 10, третьего 1, четвертого 0. Учет битов идет справа, т.е. нулевым битом в байте является крайний справа.
Операцией $bits&1 (логическое И) сравнивается является ли "текущий" (крайний правый) бит единицей и если это так - добавляет точку к буферу в позиции pos.

Вот и выходит что первичный цикл создает весь список комбинаций точек, а второй "битовый псевдоцикл" нужен для нахождения куда именно эти точки впихнуть.

Спасибо за объяснение.
Вот что у меня получилось в результате переписывания на шарп.
Вот только последний цикл не знаю как переписать чтобы все работало (непонятный фрагмент кода закомментировал)...

C#:
Развернуть Свернуть Копировать
string login="vasyaivanov"; // логин in
string domen="@gmail.com"; // домен add
int l = login.Length; // количество букв в логине
if (l>11) project.SendErrorToLog("Sorry, too long.", true ); // Слишком длинный логин
double total = Math.Pow(2, l-1); // Вычисляется максимальное кол-во сочетаний
char[] in_arr = login.ToCharArray(0, login.Length); // Забрасываем символы в масив
for(int i=0; i<total; i++){
    char[] w_arr = in_arr;
    int bits = i;
    int pos = 0;

// тут идет цикл... как он выглядит???
//    while(bits){
//        if (bits&1){
//            w_arr[pos].=".";
//       }
//      bits=bits>>1;
//      pos++;
//    }

    string new_login = String.Empty;
    foreach (char simvol in w_arr) new_login+=simvol.ToString();
    project.SendInfoToLog(string.Format("{0}{1}",new_login,domen), true);
}
 
Последнее редактирование:
  • Спасибо
Реакции: one
Вот только последний цикл не знаю как переписать чтобы все работало
Код:
Развернуть Свернуть Копировать
string login="vasyaivanov"; // логин in
string domen="@gmail.com"; // домен add
int l = login.Length; // количество букв в логине
if (l>11) project.SendErrorToLog("Sorry, too long.", true ); // Слишком длинный логин
double total = Math.Pow(2, l-1); // Вычисляется максимальное кол-во сочетаний
for(int i=0; i<total; i++){
  string w_arr = login;
  int bits = i;
  int pos = 0;

   while (bits>0){
    if ((bits&1)==1){       
       pos++;
       w_arr = w_arr.Insert(pos,".");       
     }
     bits=bits>>1;
     pos++;
   }

  string new_login = w_arr;     
  project.SendInfoToLog(new_login+domen, true);
}
 
Код:
Развернуть Свернуть Копировать
string login="vasyaivanov"; // логин in
string domen="@gmail.com"; // домен add
int l = login.Length; // количество букв в логине
if (l>11) project.SendErrorToLog("Sorry, too long.", true ); // Слишком длинный логин
double total = Math.Pow(2, l-1); // Вычисляется максимальное кол-во сочетаний
for(int i=0; i<total; i++){
  string w_arr = login;
  int bits = i;
  int pos = 0;

   while (bits>0){
    if ((bits&1)==1){      
       pos++;
       w_arr = w_arr.Insert(pos,".");      
     }
     bits=bits>>1;
     pos++;
   }

  string new_login = w_arr;    
  project.SendInfoToLog(new_login+domen, true);
}
А как теперь эти все почты получить в текстовом файле?
 
А как теперь эти все почты получить в текстовом файле?
Можно в проект добавить список с привязкой к файлу.
А далее уже в сниппете просто добавляем результат в этот список.
C#:
Развернуть Свернуть Копировать
string login="vasyaivanov"; // логин in
string domen="@gmail.com"; // домен add
int l = login.Length; // количество букв в логине
if (l>11) project.SendErrorToLog("Sorry, too long.", true ); // Слишком длинный логин
double total = Math.Pow(2, l-1); // Вычисляется максимальное кол-во сочетаний
for(int i=0; i<total; i++){
  string w_arr = login;
  int bits = i;
  int pos = 0;

   while (bits>0){
    if ((bits&1)==1){     
       pos++;
       w_arr = w_arr.Insert(pos,".");     
     }
     bits=bits>>1;
     pos++;
   }
project.Lists["Список 1"].Add(w_arr+domen); // Добавляем почту в список
}
 
Не знаю куда задать вопрос, поэтому пишу сюда ))) я написал шаблон на регистрацию в gmail, он регает ништяк примерно 5 аккаунтов с смс сервисами, а потом начинается херня типо невалидный аккаунт. меняю и прокси и юзер агент, а проблема не исчезает, а в браузер этот номер вставляешь, регаешь и всё ништяк, а через зенно не хочет
Есть какие нибудь варианты обхода?
 
Не знаю куда задать вопрос, поэтому пишу сюда ))) я написал шаблон на регистрацию в gmail, он регает ништяк примерно 5 аккаунтов с смс сервисами, а потом начинается херня типо невалидный аккаунт. меняю и прокси и юзер агент, а проблема не исчезает, а в браузер этот номер вставляешь, регаешь и всё ништяк, а через зенно не хочет
Есть какие нибудь варианты обхода?

судя по тому, что акки стали дороже и предложений на рынке значительно меньше - гугл поумнел
 
Один скромный вопрос у меня, так как я практически не работаю с почтой в больших объемах: а почему нельзя использовать сервис Temp-mail и использовать сотни различных доменов, предлагаемых этим сервисом?
Настроить можно за пару минут и API есть.

большинство веб-сайтов хранят временные письма в черном списке и не позволяют вам зарегистрироваться
 
Год назад я сделал шаблон для создания множества вариаций электронной почты Gmail, но более персонализированный и с большим контролем над ним.
Я использовал его для отправки контактных форм, чтобы адрес электронной почты не выглядел странно или как спам

http://www.mediafire.com/file/lbzpb4za39m3y6z/Generate_unique_email_Vs.rar/file
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)