我想从 IMAP 收件箱获取最后一条邮件 UID



如何使用IMAP命令查找最后一封电子邮件(消息UID)。

我正在使用 Windows PC 上的腻子连接到 imap 服务器。

当您选择收件箱时,它会通过EXISTS响应告诉您邮件中有多少封邮件。 此数字也是运行邮箱的最高邮件序列号。然后,可以通过提取此邮件的 UID 来获取邮箱中最高的 UID。

那是:

 a SELECT INBOX
 ...
 * 23 EXISTS
 ....
 b FETCH 23 (UID)
 * 23 FETCH (UID 207)
 b OK

因此,207 是邮箱中最高的 UID。

您也可以执行 UID 搜索所有并获取返回的最大数字。

最简单的方法是请求由*标识的消息UID,该消息表示正在使用的最大数字:

>>>选择收件箱...<<<* 3 存在<<<确定>>> b FETCH * (UID)<<<* 3 提取 (UID 283)<<

也就是说,我很好奇你为什么想知道邮箱中最高的 UID。这种价值往往是毫无意义的;对于任何 IMAP 命令,您都不需要它,也不表示该邮箱中曾经存在的 UID 的任何上限 - 您希望跟踪该命令的UIDNEXT

最新更新