Ответ 1
Вы можете использовать IMAP SEARCH для UID. Предполагая, что ваш последний выбранный UID - 1999, я думаю, вы бы сделали:
SEARCH UID 2000:*
Я пишу script для анализа моего почтового ящика и хочу периодически проверять наличие новых сообщений. Критерии поиска: дать мне UID для всех писем с UID больше X, где X - это UID последнего обработанного мной письма.
Или, в общем, я ищу способ видеть сообщения только с момента последнего поиска.
Заметьте, что я не ищу увиденные/невидимые сообщения; script открывает почтовый ящик как доступный только для чтения, и я бы хотел, чтобы он не мешал моим флагам и т.д.
Я знаю, что я могу указать дату в поиске IMAP, но зернистость этого, похоже, будет днем, поэтому не совсем то, что мне нужно.
Я начинаю с Gmail как IMAP-сервер, но хочу поддерживать общие IMAP-серверы в будущем.
Есть ли способ поиска писем с UID больше X? Или другое средство для указания всех сообщений с момента сообщения X?
Вы можете использовать IMAP SEARCH для UID. Предполагая, что ваш последний выбранный UID - 1999, я думаю, вы бы сделали:
SEARCH UID 2000:*
Почему бы не использовать IMAP IDLE для этого?
с IMAP IDLE, сервер предупреждает вас каждый раз, когда приходит новое сообщение