C# 用于获取新邮件的IMAP库

C# 用于获取新邮件的IMAP库,c#,imap,C#,Imap,我需要通过IMAP从邮件服务器读取邮件并存储在数据库中。我的问题是 我如何知道哪些邮件已经存储在DB中,哪些现在正在存储。基于时间戳?但在这种情况下,我必须循环浏览所有邮件并获取时间戳。我不想循环浏览或收到所有邮件,因为邮箱会很大。 我应该采取什么方法? 我是否应该将新邮件转发到临时帐户-从该帐户读取,然后删除该邮件 请尽快告诉我 谢谢问题是您是否需要将这些电子邮件保留在IMAP服务器上?或者你可以在下载后直接删除它们吗 所有IMAP服务器在每封电子邮件到达邮箱时都会为其分配一个特殊的唯一ID

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

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

请尽快告诉我


谢谢

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

所有IMAP服务器在每封电子邮件到达邮箱时都会为其分配一个特殊的唯一ID uid。 UID是按增量顺序分配的。对于大多数服务器来说,这些UID在会话中也是稳定的,并且从不改变

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

对于阅读电子邮件,你需要一个,我推荐这一个:,但请注意,我参与了开发,这是一个商业产品


这篇文章介绍了如何使用和

我正在为IMAP构建库我的搜索命令用于收件箱文件夹,它返回一个号码,我可以使用该号码获取邮件。但是,当我尝试搜索发送的项目时,它不起作用,它不会给出错误,只是返回search OK,没有任何数字。你能指出为什么会有这种行为吗。我正在访问Exchange 2010。我的search命令类似于search all HEADER Message ID这正是中描述的内容,但我找不到解决方案。非常紧急,请帮忙。谢谢