18

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

或者,更一般地说,我正在寻找一种仅查看自上次搜索以来的消息的方法。

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

我知道我可以在 IMAP 搜索中指定一个日期,但它的粒度似乎是按天计算的,所以不完全是我需要的。

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

有没有办法搜索 UID 大于 X 的电子邮件?还是另一种指定自消息 X 以来的所有消息的方法?

4

2 回答 2

22

您可以对 UID 使用 IMAP SEARCH。假设您最近获取的 UID 是 1999 年,我认为您会这样做:

SEARCH UID 2000:*

于 2012-02-05T10:48:05.197 回答
1

为什么不为此使用 IMAP IDLE?

使用 IMAP IDLE,每次有新消息到达时服务器都会向您发出警告

于 2013-06-27T09:45:23.827 回答