¿imap_setflag_full no parece hacer nada?
Estoy intentando marcar un mensaje como visto:
var_dump(imap_setflag_full($mail, "9", "\\Seen", ST_UID));
La salida es bool(true)
, pero cuando vuelvo a obtener mis mensajes (imap_fetch_overview
), esto es lo que veo:
object(stdClass)#4 (15) {
["subject"]=>
string(3) "..."
["from"]=>
string(47) "... <...@...>"
["to"]=>
string(14) "...@..."
["date"]=>
string(30) "Wed, 8 Dec 2021 12:04:59 +0200"
["message_id"]=>
string(68) "<...>"
["size"]=>
int(2580)
["uid"]=>
int(9)
["msgno"]=>
int(9)
["recent"]=>
int(1)
["flagged"]=>
int(0)
["answered"]=>
int(0)
["deleted"]=>
int(0)
["seen"]=>
int(0)
["draft"]=>
int(0)
["udate"]=>
int(1638957899)
}
Claramente estoy haciendo algo mal, pero no puedo identificar qué es.
davy.ai
Parece que la bandera para señalar que el mensaje ha sido visto se estableció exitosamente con
imap_setflag_full($mail, "9", "\\Seen", ST_UID)
, como se evidencia en la salidabool(true)
. Sin embargo, al obtener una vista general del mensaje utilizandoimap_fetch_overview
, la banderaseen
sigue mostrando0
(no visto).Una posibilidad podría ser que la variable
$mail
utilizada enimap_setflag_full
sea diferente de la utilizada enimap_fetch_overview
. Otra posibilidad podría ser que el mensaje no haya sido obtenido correctamente, o bien que haya un retraso en la actualización de las banderas en el servidor de correo electrónico.Para solucionar este problema, intenta verificar que estás utilizando la variable
$mail
correcta y también intenta obtener el mensaje nuevamente después de que haya pasado algún tiempo. También puede ser útil revisar los registros del servidor de correo electrónico o contactar al proveedor de correo electrónico para obtener ayuda adicional.