C#Imap客户端列表电子邮件头信息性能

C#Imap客户端列表电子邮件头信息性能,c#,imap,C#,Imap,我正在使用imap电子邮件客户端。 我有一个搜索功能,它工作得很好。 它返回一个自定义的EmailHeaderInfo列表 此EmailheaderInfo类包含以下属性: UID,Subject,From(System.Net.Mail.mailaddress,其也包含显示名),日期(接收),大小,标志(检查已读/未读状态)和附件(检查电子邮件是否有附件)。我用正确的字符集存储这个类中的所有内容 在这个搜索函数中,我使用Imapsearch命令来获取UID,并使用这个UID 我使用以下获取命令

我正在使用imap电子邮件客户端。
我有一个搜索功能,它工作得很好。
它返回一个自定义的EmailHeaderInfo列表

此EmailheaderInfo类包含以下属性: UID,Subject,From(System.Net.Mail.mailaddress,其也包含显示名),日期(接收),大小标志(检查已读/未读状态)和附件(检查电子邮件是否有附件)。我用正确的字符集存储这个类中的所有内容

在这个搜索函数中,我使用Imapsearch命令来获取UID,并使用这个UID 我使用以下获取命令:

UID FETCH“+uids[i]+”(UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS(从主题内容类型接收)])

每次抓取之后,我用regexp获取大小和标志,并用parse头获取其他信息

目前,列出250封电子邮件需要8秒

我真的很想听听其他人对如何加快速度的意见或建议

更新:

我使用messagetset运行Fetch命令(我根据搜索命令结果创建了一个messageset)


现在列出约450封邮件需要1-2秒。最后,它真的很快。

首先,您需要检查消息信息返回时间。服务器返回所有信息而不进行解析的速度。 然后你可以看到你花了多少时间

离题说明: 根据IMAP,任何字符串都可以表示为字符串文字。 所以你需要准备好接受他们。 这意味着命令可以扩展到多行,您需要读取更多行才能获得完整的数据。。。 RFC 3501字符串文字将描述它