用于获取新邮件的IMAP库

时间:2012-06-07 23:06:11

标签: c# imap

我需要通过IMAP从邮件服务器读取邮件并存储在数据库中。我的问题是

  1. 我怎么知道哪些邮件已经存储在DB中,哪些邮件已经存在。基于时间戳?但在这种情况下,我必须遍历所有邮件并获取时间戳。我不想循环或收到所有邮件,因为邮箱会很大。
  2. 我应该采取什么方法? 我应该将新邮件转发到临时帐户 - 从该帐户读取然后删除该邮件吗?

    请尽快告诉我

    由于

1 个答案:

答案 0 :(得分:0)

问题是您是否需要在IMAP服务器上保留这些电子邮件?或者你可以在下载后删除它们吗?

所有IMAP服务器在到达邮箱时为每封电子邮件分配一个特殊的唯一ID(uid)。 Uids以增量顺序分配。在大多数服务器的情况下,这些uid在会话中也是稳定的,并且永远不会改变。

这意味着要知道哪些电子邮件是新的,您只需记住您​​之前下载的最后一个

对于阅读电子邮件,您需要IMAP library,我推荐这个:http://www.limilabs.com/mail,但请注意我参与了开发,它是商业产品。

这篇文章介绍了如何get new emails from the serverdetails on unique id in IMAP