我正在尝试做一些简单的事情,例如使用 python 的 imaplib 将电子邮件从收件箱移动到垃圾箱。但是,我遇到了一些问题,我不知道如何解决它们。
连接并登录到服务器后,我选择 INBOX 邮箱,然后通过以下方式获取 ids 列表:
typ, ids = imap_object.search(None, 'INBOX')
ids_list = ids[0].split()
假设我从那里获取了一个 ID,X,并假设该电子邮件是对话的一部分。当我做
imap_object.fetch (X, '(RFC822)')[1]
正如我所料,我只能看到消息,但是当我看到
imap.store(X, '+FLAGS', r'(\Deleted)')
它会删除所有对话,而不仅仅是消息!另外,我不想完全删除电子邮件,我想将其发送到垃圾箱,所以我尝试了:
imap.copy(X, '[Gmail]/Papelera')
imap.store(X, '+FLAGS', r'(\Deleted)')
imap.expunge()
但它只将消息复制到垃圾箱,然后删除整个对话,所以我丢失了电子邮件!
问题:如何使用 imaplib 从 Gmail 中删除电子邮件,而不删除整个对话?