如何使用 IMAP 命令查找最后一封电子邮件(消息 UID)。
我在 windows pc 上使用 putty 连接到 imap 服务器。
最简单的方法是询问代表正在使用的最大数量UID
的消息:*
>>> 一个选择收件箱 ... <<< * 3 存在 <<< a OK [READ-WRITE] 选择完成。 >>> b FETCH * (UID) <<< * 3 获取 (UID 283) <<< b OK 提取完成。
也就是说,我很好奇你为什么想知道邮箱中最高的 UID。这个值通常是没有意义的;对于任何 IMAP 命令,您都不需要它,并且它不代表该邮箱中曾经存在的 UID 的任何上限——您想要跟踪UIDNEXT
它。
EXISTS
当您选择收件箱时,它会通过回复告诉您消息中有多少条消息。这个数字也是运行邮箱的最高消息序列号。然后,您可以通过获取此消息的 UID 来获取邮箱中最高的 UID。
那是:
a SELECT INBOX
...
* 23 EXISTS
....
b FETCH 23 (UID)
* 23 FETCH (UID 207)
b OK
因此,207 是邮箱中最高的 UID。
您也可以执行 UID SEARCH ALL 并获取返回的最大数字。