跳过并从服务器MailKit接收电子邮件

时间:2019-05-23 21:13:45

标签: c# mailkit

我有问题。我的用户有很多电子邮件(〜5000封电子邮件) 我尝试通过“跳过并获取”仅收到20封电子邮件。 (我正在尝试进行无休止的滚动)但是我的代码太长了,因为我收到了所有电子邮件的ID,然后我调用了FetchAsync方法并调用了“跳过并接受”。 如何从电子邮件服务器仅接收20封带有摘要信息的电子邮件? 我尝试获取allIds var = 20

的计数
(1,4)

1 个答案:

答案 0 :(得分:1)

尝试以下解决方案:

await folder.OpenAsync(FolderAccess.ReadOnly).ConfigureAwait(false);

var ids = (await folder.SortAsync(SearchOptions.All, SearchQuery.All, new[] {OrderBy.ReverseDate}).ConfigureAwait(false)).UniqueIds
    .Skip(offset)
    .Take(limit)
    .ToArray();

var items = await folder.FetchAsync(ids,
    MessageSummaryItems.Envelope | MessageSummaryItems.Flags | MessageSummaryItems.Full |
    MessageSummaryItems.UniqueId | MessageSummaryItems.PreviewText | MessageSummaryItems.BodyStructure).ConfigureAwait(false);
相关问题