AE.Net.Mail-IMAP UID跟踪以获取最新电子邮件

AE.Net.Mail-IMAP UID跟踪以获取最新电子邮件,.net,email,imap,gmail-imap,.net,Email,Imap,Gmail Imap,我正在成功使用AE.Net.Mail库从imap文件夹检索邮件。我现在正在尝试构建一个部分,它只允许我检查过去没有检索到的消息。如果我存储我检索的最后一封邮件的UID(针对特定邮箱),我会有点困惑如何使用它来: -请求任何比UID更新的消息 -请求最多x条消息(即100条) 库请求我发送一个“开始”和“结束”uid,但我更喜欢只发送“开始”uid,然后限制返回的MSG数量,或者如果我想检索超过开始的所有内容,则不能为结束uid设置任何内容 我看错了吗 IMAP允许您将“*”作为结束UID发送。希

我正在成功使用AE.Net.Mail库从imap文件夹检索邮件。我现在正在尝试构建一个部分,它只允许我检查过去没有检索到的消息。如果我存储我检索的最后一封邮件的UID(针对特定邮箱),我会有点困惑如何使用它来:

-请求任何比UID更新的消息

-请求最多x条消息(即100条)

库请求我发送一个“开始”和“结束”uid,但我更喜欢只发送“开始”uid,然后限制返回的MSG数量,或者如果我想检索超过开始的所有内容,则不能为结束uid设置任何内容


我看错了吗

IMAP允许您将“*”作为结束UID发送。希望您的库支持它

raw命令如下所示: UID获取739:*([项目])


不幸的是,返回的消息数量没有限制。如果你想这样做,你需要指定一个结束号,或者你想要的消息的完整序列。

奇怪的是,如果我请求一个超过可用范围的uid,它似乎会返回一条消息,这是最后一条(可用的最高uid)。这听起来像是标准行为吗?不,不是。然而,并非所有UID都必须存在,所以在您的范围内可能只有一条消息?不,我会请求起始UID,比如13。。它只会返回一条消息,uid12。我不知道这是标准的还是gmail的功能。我猜这就是它告诉你“你的uid太高了,这是我们的最高值……”