【问题标题】:C# Imap client list email headerinfo performanceC# Imap 客户端列表电子邮件 headerinfo 性能
【发布时间】:2011-12-12 12:25:42
【问题描述】:

我正在开发 imap 电子邮件客户端。
我有一个搜索功能,效果很好。
它返回一个自定义的 EmailHeaderInfo 列表。

此 EmailheaderInfo 类包含以下属性: UID、主题、发件人(System.Net.Mail.MailAdress,它也包含显示名称)、日期(接收)、大小标记(检查已读/未读状态)和附件(检查电子邮件是否有附件)。我使用正确的字符集将所有内容存储在此类中。

在此搜索功能中,我使用 Imap SEARCH 命令获取 uid,并使用此 uid 我使用以下 FETCH 命令:

UID FETCH " + uids[i] + " (UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (Received From Subject Content-Type)])

每次 Fetch 后,我都会使用正则表达式获取大小和标志,以及使用解析头获取其他信息。

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

我真的很好奇其他人对如何使其更快的意见或建议。

更新:

我使用消息集运行 Fetch 命令(我根据 SEARCH 命令结果创建了一个消息集)。

现在列出约 450 封邮件需要 1-2 秒。终于快了。

【问题讨论】:

    标签: c# imap


    【解决方案1】:

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

    题外话: 主题,从组成字符串,根据 IMAP,任何字符串都可以表示为字符串文字。 所以你需要准备好接收它们。 这意味着命令可以扩展到多行,您需要阅读更多行才能获得完整的数据...... RFC 3501 字符串文字将对其进行描述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 2013-08-25
      • 2013-03-03
      • 2014-06-21
      • 2012-04-01
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多