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

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
Доброго времени суток, подскажите пожалуйста как ускорить прием почты? Есть связки mail:password, и есть файл с настройками в формате domain;server. Я беру почту, отрезаю домен, получаю сервер, запускаю это все дело, через экшен принятие почты, но проблема в том, что когда запускаю в многопоточном режиме все, то сначала все хорошо принимает, а потом начинают потоки висеть и ждать сообщения по 5-10 минут, хотя стоит скачивать последние 10 сообщений. Можно ли как-то ускорить этот процесс, может есть какой-то сниппет по приему почту, чтобы это занимало меньше времени, буду очень признателен за любую помощь.
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
через свою либу по отработке с почтой сделай, ну а снипет к стандартному экшену ничего не предложить
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
через свою либу по отработке с почтой сделай, ну а снипет к стандартному экшену ничего не предложить
Совсем далекий в плане подключений либ, вы бы не могли дать хоть в какую сторону капать? А то начал смотреть, а там как-то сильно много всего.
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Совсем далекий в плане подключений либ, вы бы не могли дать хоть в какую сторону капать? А то начал смотреть, а там как-то сильно много всего.
где много и в чём подзказать куда копать ?
у меня есть своя либа и у многих также
не думаю что бесплатно тут каждый отдаст её
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
где много и в чём подзказать куда копать ?
у меня есть своя либа и у многих также
не думаю что бесплатно тут каждый отдаст её
Я просто начал смотреть, и на много всяких библиотек на github натыкался, я думал вы с ними работаете, а не с самописными, поэтому и спросил в какую сторону копать. Прощу прощение не правильно вас понял, изначально.
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
ну ты покажи что за либы ?
на гитхабе так же есть всегда пример как вызвать или обратиться к либе
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63

amyboose

Client
Joined
Apr 21, 2016
Messages
2,311
Reaction score
1,192
Points
113

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
и что с ней не получается ?
скачать либу и пробывать по его примерам ?
примеры даже на C#
Проблема в том, что я к сожалению не когда не работал с подключение библиотек и работай с ними. Поэтому и пришел спросить как это организовывается:(
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Проблема в том, что я к сожалению не когда не работал с подключение библиотек и работай с ними. Поэтому и пришел спросить как это организовывается:(
скачиваешь либу
подключаешь в GAS
прописываешь using
ну и пишешь код
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
скачиваешь либу
подключаешь в GAS
прописываешь using
ну и пишешь код
Извините, но звучит как:
Купил машину
Сел в машину
Завел
Поехал.
Но к сожалению это не так, для вас это понятно и легко. А я видимо баран, я даже не могу найти где скачать dll.
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Извините, но звучит как:
Купил машину
Сел в машину
Завел
Поехал.
Но к сожалению это не так, для вас это понятно и легко. А я видимо баран, я даже не могу найти где скачать dll.
я даже так машину не покупаю
я покупаю так
прихожу осматриваю
делаю ей тест драйв
загоняю её на подъёмник
потом по цене договариваемся
если всех устраивает то всё норм
а ты мне о машине даже описал что там тупо баба, пришла и купила только из за любиго цвета ))))
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Извините, но звучит как:
Купил машину
Сел в машину
Завел
Поехал.
Но к сожалению это не так, для вас это понятно и легко. А я видимо баран, я даже не могу найти где скачать dll.
но ты дал ссылку, так скаяай архив ))

2019-01-12_081721.png
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
я даже так машину не покупаю
я покупаю так
прихожу осматриваю
делаю ей тест драйв
загоняю её на подъёмник
потом по цене договариваемся
если всех устраивает то всё норм
а ты мне о машине даже описал что там тупо баба, пришла и купила только из за любиго цвета ))))
Ахаха, вы же поняли о чем я :D
Задание №1 выполнено, ZIP архив скачен с GitHub:D
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Ахаха, вы же поняли о чем я :D
Задание №1 выполнено, ZIP архив скачен с GitHub:D
подключай либу и юзай
я ей не пользовался
методов ихних не могу знать
пробуй методом теста
для начала возьми пример его и опробуй
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
вот с ней я и работал, отличная либа
Не могли бы подсказать, удалось запустить эту либу, но возникла проблема, почему-то дергает письма с конца, а не с начала. Не подскажите как сделать чтобы получить письма с начала?
Общий код:
Code:
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# кубике:
Code:
project.Lists["Message"].AddRange(MailExt.DownloadMessages(project.Variables["Server"].Value, 993, project.Variables["Mail"].Value, project.Variables["Password"].Value, 20));
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
видишь как пролсто, научился работать с либами )
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
видишь как пролсто, научился работать с либами )
Если бы научился, помогли запустить эту шайтан машину, сейчас осталось решить только эту проблему:-)
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Если бы научился, помогли запустить эту шайтан машину, сейчас осталось решить только эту проблему:-)
либа может так работает что письма берёт не с конца а по числам, типо 1-е письмо в 19 веке было, вот она и взяла по порядку
если это так, то просто переверни список и всё
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
либа может так работает что письма берёт не с конца а по числам, типо 1-е письмо в 19 веке было, вот она и взяла по порядку
если это так, то просто переверни список и всё
В том и проблема не понимаю как, это все развернуть и перевернуть.
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
В том и проблема не понимаю как, это все развернуть и перевернуть.
не помню поддерживает стандартный кубик со списком такое, вроде да
если нет то на C# сделай
ну на крайняк в коде сделай где foreach у тебя, бери с конца письма и ложи в список
ну или там разверни
 

LiMe

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

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Уже додумался что можно просто перевернуть массив с ID сообщений, нашел функцию которая это делает Array.Reverse(uids), но почему-то при выполнение кубика пишет ошибку:
Компиляция кода проекта Ошибка при компиляции общего кода "CS0103" "Имя "array" отсутствует в текущем контексте". [Строка: 46; Cтолбец: 7]
Не подскажите, что я делаю не так?
ты код покажи
 

samsonnn

Client
Joined
Jun 2, 2015
Messages
2,059
Reaction score
1,897
Points
113
ssXXXss, когда ты уже перестанешь быть треплом? Я уже устал читать твой бред по всему форуму, тебе что скучно живется? Человек попросил помощи, тебе лень открыть ПМ и помочь человеку не словом а делом? Или ты кайф получаешь за свой флуд по всему форуму? Вроде грамотный чел, знающий C# а ведешь себя как пацан на дискотеке перед телками! Можешь помочь? - помоги, а если нет то пройди мимо! Прекращай этот флуд не кому не нужен!
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
ssXXXss, когда ты уже перестанешь быть треплом? Я уже устал читать твой бред по всему форуму, тебе что скучно живется? Человек попросил помощи, тебе лень открыть ПМ и помочь человеку не словом а делом? Или ты кайф получаешь за свой флуд по всему форуму? Вроде грамотный чел, знающий C# а ведешь себя как пацан на дискотеке перед телками! Можешь помочь? - помоги, а если нет то пройди мимо! Прекращай этот флуд не кому не нужен!
ты угараешь чтоли, ты меньше пизди, я тебе что должен либу от делать не хуй подрубать ?
меньше читай, запусти , подключи, и настрой, вот сейчас ты трепло
 

LiMe

Client
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
ты код покажи
Code:
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
Joined
Dec 10, 2015
Messages
628
Reaction score
345
Points
63
ssXXXss, когда ты уже перестанешь быть треплом? Я уже устал читать твой бред по всему форуму, тебе что скучно живется? Человек попросил помощи, тебе лень открыть ПМ и помочь человеку не словом а делом? Или ты кайф получаешь за свой флуд по всему форуму? Вроде грамотный чел, знающий C# а ведешь себя как пацан на дискотеке перед телками! Можешь помочь? - помоги, а если нет то пройди мимо! Прекращай этот флуд не кому не нужен!
Ребят, можно жить дружно, человек и так очень помог, я хоть теперь знаю как это все выглядит изнутри. А так бы дали, потыкал по скринам, и забыл бы. Спасибо вам, что откликнулись:-)
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Code:
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();
 
  • Thank you
Reactions: samsonnn

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,374
Reaction score
2,043
Points
113
Ребят, можно жить дружно, человек и так очень помог, я хоть теперь знаю как это все выглядит изнутри. А так бы дали, потыкал по скринам, и забыл бы. Спасибо вам, что откликнулись:-)
да ему откуда это знать, он раньше любил бесплатно снипеты получать а сейчас пиздеть типо заебало читать что типо умным стал
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)