Estoy trabajando en un proyecto de cliente de correo utilizando C#. Estoy usando el protocolo POP e IMAP para comunicarme con el servidor. El problema es que no puedo entender por qué cuando quiero obtener el UID para un mensaje, el resultado del servidor POP y el servidor IMAP son diferentes.Cómo determinar el UID de un mensaje en IMAP
POP
C: UIDL 1
S: +OK 1 UID2-1269789826
y
IMAP
C: $ FETCH 1 (UID)
S: * 1 FETCH (UID 2)
S: $ OK Fetch completed.
Por qué el resultado para obtener el UID es tan diferente? En IMAP, ¿otra función para esto? Cualquier ayuda es bienvenida. Gracias.
UID es único cuando se combina con UIDVALIDITY y es específico de una carpeta (el protocolo IMAP lo llama un buzón) (ver http://tools.ietf.org/html/rfc3501#section-2.3.1.1 para más detalles). Sin embargo, aunque el combo UID/UIDVALIDITY resuelve los duplicados, no se garantiza que permanezca intacto: los servidores pueden cambiar la UIDVALIDITY, aunque no se recomienda. –
Además, tenga en cuenta que Gmail proporciona realmente MSGID que se garantiza que son únicos y no cambian. Use la extensión "ID de mensaje único de Gmail" (MSGID) para acceder a esta funcionalidad: https://developers.google.com/gmail/imap_extensions –