Ya no tienes que investigar más en otros sitios ya que llegaste al lugar justo, poseemos la respuesta que deseas pero sin problemas.
Solución:
Puede borrar fácilmente el Seen
banderas con este comando:
tag UID STORE -FLAGS (Seen)
pero su software probablemente será más robusto si solo configura el Seen
bandera en primer lugar después de haber procesado con éxito un mensaje. De esa forma, si algo sale mal mientras está procesando un mensaje (incluso si la conexión con el servidor IMAP está interrumpida), el indicador permanece sin establecer y puede volver a intentar ese mensaje la próxima vez que se ejecute el script. Para ello, evite la configuración automática del servidor IMAP de la Seen
marcar usando BODY.PEEK
en vez de BODY
.
En Python, yo pensar que STORE
El comando debería emitirse así, pero no lo he probado.
connection.uid('STORE', '-FLAGS', '(Seen)')
En Python, el módulo imaplib describe STORE como:
(typ, [data]) = .store(message_set, command, flags)
por lo tanto, la siguiente línea le permitirá configurar el mensaje para LEER (“+FLAGS”) o NO LEER (“-FLAGS”) según sea necesario.
connection.uid('STORE', MESSAGE_ID, '+FLAGS', 'SEEN')
Como ves, los secretos están en el comando FLAGS 😉
Si estás de acuerdo, tienes la libertad de dejar una sección acerca de qué le añadirías a este enunciado.