def searchFolder(imapServer: imaplib.IMAP4_SSL, searchQuery, type, folder): imapServer.select(folder) searchResult = imapServer.search(searchQuery, type) ids = searchResult[1][0].decode("utf-8").split() foundMessages = [] for i in ids: emailData = imapServer.fetch(str(i), '(RFC822)') print("=======================================") for response_content in emailData: arr = response_content[0] if isinstance(arr, tuple): msg = email.message_from_string(str(arr[1], 'utf-8')) foundMessages.append({ "From": msg['From'], "Subject": msg['Subject'], "Date": msg["Date"], "Message-ID": msg["Message-ID"] }) imapServer.store(str(i), '-FLAGS', '\Flagged') return foundMessages