如何在imaplib python中使用UID删除电子邮件

问题描述

我正在尝试通过UID删除电子邮件。这是我正在访问的Hotmail电子邮件帐户。

这是我在做什么:

1。连接到电子邮件

imap = imaplib.IMAP4_SSL('imap-mail.outlook.com')
imap.login('[email protected]',"password")

2。从电子邮件获取UID

resp,_ = imap.select('Inbox')
mbox_response,msgnums = imap.search( None,'FROM','[email protected]')

messages = [] #Appending UID to this dictionary

for num in msgnums[0].split():
    msg_uid = imap.fetch(num,'UID')
    messages.append({'uid':imap.fetch(num,'UID')})

3。打印UID

print(messages)

我得到以下输出:

[{
  'uid': ('OK',[b'1 (UID 111)']),'uid': ('OK',[b'2 (UID 114)'])
}]

4。如何删除?

如何使用这些UID删除特定消息?

我尝试过这个没有成功...

for m in messages:
    imap.store(m['uid'],'+X-GM-LABELS','\\Trash')

我收到以下错误:

TypeError: can't concat tuple to bytes

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)