Frage

Ich bin ein IMAP-Crawler zu schreiben, die einen Teil einer Open-Source-Anwendung ist, und für inkrementale kriechen Ich möchte die Nachricht UIDs verwenden, um herauszufinden, ob ich schon eine bestimmte Nachricht gesehen haben oder nicht.

Jetzt habe ich gefunden ein Post aus 2007, die besagt, IMAP UIDs sind nicht immer zuverlässig. Genauer gesagt, wenn das Flag UIDNOTSTICKY gesetzt ist, können Sie die UIDs immer nicht davon ausgehen, sind die gleichen. Also meine Frage ist, kann ich den Fall UIDNOTSTICKY = true ernst nehmen müssen, oder IMAP-Server ist mit nicht-klebrigen UIDs Vermächtnis Sachen und nicht in (verbreitet) Verwendung mehr?

War es hilfreich?

Lösung

siehe

Wenn der UIDNOTSTICKY Antwortcode während eines SELECT oder EXAMINE zurückgegeben wird, werden Sie auch, dass der UIDVALIDITY Wert auf der Mailbox (IMAP-Begriff für einen Ordner) Änderungen, die Sie jedes Mal, SELECT oder die Mailbox EXAMINE. Aber Sie haben trotzdem für einen Wechsel in UIDVALIDITY zu überprüfen, da das UIDVALIDITY Postfach ist nicht unveränderlich garantiert, und eine solche Änderung entkräftet im Cache befindlichen UIDs. Ja, UIDVALIDITY Werte im Allgemeinen nicht ändern. Aber der Code ist los mit dem Fall befassen zu müssen, und indem so dass Sie auch den UIDNOTSTICKY Fall abgedeckt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top