C# MailKit Imap仅获取消息ID

C# MailKit Imap仅获取消息ID,c#,mailkit,C#,Mailkit,标题概括了这一点。我需要从Imap文件夹中获取所有MessageId属性,而无需下载整个邮件 ... IMailFolder inbox = imapClient.Inbox; SearchQuery query = SearchQuery.All; IList<UniqueId> idsList = inbox.Search(query); foreach (var uid in idsList) { MimeMessage message = inbox.GetMessa

标题概括了这一点。我需要从Imap文件夹中获取所有MessageId属性,而无需下载整个邮件

...
IMailFolder inbox = imapClient.Inbox;
SearchQuery query = SearchQuery.All;

IList<UniqueId> idsList = inbox.Search(query);

foreach (var uid in idsList)
{
  MimeMessage message = inbox.GetMessage(uid);//This gets the entire message
    //but I only need the .MessageId, without getting the other parts
    if (message != null)
    {
       string messageId = message.MessageId;
    }
}
...
。。。
IMailFolder inbox=imapClient.inbox;
SearchQuery=SearchQuery.All;
IList idsList=inbox.Search(查询);
foreach(idsList中的变量uid)
{
MimeMessage message=inbox.GetMessage(uid);//这将获取整个消息
//但我只需要.MessageId,不需要其他部分
如果(消息!=null)
{
字符串messageId=message.messageId;
}
}
...
试试这个:

var summaries = client.Inbox.Fetch (0, -1, MessageSummaryItems.Envelope);
foreach (var message in summaries) {
    Console.WriteLine (message.Envelope.MessageId);
}
那应该会让你得到你想要的