imapclient.IMAPClient [видно] Флаг в Python - PullRequest
0 голосов
/ 11 апреля 2020

Я обрабатываю электронные письма, используя imapclient.IMAPClient в Python и хочу пометить успешно обработанные электронные письма как "увиденные" в конце. Я пробовал разные способы, но они либо не помечают всю успешную электронную почту, либо не отображаются как "прочитанные" в моем почтовом ящике Gmail. Я ищу способ обновления флагов входящих сообщений Gmail для успешно обработанных электронных писем с использованием IMAP.

Ниже приведено краткое описание кода, который я пробовал:

imapObj = imapclient.IMAPClient(self.server_host, ssl=True)
imapObj.login(self.user_name, self.password)
imapObj.select_folder(email_folder, readonly=False)
#searches unseen emails with subject containing document
self.emails = imapObj.search(
        [search_criterion1, search_value1,
        search_criterion2, search_value2,
        search_criterion3, search_value3,
        search_flag])

#using PEEK to not mark all the emails as [Seen]
self.raw_messages = imapObj.fetch(self.emails, 'BODY.PEEK[]')
self.successful_emails = []
for i, self.email_id in enumerate(self.emails):

...do some process and for each successful process, append the email_id to list...
    self.successful_emails.append(self.email_id)

#flag the successfully processed email as [SEEN] 
imapObj.set_flags(self.successful_emails, '+FLAGS', '\SEEN')
...