如何使用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
。