POP3 e IMAP sono due protocolli distinti. Gli UID utilizzati da questi due protocolli non sono correlati e non dovrebbero essere affatto uguali. Infatti, un UID POP3 è una stringa arbitraria mentre un UID IMAP è un numero a 32 bit (trasmesso come stringa).
In teoria, è possibile scrivere un server di posta che supporta sia IMAP che POP3 utilizzano lo stesso UID per entrambi i protocolli, ma non sono a conoscenza di alcun server che farebbe effettivamente questo. In pratica, è necessario considerare gli UID POP3 e gli UID IMAP come valori non correlati.
RFC 1939 (POP3): L'unica-id di un messaggio è una stringa server determinata arbitraria, composto da uno a 70 caratteri nell'intervallo 0x21 a 0x7E, che identifica univocamente un messaggio all'interno di un maildrop e che persiste attraverso le sessioni.
RFC 3501 (IMAP): (Unique Identifier (UID) Messaggio attributo è) un valore a 32 bit assegnato a ciascun messaggio, che quando viene utilizzato con il valore di identificatore di validità univoco (vedi sotto) forma un 64-bit valore che NON DEVE fare riferimento a nessun altro messaggio nella casella di posta o qualsiasi casella postale successiva con lo stesso nome per sempre.
fonte
2010-03-30 19:31:15
UID è unico quando combinato con UIDVALIDITY ed è specifico per una cartella (il protocollo IMAP lo chiama una casella di posta) (per i dettagli, consultare http://tools.ietf.org/html/rfc3501#section-2.3.1.1). Tuttavia, anche se la combinazione UID/UIDVALIDITY risolve i duplicati, non è garantito che rimanga intatto: i server possono modificare UIDVALIDITY, anche se è scoraggiato. –
Inoltre, tieni presente che Gmail fornisce effettivamente MSGID che sono garantiti come unici e non cambiano. Utilizza l'estensione "ID messaggio unico Gmail" (MSGID) per accedere a questa funzionalità: https://developers.google.com/gmail/imap_extensions –