2

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

我在 windows pc 上使用 putty 连接到 imap 服务器。

4

2 回答 2

2

最简单的方法是询问代表正在使用的最大数量UID的消息:*

>>> 一个选择收件箱
...
<<< * 3 存在
<<< a OK [READ-WRITE] 选择完成。

>>> b FETCH * (UID)
<<< * 3 获取 (UID 283)
<<< b OK 提取完成。

也就是说,我很好奇你为什么想知道邮箱中最高的 UID。这个值通常是没有意义的;对于任何 IMAP 命令,您都不需要它,并且它不代表邮箱中曾经存在的 UID 的任何上限——您想要跟踪UIDNEXT它。

于 2013-10-08T05:53:07.323 回答
2

EXISTS当您选择收件箱时,它会通过回复告诉您消息中有多少条消息。这个数字也是运行邮箱的最高消息序列号。然后,您可以通过获取此消息的 UID 来获取邮箱中最高的 UID。

那是:

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

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

您也可以执行 UID SEARCH ALL 并获取返回的最大数字。

于 2013-10-08T03:13:37.243 回答