实用小脚本,教你Python自动化备份邮箱( 四 )



基本思路跟案例二类似 , 不过多展开讲 , 只复习两个知识点 。要判断标题是否有“奖金”二字:
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:        title = message.subject        if '奖金' in title:            pass红旗标记邮件也删除邮件一样 , 也是基于邮箱编号 uid 的 , 具体代码举例:
for uid, message in all_inbox_messages:     if 满足某种条件的邮件:         imbox.mark_flag(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:        title = message.subject          if '奖金' in title: # 判断标题是否含指定内容            name = message.sent_from[0]['name']            email = message.sent_from[0]['email']             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.mark_flag(uid) # 在此处标记符合要求的邮件             workbook.save('xxxxx.xlsx')以上就是通过Python实现邮件管理自动化的三个实用案例 , 完整代码都已经给出 , 感兴趣的读者可以自行尝试!




推荐阅读