python imaplib - mark email as unread or unseen

前端 未结 3 1674
夕颜
夕颜 2020-12-11 04:53

Searching here and on the internet, there are a lot of examples to how to mark a message as SEEN, even though this is automatic with imap.

But how can I mark an emai

3条回答
  •  难免孤独
    2020-12-11 05:24

    You can easily clear the \Seen flags with this command:

    tag UID STORE -FLAGS (\Seen)
    

    but your software will probably be more robost if you only set the \Seen flag in the first place after you have successfully processed a message. That way, if anything goes wrong while you are processing a message (even if the connection to the IMAP server is broken) the flag remains unset and you can retry that message the next time the script runs. You do this by avoiding the IMAP server's automatic setting of the \Seen flag by using BODY.PEEK instead of BODY.

    In Python, I think that STORE command should be issued like this but I haven't tried it.

    connection.uid('STORE', '-FLAGS', '(\Seen)')
    

提交回复
热议问题