如何使用python IMAP从gmail中删除电子邮件?

如何使用python IMAP从gmail中删除电子邮件?,python,python-3.x,gmail,gmail-imap,imaplib,Python,Python 3.x,Gmail,Gmail Imap,Imaplib,我试图从邮件中读取otp,之后我想从gmail中删除该邮件选项。我阅读电子邮件没有问题,但我不能删除邮件。我尝试了stackoverflow的一些代码。下面是我的代码 def getOtpMailvEmail,vPaasword: connection=imaplib.IMAP4\u SSLIMAP\u URL建立与IMAP服务器的连接 尝试: connection.loginvEmail,vPaasword使用用户ID密码登录 例外情况除外,如e: 版画 回来 loopLock=True 而l

我试图从邮件中读取otp,之后我想从gmail中删除该邮件选项。我阅读电子邮件没有问题,但我不能删除邮件。我尝试了stackoverflow的一些代码。下面是我的代码

def getOtpMailvEmail,vPaasword: connection=imaplib.IMAP4\u SSLIMAP\u URL建立与IMAP服务器的连接 尝试: connection.loginvEmail,vPaasword使用用户ID密码登录 例外情况除外,如e: 版画 回来 loopLock=True 而loopLock: 取来 连接。选择“收件箱”,只读=True retCode,messages=connection.searchNone,'UNSEEN' 打印消息[0] latest=intmessages[0]。拆分[-1] res,msg=connection.fetchstrllatest,RFC822 对于msg中的响应: 如果isinstanceresponse,则元组: 打印'\n------电子邮件----\n' msg=email.message\u from\u bytesresponse[1] 如果发件人名称在msg['From']中,关键字在msg['Subject']中: loopLock=False 获取所需信息 对于msg.walk中的部分: 车身=零件。获取有效载荷 单词列表=body.split 索引=单词列表。索引“验证” otp=word_列表[索引+3]。带“.” 删除邮件-两行以下不工作 connection.storestrlatest、“+FLAGS”、“[Gmail]/Trash” printconnection.expunge 返回otp 其他: 持续
我阅读了文档并打印了connection.expunge,因此得到的响应为“否”[b“删除只读文件夹失败时的尝试”]。我想我必须在写模式下建立连接。我不确定。

在本期中,我以只读模式打开了邮箱。因此,我的程序无法在IMAP服务器中写入和存储。 我变了

connection.select('"INBOX"', readonly=True)

我还更改了存储方法中的命令类型和标志类型-

connection.store(str(latest), '+FLAGS', '"[Gmail]/Trash"')


.

请阅读。这个问题似乎是问如何使用删除邮件,但它没有这样标记。您并没有说您试图做什么来解决它,或者如果您尝试过调试,则没有提供任何关于错误消息的信息,也没有提供任何关于您正在使用的库或平台的信息。请用这些信息更新你的问题。我不想使用gmail api。我正在尝试使用IMAP阅读和删除电子邮件。我可以阅读邮件,但无法删除该邮件。我还提到了代码中的注释,该部分不起作用。我想你们应该再读一遍这个问题,这样你们才能正确理解这个问题。你们是对的@ameya,对不起,我以为这是一个api问题。祝你好运
connection.store(str(latest), '+FLAGS', '"[Gmail]/Trash"')
connection.store(str(latest), '+FLAGS', '\\Deleted')