Получение электронной почты с помощью Mailkit в порядке по дате – нужен более быстрый способC#

Место общения программистов C#
Anonymous
Получение электронной почты с помощью Mailkit в порядке по дате – нужен более быстрый способ

Сообщение Anonymous »

Мне нужно получать электронные письма в пакетном режиме из почтового ящика, который прошел несколько миграций.
Раньше был поставщик электронной почты, затем почтовый ящик был перенесен в Gmail, а затем перенесен в O365. >
Когда я пытаюсь получить данные по UID следующим образом:

Код: Выделить всё

IMailFolderObject.Fetch(startingUID, EndUID, MessageSummaryItemsObject);
... электронные письма не извлекаются в обратном порядке дат.
Чтобы получать электронные письма в обратном порядке дат через Mailkit, я пытался следовать.

Код: Выделить всё

var list = IMailFolderObject
.Fetch(0, -1, MessageSummaryItems.Envelope | MessageSummaryItems.UniqueId)
.ToList();

list.Sort(new OrderBy[] { OrderBy.Date });
Электронные письма загружаются, но выполнение задания занимает очень много времени, поскольку почтовый ящик очень большой.
Я не хочу получать все электронные письма и сортирую их в моей программе. Я хотел бы получить данные партиями в обратном порядке дат, отсортированные сервером.
Есть ли способ...

[*]Получить 50 лучших электронных писем, отсортированных по убыванию даты (поскольку я не могу гарантировать, что порядок UID не соответствует порядку убывания даты)
[*]Получать дополнительные пакеты по 50 по порядку в последующих вызовах ?


Подробнее здесь: https://stackoverflow.com/questions/726 ... faster-way

Вернуться в «C#»