IMAP:搜索UID大于X的邮件(或者通常在我上次搜索之后)

时间:2012-02-05 06:38:01

标签: email gmail imap gmail-imap

我正在编写一个脚本来分析我的邮箱,并希望定期检查新邮件。搜索条件是:给我UID大于X的所有电子邮件的UID,其中X是我处理的最后一封电子邮件的UID。

或者,更一般地说,我正在寻找一种仅在上次搜索后才能看到消息的方法。

请注意,我不是在寻找看到/看不见的消息;该脚本以只读方式打开邮箱,我希望它不会干扰我的标志等。

我知道我可以在IMAP搜索中指定日期,但其粒度似乎是白天,所以不完全是我需要的。

我开始使用Gmail作为IMAP服务器,但希望将来支持通用IMAP服务器。

有没有办法搜索UID大于X的电子邮件?或者从消息X开始指定所有消息的另一种方法?

2 个答案:

答案 0 :(得分:19)

您可以将IMAP SEARCH用于UID。假设你最近获得的UID是1999年,我想你会这样做:

SEARCH UID 2000:*

答案 1 :(得分:1)

为什么不使用IMAP IDLE?

使用IMAP IDLE,服务器会在每次收到新邮件时发出警告