Quanto sono affidabili UID IMAP?
-
12-10-2019 - |
Domanda
sto scrivendo un crawler IMAP, che fa parte di un app Open Source, e per incrementale strisciando mi piacerebbe utilizzare i UID dei messaggi per scoprire se ho già visto un particolare messaggio o meno.
Ora ho trovato un post da 2007, che dice UID IMAP non sono sempre affidabili. Più in particolare, se il flag UIDNOTSTICKY è impostato, non è possibile assumere le UID sono sempre gli stessi. Quindi la mia domanda è, devo prendere il caso UIDNOTSTICKY = true sul serio, o sono i server IMAP con UID non appiccicosi roba legacy e non in (molto diffuso) uso più?
Soluzione
Se il codice di risposta UIDNOTSTICKY viene restituito nel corso di una SELECT o ESAMINARE, potrai anche vedere che il valore UIDVALIDITY sulla cassetta postale (il termine IMAP per una cartella) cambia ogni volta che si seleziona o esaminare la cassetta postale. Ma bisogna verificare la presenza di un cambiamento di UIDVALIDITY comunque dato UIDVALIDITY della cassetta postale non è garantito immutabile, e tale modifica invalida tuoi UID nella cache. Sì, i valori UIDVALIDITY in generale non cambiano. Ma il codice di intenzione di avere a che fare con questo caso, e così facendo avrete anche ricoperto il caso UIDNOTSTICKY.