备份指定用户邮件至本地现在来看进阶一点的需求 , 备份指定用户的邮件 , 比如
“其实如果顺利理解了案例一 , 那么这个案例就特别简单了 从上面的案例中我们知道 , 通过下面的代码就可以获取发件人邮箱:
【实用小脚本,教你Python自动化备份邮箱】备份收件箱中所有小明(xiaoming@qq.com)发来的邮件至 Excel , 然后删除这些邮件
”
with Imbox('imap.88.com', 'test@88.com', password, ssl=True) as imbox: all_inbox_messages = imbox.messages() for uid, message in all_inbox_messages: email = message.sent_from[0]['email'] # 发件人邮箱
那么只需要在这个基础上判断 if email == 'xiaoming@qq.com' 就可以往后执行相应代码了 。另外 , 删除邮件是基于邮箱编号 uid 的 , 代码为 imbox.delete(uid) , 具体代码举例:for uid, message in all_inbox_messages: if 满足某种条件的邮件: imbox.delete(uid)
那么 , 我们综合上述两个知识点以及案例一的知识延伸 , 就很好写出案例二的代码了:import keyringfrom imbox import Imboximport datetimefrom openpyxl import Workbookworkbook = Workbook() sheet = workbook.activeheading = ['邮件名', '发件人姓名', '发件人邮箱', '发送日期', '发送时间', '邮件正文', '附件']sheet.append(heading)password = keyring.get_password('88mail', 'test@88.com')with Imbox('imap.88.com', 'test@88.com', password, ssl=True) as imbox: all_inbox_messages = imbox.messages() for uid, message in all_inbox_messages: email = message.sent_from[0]['email'] if email == 'xiaoming@qq.com': # 在此处判断发件人 name = message.sent_from[0]['name'] title = message.subject GMT_FORMAT = '%a, %d %b %Y %H:%M:%S +0800 (GMT+08:00)' email_datetime = str(datetime.datetime.strptime(message.date, GMT_FORMAT)) email_date = email_datetime.strip()[0] email_time = email_datetime.strip()[1] text = message.body['plain'] attachment_lst = [] attachments = '' if message.attachments: for attachment in message.attachments: attachment_lst.append(attachment['filename']) attachments = ', '.join(attachment_lst) sheet.append([title, name, email, email_date, email_time, text, attachments]) imbox.delete(uid) # 在此处删除符合要求的邮件 workbook.save('xxxxx.xlsx')
备份指定内容邮件上一个需求是备份指定用户的邮件 , 现在也可以备份包含指定内容的邮件 , 例如“
备份收件箱中标题含有 “奖金” 的邮件至 Excel , 然后红旗标记这些邮件
推荐阅读
- 从失败到成功的励志故事?励志小故事成功在于坚持_1
- 青桔子怎么做饮料,桔子太青怎么放黄
- 一则励志小故事?一则励志小故事_1
- 跟在身后的小女孩读后感,读后感的格式简单的说
- 电动车|抢宏光mini风头:小电驴重新火起来了
- 到底孕妇吃牛蛙好么
- 男人梦见自己生小孩是什么意思 男人梦见自已生孩子
- 智能手机|天玑8000性能小金刚 Redmi Note 12要改名?卢伟冰在线征名
- 普洱糯米香小沱茶,普洱沱茶的形状
- 土卫六距离地球 土卫六与地球大小比较