Используем Бесплатные Почты для регистрации, с возможностью восстановления аккаунтов по этим почтам

bvbfor

Client
Регистрация
10.04.2016
Сообщения
451
Благодарностей
304
Баллы
63
Используем Бесплатные Почты для регистрации, с возможностью восстановления аккаунтов по этим почтам

Мы будем использовать почты mail:pass , которые можно найти на форумах или телеграм каналах.

В чём их преимущество перед сервисами временных почт?

Многие сервисы после регистрации иногда просят подтвердить авторизацию с помощью кода, отправленному на почту, указанную при регистрации. С временными почтами такое уже не получится. Держать только для этого ферму с тысячами своих почтовых аккаунтов тоже не вариант.

А с почтами mail:pass легко. Мы легко можем получить код из почты в любое время.

Например:

Где то в конце прошлого года я зарегистрировал несколько тысяч аккаунтов твиттер, немного их попользовал, и занялся чем то другим, благополучно забыв про них.
Через полгода заброшенные профили zp уже были нерабочие.
Авторизоваться на 95% аккаунтах удалось за счет таких почт, в шаблоне при авторизации была проверка на авторизацию по профилю и в случае неудачи авторизация по почте, с получением кода на почту.
Сейчас также пока не до них, но возможно ещё через полгода понадобятся и у меня уже будут акки с годовой отлёжкой.


Работаем по imap, т.е. мы не будем заходить в почтовый аккаунт через web, а нужные письма будем доставать по протоколу imap.
Принцип работы такой же, как и у ушедшей в небытие копеечки. Только аккаунты у нас всегда под рукой для случая если сервис повторно заставит подтвердить почту.

Нам нужны почты, у которых пароль к аккаунту совпадает с паролем доступа по imap

Достаём нужное письмо по imap:
// Парсинг строки подключения IMAP из переменной проекта
// Формат: host:port:email:password
string[] imap = project.Variables["imap"].Value.Trim().Split(':');
string host = imap[0];        // IMAP сервер (например, imap.gmail.com)
int port = int.Parse(imap[1]); // Порт подключения (143 для незащищенного, 993 для SSL)
string email = imap[2];       // Email адрес для авторизации
string password = imap[3];    // Пароль от email

// Получение текста для поиска из переменной проекта
string search = project.Variables["search"].Value.Trim();

// Создание и настройка IMAP клиента
using (var client = new ImapClient())
{
    // Отключение проверки SSL сертификата (принимаем любой сертификат)
    client.ServerCertificateValidationCallback = (s, c, h, e) => true;

    // Подключение к серверу в зависимости от порта
    if(port == 143)
    {
        // Подключение без SSL (незащищенное соединение)
        client.Connect(host, port, false);
        client.Authenticate(email, password);
    }
    else
    {
        // Подключение с SSL (защищенное соединение)
        client.Connect(host , port, SecureSocketOptions.SslOnConnect);
        client.Authenticate(email , password);
    }

    // Получение доступа к папке "Входящие"
    var inbox = client.Inbox;
    inbox.Open(FolderAccess.ReadOnly); // Открываем только для чтения

    // Создание поискового запроса
    // Варианты поиска
    //var query = SearchQuery.BodyContains(search);    // Поиск в теле письма
    //var query = SearchQuery.SubjectContains(search); // Поиск в теме письма
    var query = SearchQuery.FromContains(search);      // Поиск по отправителю

    // Выполнение поиска писем
    var results = inbox.Search(query);

    // Обработка найденных писем
    foreach (UniqueId uid in results)
    {
        // Получение сообщения по уникальному ID
        var message = inbox.GetMessage(uid);
 
        // Сохранение темы письма в переменную проекта
        project.Variables["pismo_subj"].Value = message.Subject;
 
        string messageText = "";
 
        // Извлечение текста письма в порядке приоритета
        if (message.HtmlBody != null)
        {
            // Если есть HTML версия - парсим её и извлекаем текст
            var doc = new HtmlDocument();
            doc.LoadHtml(message.HtmlBody);
            messageText = doc.DocumentNode.InnerText.Trim();
        }
        else if (message.TextBody != null)
        {
            // Если есть текстовая версия - используем её
            messageText = message.TextBody.Trim();
        }
        else
        {
            // Если нет готовых версий - ищем текстовую часть в составных частях
            var textPart = message.BodyParts.OfType<TextPart>().FirstOrDefault();
            if (textPart != null)
            {
                messageText = textPart.Text.Trim();
            }
        }
 
        // Сохранение текста письма в переменную проекта
        project.Variables["pismo_text"].Value = messageText;
    }

    // отключение от IMAP сервера
    client.Disconnect(true);
}

Видео Пример регистрации на одном из сайтов знакомств.(Файл с видео в прикреплённом архиве)
-
В прикрепленном архиве шаблон, файлы DLL , это видео и файл с более 2000 таких аккаунтов.
-
 

Вложения

Последнее редактирование:

qwertytraf

Client
Регистрация
13.06.2025
Сообщения
4
Благодарностей
2
Баллы
3
спасибо за полезную статью!
 
  • Спасибо
Реакции: bvbfor

ZennoLab Team

Super Moderator
Команда форума
Регистрация
22.01.2019
Сообщения
1 810
Благодарностей
4 044
Баллы
113

smartmail

Client
Регистрация
18.04.2015
Сообщения
417
Благодарностей
209
Баллы
43
полезно, спасибо
но думаю, имеет смысл - дополнить код подключением к IMAP через прокси.
подключение к таким мыльникам (майл:пасс), найденным на "форумах или телеграм-каналах" напрямую - считаю рискованным мероприятием...
 

bvbfor

Client
Регистрация
10.04.2016
Сообщения
451
Благодарностей
304
Баллы
63
полезно, спасибо
но думаю, имеет смысл - дополнить код подключением к IMAP через прокси.
подключение к таким мыльникам (майл:пасс), найденным на "форумах или телеграм-каналах" напрямую - считаю рискованным мероприятием...
Не думаю, что из за этого, да ещё из за бугра предъява прилетит!
Зарегал так не один десяток тысяч акков.
Но для сомневающихся
Соединение по imap с прокси:
// Парсинг строки подключения IMAP из переменной проекта
// Формат: host:port:email:password
string[] imap = project.Variables["imap"].Value.Trim().Split(':');
string host = imap[0];        // IMAP сервер (например, imap.gmail.com)
int port = int.Parse(imap[1]); // Порт подключения (143 для незащищенного, 993 для SSL)
string email = imap[2];       // Email адрес для авторизации
string password = imap[3];    // Пароль от email

// Парсинг строки прокси из переменной проекта
// Формат: login:pass@ip:port
string proxyString = project.Variables["proxy"].Value.Trim();
string proxyLogin = "";
string proxyPassword = "";
string proxyHost = "";
int proxyPort = 0;

if (!string.IsNullOrEmpty(proxyString))
{
    // Разделяем на части по символу @
    string[] proxyParts = proxyString.Split('@');
    if (proxyParts.Length == 2)
    {
        // Парсим логин и пароль
        string[] credentials = proxyParts[0].Split(':');
        if (credentials.Length == 2)
        {
            proxyLogin = credentials[0];
            proxyPassword = credentials[1];
        }
     
        // Парсим хост и порт
        string[] hostPort = proxyParts[1].Split(':');
        if (hostPort.Length == 2)
        {
            proxyHost = hostPort[0];
            proxyPort = int.Parse(hostPort[1]);
        }
    }
}

// Получение текста для поиска из переменной проекта
string search = project.Variables["search"].Value.Trim();

// Создание и настройка IMAP клиента
using (var client = new ImapClient())
{
    // Отключение проверки SSL сертификата (принимаем любой сертификат)
    client.ServerCertificateValidationCallback = (s, c, h, e) => true;
 
    // Настройка прокси, если он указан
    if (!string.IsNullOrEmpty(proxyHost) && proxyPort > 0)
    {
        var proxyClient = new HttpsProxyClient(proxyHost, proxyPort);
     
        // Добавляем аутентификацию для прокси, если указаны логин и пароль
        if (!string.IsNullOrEmpty(proxyLogin) && !string.IsNullOrEmpty(proxyPassword))
        {
            proxyClient.ProxyCredentials = new NetworkCredential(proxyLogin, proxyPassword);
        }
     
        client.ProxyClient = proxyClient;
    }
 
    // Подключение к серверу в зависимости от порта
    if(port == 143)
    {
        // Подключение без SSL (незащищенное соединение)
        client.Connect(host, port, false);
        client.Authenticate(email, password);
    }
    else
    {
        // Подключение с SSL (защищенное соединение)
        client.Connect(host , port, SecureSocketOptions.SslOnConnect);
        client.Authenticate(email , password);
    }
 
    // Получение доступа к папке "Входящие"
    var inbox = client.Inbox;
    inbox.Open(FolderAccess.ReadOnly); // Открываем только для чтения
 
    // Создание поискового запроса
    // Варианты поиска
    //var query = SearchQuery.BodyContains(search);    // Поиск в теле письма
    //var query = SearchQuery.SubjectContains(search); // Поиск в теме письма
    var query = SearchQuery.FromContains(search);      // Поиск по отправителю
 
    // Выполнение поиска писем
    var results = inbox.Search(query);
 
    // Обработка найденных писем
    foreach (UniqueId uid in results)
    {
        // Получение сообщения по уникальному ID
        var message = inbox.GetMessage(uid);
     
        // Сохранение темы письма в переменную проекта
        project.Variables["pismo_subj"].Value = message.Subject;
     
        string messageText = "";
     
        // Извлечение текста письма в порядке приоритета
        if (message.HtmlBody != null)
        {
            // Если есть HTML версия - парсим её и извлекаем текст
            var doc = new HtmlDocument();
            doc.LoadHtml(message.HtmlBody);
            messageText = doc.DocumentNode.InnerText.Trim();
        }
        else if (message.TextBody != null)
        {
            // Если есть текстовая версия - используем её
            messageText = message.TextBody.Trim();
        }
        else
        {
            // Если нет готовых версий - ищем текстовую часть в составных частях
            var textPart = message.BodyParts.OfType<TextPart>().FirstOrDefault();
            if (textPart != null)
            {
                messageText = textPart.Text.Trim();
            }
        }
     
        // Сохранение текста письма в переменную проекта
        project.Variables["pismo_text"].Value = messageText;
    }
 
    // отключение от IMAP сервера
    client.Disconnect(true);
}
 
  • Спасибо
Реакции: smartmail
Регистрация
23.03.2015
Сообщения
1 266
Благодарностей
826
Баллы
113
Вот бы ещё шаблончик для сбора таких аккаунтов, было бы совсем замечательно!
А так действительно полезная штука
 

bvbfor

Client
Регистрация
10.04.2016
Сообщения
451
Благодарностей
304
Баллы
63
Вот бы ещё шаблончик для сбора таких аккаунтов, было бы совсем замечательно!
А так действительно полезная штука
Таких почт можно собрать несколько десятков тысяч за день два.
"Аксакалы" наверняка знают как, и пользователи одной их моих тем.
Для новичков в комплекте файл с 2 300 таких почт.
 

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