Ускорить принятие почты.

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
Доброго времени суток, подскажите пожалуйста как ускорить прием почты? Есть связки mail:password, и есть файл с настройками в формате domain;server. Я беру почту, отрезаю домен, получаю сервер, запускаю это все дело, через экшен принятие почты, но проблема в том, что когда запускаю в многопоточном режиме все, то сначала все хорошо принимает, а потом начинают потоки висеть и ждать сообщения по 5-10 минут, хотя стоит скачивать последние 10 сообщений. Можно ли как-то ускорить этот процесс, может есть какой-то сниппет по приему почту, чтобы это занимало меньше времени, буду очень признателен за любую помощь.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
через свою либу по отработке с почтой сделай, ну а снипет к стандартному экшену ничего не предложить
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
через свою либу по отработке с почтой сделай, ну а снипет к стандартному экшену ничего не предложить
Совсем далекий в плане подключений либ, вы бы не могли дать хоть в какую сторону капать? А то начал смотреть, а там как-то сильно много всего.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Совсем далекий в плане подключений либ, вы бы не могли дать хоть в какую сторону капать? А то начал смотреть, а там как-то сильно много всего.
где много и в чём подзказать куда копать ?
у меня есть своя либа и у многих также
не думаю что бесплатно тут каждый отдаст её
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
где много и в чём подзказать куда копать ?
у меня есть своя либа и у многих также
не думаю что бесплатно тут каждый отдаст её
Я просто начал смотреть, и на много всяких библиотек на github натыкался, я думал вы с ними работаете, а не с самописными, поэтому и спросил в какую сторону копать. Прощу прощение не правильно вас понял, изначально.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
ну ты покажи что за либы ?
на гитхабе так же есть всегда пример как вызвать или обратиться к либе
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
и что с ней не получается ?
скачать либу и пробывать по его примерам ?
примеры даже на C#
Проблема в том, что я к сожалению не когда не работал с подключение библиотек и работай с ними. Поэтому и пришел спросить как это организовывается:(
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Проблема в том, что я к сожалению не когда не работал с подключение библиотек и работай с ними. Поэтому и пришел спросить как это организовывается:(
скачиваешь либу
подключаешь в GAS
прописываешь using
ну и пишешь код
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
скачиваешь либу
подключаешь в GAS
прописываешь using
ну и пишешь код
Извините, но звучит как:
Купил машину
Сел в машину
Завел
Поехал.
Но к сожалению это не так, для вас это понятно и легко. А я видимо баран, я даже не могу найти где скачать dll.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Извините, но звучит как:
Купил машину
Сел в машину
Завел
Поехал.
Но к сожалению это не так, для вас это понятно и легко. А я видимо баран, я даже не могу найти где скачать dll.
я даже так машину не покупаю
я покупаю так
прихожу осматриваю
делаю ей тест драйв
загоняю её на подъёмник
потом по цене договариваемся
если всех устраивает то всё норм
а ты мне о машине даже описал что там тупо баба, пришла и купила только из за любиго цвета ))))
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Извините, но звучит как:
Купил машину
Сел в машину
Завел
Поехал.
Но к сожалению это не так, для вас это понятно и легко. А я видимо баран, я даже не могу найти где скачать dll.
но ты дал ссылку, так скаяай архив ))

2019-01-12_081721.png
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
я даже так машину не покупаю
я покупаю так
прихожу осматриваю
делаю ей тест драйв
загоняю её на подъёмник
потом по цене договариваемся
если всех устраивает то всё норм
а ты мне о машине даже описал что там тупо баба, пришла и купила только из за любиго цвета ))))
Ахаха, вы же поняли о чем я :D
Задание №1 выполнено, ZIP архив скачен с GitHub:D
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Ахаха, вы же поняли о чем я :D
Задание №1 выполнено, ZIP архив скачен с GitHub:D
подключай либу и юзай
я ей не пользовался
методов ихних не могу знать
пробуй методом теста
для начала возьми пример его и опробуй
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
вот с ней я и работал, отличная либа
Не могли бы подсказать, удалось запустить эту либу, но возникла проблема, почему-то дергает письма с конца, а не с начала. Не подскажите как сделать чтобы получить письма с начала?
Общий код:
Код:
public class MailExt
    {
        /// <summary>
        /// Получение списка сообщений
        /// </summary>
        /// <param name="server">Imap сервер</param>
        /// <param name="port">Imap порт</param>
        /// <param name="login">Imap логин</param>
        /// <param name="password">Imap пароль</param>
        /// <param name="count">Количество сообщений</param>
        public static List<string> DownloadMessages(string server, int port, string login, string password, int count) 
        {
            using(var client = new ImapClient()) 
            {
                  client.Connect(server, port, SecureSocketOptions.SslOnConnect);
                  client.Authenticate(login, password);
                  client.Inbox.Open(FolderAccess.ReadOnly);

                  var uids = client.Inbox.Search(SearchQuery.All);
                  List<string> Messages = new List<string>();
               
                  int position = 0;
                  foreach(var uid in uids) 
                {
                      var msg = client.Inbox.GetMessage(uid);
                    Messages.Add(msg.Subject);
                    if (position >= count)
                    {
                        break;
                    }
                    else
                    {
                        position++;
                    }
                  }
               
                  client.Disconnect(true);
                return Messages;
            }
        }
Это, то что вызываю в C# кубике:
Код:
project.Lists["Message"].AddRange(MailExt.DownloadMessages(project.Variables["Server"].Value, 993, project.Variables["Mail"].Value, project.Variables["Password"].Value, 20));
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
видишь как пролсто, научился работать с либами )
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Если бы научился, помогли запустить эту шайтан машину, сейчас осталось решить только эту проблему:-)
либа может так работает что письма берёт не с конца а по числам, типо 1-е письмо в 19 веке было, вот она и взяла по порядку
если это так, то просто переверни список и всё
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
либа может так работает что письма берёт не с конца а по числам, типо 1-е письмо в 19 веке было, вот она и взяла по порядку
если это так, то просто переверни список и всё
В том и проблема не понимаю как, это все развернуть и перевернуть.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
В том и проблема не понимаю как, это все развернуть и перевернуть.
не помню поддерживает стандартный кубик со списком такое, вроде да
если нет то на C# сделай
ну на крайняк в коде сделай где foreach у тебя, бери с конца письма и ложи в список
ну или там разверни
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
не помню поддерживает стандартный кубик со списком такое, вроде да
если нет то на C# сделай
ну на крайняк в коде сделай где foreach у тебя, бери с конца письма и ложи в список
ну или там разверни
Уже додумался что можно просто перевернуть массив с ID сообщений, нашел функцию которая это делает Array.Reverse(uids), но почему-то при выполнение кубика пишет ошибку:
Компиляция кода проекта Ошибка при компиляции общего кода "CS0103" "Имя "array" отсутствует в текущем контексте". [Строка: 46; Cтолбец: 7]
Не подскажите, что я делаю не так?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Уже додумался что можно просто перевернуть массив с ID сообщений, нашел функцию которая это делает Array.Reverse(uids), но почему-то при выполнение кубика пишет ошибку:
Компиляция кода проекта Ошибка при компиляции общего кода "CS0103" "Имя "array" отсутствует в текущем контексте". [Строка: 46; Cтолбец: 7]
Не подскажите, что я делаю не так?
ты код покажи
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 645
Благодарностей
1 311
Баллы
113
ssXXXss, когда ты уже перестанешь быть треплом? Я уже устал читать твой бред по всему форуму, тебе что скучно живется? Человек попросил помощи, тебе лень открыть ПМ и помочь человеку не словом а делом? Или ты кайф получаешь за свой флуд по всему форуму? Вроде грамотный чел, знающий C# а ведешь себя как пацан на дискотеке перед телками! Можешь помочь? - помоги, а если нет то пройди мимо! Прекращай этот флуд не кому не нужен!
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
ssXXXss, когда ты уже перестанешь быть треплом? Я уже устал читать твой бред по всему форуму, тебе что скучно живется? Человек попросил помощи, тебе лень открыть ПМ и помочь человеку не словом а делом? Или ты кайф получаешь за свой флуд по всему форуму? Вроде грамотный чел, знающий C# а ведешь себя как пацан на дискотеке перед телками! Можешь помочь? - помоги, а если нет то пройди мимо! Прекращай этот флуд не кому не нужен!
ты угараешь чтоли, ты меньше пизди, я тебе что должен либу от делать не хуй подрубать ?
меньше читай, запусти , подключи, и настрой, вот сейчас ты трепло
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
Код:
public class MailExt
        {
        /// <summary>
        /// Получение списка сообщений
        /// </summary>
        /// <param name="server">Imap сервер</param>
        /// <param name="port">Imap порт</param>
        /// <param name="login">Imap логин</param>
        /// <param name="password">Imap пароль</param>
        /// <param name="count">Количество сообщений</param>
            public static List<string> DownloadMessages(string server, int port, string login, string password, int count)
               {
                using(var client = new ImapClient())
                   {
                  client.Connect(server, port, SecureSocketOptions.SslOnConnect);
                  client.Authenticate(login, password);
                  client.Inbox.Open(FolderAccess.ReadOnly);
                  var uids = client.Inbox.Search(SearchQuery.All);
                  array.reverse(uids);
                  List<string> Messages = new List<string>();
               
                  int position = 0;
                  foreach(var uid in uids)
                    {
                    var msg = client.Inbox.GetMessage(uid);
                    Messages.Add(msg.Subject);
                    if (position >= count)
                    {
                        break;
                    }
                    else
                    {
                        position++;
                    }
                  }
               
                  client.Disconnect(true);
                return Messages;
            }
        }
На сколько я разобрался в Uids кладутся ID сообщений, я решил что можно просто перевернуть массив, и оставить все как есть. Нашел функцию Array.Reverse, попробовал, но почему-то вылазит ошибка.
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
593
Благодарностей
314
Баллы
63
ssXXXss, когда ты уже перестанешь быть треплом? Я уже устал читать твой бред по всему форуму, тебе что скучно живется? Человек попросил помощи, тебе лень открыть ПМ и помочь человеку не словом а делом? Или ты кайф получаешь за свой флуд по всему форуму? Вроде грамотный чел, знающий C# а ведешь себя как пацан на дискотеке перед телками! Можешь помочь? - помоги, а если нет то пройди мимо! Прекращай этот флуд не кому не нужен!
Ребят, можно жить дружно, человек и так очень помог, я хоть теперь знаю как это все выглядит изнутри. А так бы дали, потыкал по скринам, и забыл бы. Спасибо вам, что откликнулись:-)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Код:
public class MailExt
        {
        /// <summary>
        /// Получение списка сообщений
        /// </summary>
        /// <param name="server">Imap сервер</param>
        /// <param name="port">Imap порт</param>
        /// <param name="login">Imap логин</param>
        /// <param name="password">Imap пароль</param>
        /// <param name="count">Количество сообщений</param>
            public static List<string> DownloadMessages(string server, int port, string login, string password, int count)
               {
                using(var client = new ImapClient())
                   {
                  client.Connect(server, port, SecureSocketOptions.SslOnConnect);
                  client.Authenticate(login, password);
                  client.Inbox.Open(FolderAccess.ReadOnly);
                  var uids = client.Inbox.Search(SearchQuery.All);
                  array.reverse(uids);
                  List<string> Messages = new List<string>();
              
                  int position = 0;
                  foreach(var uid in uids)
                    {
                    var msg = client.Inbox.GetMessage(uid);
                    Messages.Add(msg.Subject);
                    if (position >= count)
                    {
                        break;
                    }
                    else
                    {
                        position++;
                    }
                  }
              
                  client.Disconnect(true);
                return Messages;
            }
        }
На сколько я разобрался в Uids кладутся ID сообщений, я решил что можно просто перевернуть массив, и оставить все как есть. Нашел функцию Array.Reverse, попробовал, но почему-то вылазит ошибка.
у тебя есть лист Messages
между 37-38 строками вставь
Messages.Reverse();
 
  • Спасибо
Реакции: samsonnn

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Ребят, можно жить дружно, человек и так очень помог, я хоть теперь знаю как это все выглядит изнутри. А так бы дали, потыкал по скринам, и забыл бы. Спасибо вам, что откликнулись:-)
да ему откуда это знать, он раньше любил бесплатно снипеты получать а сейчас пиздеть типо заебало читать что типо умным стал
 

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