Get starred messages from GMail using IMAP4 and python

后端 未结 2 676
挽巷
挽巷 2021-02-15 23:57

I found many dummy info about working with IMAP, but I didn\'t understand how to use it for my purposes. I found how I can get ALL messages from mailbox and ALL SEEN messages, b

2条回答
  •  北荒
    北荒 (楼主)
    2021-02-16 00:20

    Gmail's "Starred" state maps directly onto the IMAP \Flagged keyword. So you can toggle a message's star by setting or unsetting \Flagged on the message:

    IMAP4.store(num, '+FLAGS', '\\Flagged')
    

    You can search for starred messages by searching for FLAGGED (or for unstarred messages via UNFLAGGED):

    IMAP4.search(None, 'FLAGGED')
    

    Gmail even gives you a virtual folder containing all starred messages. If you SELECT "[Gmail]/Starred", you'll get a view of all the starred messages in the mailbox:

    IMAP4.select('[Gmail]/Starred')
    

提交回复
热议问题