Saltar al contenido

python imaplib: marque el correo electrónico como no leído o no visto

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *