Problema obteniendo el flag SEEN en IMAP,--- siempre es false

scastroc
12 de Noviembre del 2008


Buenas a [email protected]:

Necesito obtener el valor del flag SEEN en IMAP, pero siempre es false

Resumiendo:



1)Primeramente imprimo los flags permanentes:


...........
folderUsuarios.open(Folder.READ_WRITE);
Message[] messages = folderUsuarios.getMessages();
///////////////////////////////////////////////////////////

Flags flags2 = folderUsuarios.getPermanentFlags();
System.out.println("**************************.........");

if (flags2.contains(Flags.Flag.ANSWERED)){System.out.println("ANSWERED message");}
if (flags2.contains(Flags.Flag.DELETED)){System.out.println("DELETED message");}
if (flags2.contains(Flags.Flag.DRAFT)){System.out.println("DRAFT message");}
if (flags2.contains(Flags.Flag.FLAGGED)){System.out.println("FLAGGED message");}
if (flags2.contains(Flags.Flag.RECENT)){System.out.println("RECENT message");}
if (flags2.contains(Flags.Flag.SEEN)){System.out.println("SEEN message");}
if (flags2.contains(Flags.Flag.USER)){System.out.println("USER message");}

el resultado es:

**************************.........
ANSWERED message
DELETED message
DRAFT message
FLAGGED message
SEEN message
USER message



En este punto, yo sé que mi mensaje tiene todos los flags anteriores.



2)Comprobando el flag SEEN

.....................

for(int l=0;l<messages.length;l++){
if(!messages[l].isExpunged()){ //NO DELETED

//**SUBJECT
System.out.println("");
System.out.println("--> Message subject "+ (l+1) +":" + messages[l].getSubject());
System.out.println("---------------------");
System.out.println(" SEEN:" + messages[l].isSet(Flags.Flag.SEEN));
System.out.println("---------------------");

El resultado es

-> Message subject 1: (obtiene bien el subject)
---------------------
SEEN:false
---------------------

--> Message subject 2: (obtiene bien el subject)
---------------------
SEEN:false
---------------------

--> Message subject 3: (obtiene bien el subject)
---------------------
SEEN:false
---------------------


....................


El resultado es siempre false.

sabe alguien cómo resolver este problema o cual puede ser el problema a la hora de obtener el flag SEEN?

Muchas gracias por todo.

Saludos,

Sonia