使用Python3 poplib模块删除服务器多天前的邮件实现代码
更新时间:2020年04月24日 11:19:52 作者:singleShape
这篇文章主要介绍了使用Python3 poplib模块删除多天前的邮件的实现代码,代码简单易懂,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
背景:
因为工作需要,公司给每个员工都分配了一个邮箱 公司的各种业务都通过邮箱发送。虽然给每个员工的电脑都设置pop3登录但是他们的程序设定有保存服务器副本,所以大量邮件使得服务器存储占用巨大。
删除服务器上多天前的邮件
实现:
- 使用 Python poplib 进行删除查看操作
- 使用email.parser 进行内容解析
- 使用 dateutil.parser 做邮件日期转换
代码
# -*- coding: UTF-8 -*- import poplib import datetime import dateutil.parser from email.parser import Parser from parser import ParserError def deleteMail(days = 30): mailServer = poplib.POP3('mail.sunyieh.com', 110) mailServer.user('mis.cq@sunyieh.com') mailServer.pass_('password') mStat = mailServer.stat() print(mStat )#连接状态 mailTotal = mStat[0]#邮件总数 print("邮箱总邮件数量:{},占用{}b".format(mStat[0],mStat[1])) print(mailServer.getwelcome()) # 使用list()返回所有邮件的编号,默认为字节类型的串 resp, mails, octets = mailServer.list() print("响应信息: ", resp) print("list方法返回数据大小(字节): {}b".format( octets)) for i in range(mailTotal): resp, mailContent, octets = mailServer.retr(i+1) # 可以获得整个邮件的原始文本: msg_content = Parser().parsestr(b'\r\n'.join(mailContent).decode("iso8859","")) dateStr = msg_content.get("Date","") print("日期字符串:",dateStr) try: maildate =dateutil.parser.parse(dateStr) # 判断多少天前的邮件 if maildate.date() < datetime.datetime.now().date() - datetime.timedelta(days=days): print("正在删除邮件 第{}封,邮件日期:{} {}".format(i+1,maildate.date(),maildate.time())) mailServer.dele(i + 1) else: # 删除完成 print("完成删除,本次共计删除{}封邮件!".format(i)) break except ParserError: print("正在删除邮件 第{}封,邮件日期:没有".format(i + 1)) mailServer.dele(i + 1) print("正在保存本次操作!") mailServer.quit() print("ok!") if __name__ == "__main__": deleteMail(30)
效果
到此这篇关于使用Python3 poplib模块删除服务器多天前的邮件的实现代码的文章就介绍到这了,更多相关Python3 poplib模块删除邮件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Django request.META.get()获取不到header头的原因分析
这篇文章主要介绍了Django request.META.get()获取不到header头的原因分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-04-04python删掉重复行之drop_duplicates()用法示例
Pandas的drop_duplicates()方法用于从DataFrame中删除重复的行,这篇文章主要给大家介绍了关于python删掉重复行之drop_duplicates()用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-08-08
最新评论