Piszę skrypt do analizy mojej skrzynki pocztowej i chcę okresowo sprawdzać, czy nie pojawiły się nowe wiadomości. Kryteriami wyszukiwania byłyby: podaj mi identyfikatory UID dla wszystkich wiadomości e-mail z UID większym niż X, gdzie X jest identyfikatorem UID ostatniego przetworzonego e-maila.IMAP: Wyszukiwanie wiadomości z UID większym niż X (lub ogólnie po moim ostatnim wyszukiwaniu)
Lub, bardziej ogólnie, szukam sposobu, aby zobaczyć tylko wiadomości od czasu mojego ostatniego wyszukiwania.
Pamiętaj, że nie szukam wiadomości widzianych/niewidocznych; skrypt otwiera skrzynkę pocztową jako tylko do odczytu i chciałbym, żeby to nie zakłócało moich flag, itp.
Wiem, że mogę określić datę w wyszukiwarce IMAP, ale ziarnistość tego wydaje się być dzień, więc nie dokładnie to, czego potrzebuję.
Zaczynam od Gmaila jako serwera IMAP, ale w przyszłości chcę obsługiwać generyczne serwery IMAP.
Czy istnieje sposób wyszukiwania wiadomości z UID większym niż X? Lub inny sposób określenia wszystkich wiadomości od czasu wiadomości X?
potwierdził Courier-IMAP – Joril
powinny być zaakceptowane odpowiedź. Również nie jestem pewien, czy zrozumiałem dokładnie RFC: czy jesteśmy w 100% pewni, że dany UID nigdy nie zostanie użyty ponownie w czasie? (usuwanie e-maili, itp.) – lajarre
@lajarre to nie jest coś, co rozumiem wystarczająco, aby odpowiedzieć w pełni. Jeśli poprosisz o to jako oddzielne pytanie w StackOverflow, możesz uzyskać lepszą odpowiedź. Zgodnie z RFC 3501 sekcja 2.3.1.1, UID "NIE MOŻNA zmieniać podczas sesji i NIE POWIODAĆ się między sesjami" i zmiany UID "MUSZĄ być wykrywalne przy użyciu mechanizmu UIDVALIDITY" – SimonMayer