|
1
|
| Sartheris Stormhammer · 技术社区 · 11 年前 |
|
|
1
3
嗯,您需要文件夹中所有邮件的UID或索引。如果文件夹中有大量邮件,并且IMAP服务器不支持ESEARCH扩展(和/或ImapX不利用ESEARCH的扩展),那么服务器将发送回一堵巨大的文本墙,可能需要很长时间才能传输。 我所指的文本墙看起来像这样:
每条消息都有一个号码。 使用ESEARCH,您将获得:
但这有点离题,因为看起来ImapX将下载所有匹配的消息,在您的情况下,这是文件夹中的所有消息。
您的搜索效率也极低。如果您只希望邮件以
您仍然必须保留item.Subject.StartsWith()检查,因为IMAP无法检查字符串是否以字符串开头或结尾,它只是执行“包含”类型搜索。 但是这个搜索查询将返回更少的匹配项,这意味着ImapX将下载更少的消息,这意味意味着它应该更快。 不幸的是,对于你正在做的事情来说,它仍然非常低效,因为你所关心的只是主题字符串,而不是整个消息。 我对ImapX不够熟悉,无法使其更高效,但如果您使用 MailKit 例如,您可以这样做:
希望这会有所帮助。 |
|
|
2
2
通过限制电子邮件的下载部分,可以稍微提高性能。
只有主题和标题将被下载。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |