如何删除邮箱中的邮件?我正在使用这个代码,但字母没有被删除。对不起我的英语。
def getimap(self,server,port,login,password):
import imaplib, email
box = imaplib.IMAP4(server,port)
box.login(login,password)
box.select()
box.expunge()
typ, data = box.search(None, 'ALL')
for num in data[0].split() :
typ, data = box.fetch(num, '(UID BODY[TEXT])')
print num
print data[0][1]
box.close()
box.logout()
9条答案
按热度按时间ozxc1zmp1#
这是删除收件箱中所有电子邮件的工作代码:
qq24tv8q2#
我想你应该先把要删除的邮件标出来。例如:
eoxn13cs3#
这就是我的工作,它真的很快,因为我不单独删除每封电子邮件(存储),而是通过列表索引。这适用于Gmail个人和企业(Google Apps for Business)。它首先选择要使用m的文件夹/标签。list()将显示所有可用的文件夹/标签。然后,它搜索超过一年的电子邮件,并执行移动到垃圾桶。然后,它用delete标志标记垃圾桶中的所有电子邮件并删除所有内容:
mxg2im7a4#
下面的代码打印一些消息头字段,然后删除消息。
bcs8qyzn5#
如果您使用的是Gmail,则过程会有所不同:
1.将其移动到[Gmail]/垃圾箱文件夹。
1.将其从[Gmail]/垃圾箱文件夹中删除(添加\删除标志)
[Gmail]/Spam和[Gmail]/Trash中的所有电子邮件将在30天后删除。如果您从[Gmail]/Spam或[Gmail]/Trash中删除邮件,该邮件将被永久删除。
还记得在设置了Deleted标签后调用EXPUNGE。
zc0qhyus6#
下面是我根据上面的代码编写的一个程序:
https://github.com/AndrewDJohnson/py-purge-email/
gkn4icbw7#
删除收件箱中的所有电子邮件。
删除所有带有日期条件的电子邮件。此程序将删除所有电子邮件旧的20天从当前日期。在程序中调整变量Dy中的天数。示例:DY = 20
c9x0cxw08#
这是我用来删除或保留Outlook收件箱文件夹中的电子邮件的过程工作流。管理电子邮件是一个持续的维护问题。有时我有成千上万的电子邮件,我需要删除。我已经创建了两个Python程序,这将使我能够有效地管理这个过程的工作流程。
首先-我写了一个python程序来创建一个文本和CSV文件。文本和CSV文件包含两部分。
1.每个唯一电子邮件的计数。
1.唯一的发件人电子邮件地址。
第二步-我编辑文本或CSV文件以创建两个文本文件。
第三-我写了第二个python程序,根据四个条件删除或保留电子邮件。
1.删除没有电子邮件地址的电子邮件。
1.保留EmailsToKeep.txt文本文件中的电子邮件。
1.保留或删除EmailsToKeepForAtLeast30Days.txt文本文件中的电子邮件。如果日期比变量EndDy的日期值新,则保留电子邮件。如果日期早于变量EndDy的日期值,则删除电子邮件。
1.删除未包含在任何EmailsToKeep.txt或EmailsToKeepForAtLeast30Days.txt文本文件中的电子邮件。视频链接:https://youtu.be/bTgb3tO5r-8
stszievb9#
尝试使用https://github.com/ikvk/imap_tools