python3 自动读取邮件

imbox库读取邮件

import os
from imbox import Imbox

# 存储附件
def save_attachments(attachments, save_dir):
    fujian_path_list = []
    for attachment in attachments:
        save_path = os.path.join(save_dir, attachment['filename'])
        with open(save_path, 'wb') as f:
            f.write(attachment['content'].getvalue())
        fujian_path_list.append(save_path)
    return fujian_path_list


#  Imbox(服务器,邮箱用户名,密码,SSL加密)
with Imbox('imap.exmail.qq.com', 'xxx@qq.com', password, ssl=True) as imbox: 
    all_inbox_messages = imbox.messages() # 获取全部邮件
    # email_list = email_server.messages(unread=True)  # 未读邮件
    # read_inbox_messages = self.email_server.messages(unread=False)  # 已读邮件
    # flagged_inbox_messages = self.email_server.messages(flagged=True)  # 红旗标记邮件
    for uid, message in all_inbox_messages: 
    	# imbox.mark_seen(uid)   # 标记为已读
		# imbox.delete(uid)  # 删除
        print(message.subject)  # 邮件主题
        print(message.sent_from)  # 发件人
        print(message.sent_to)  # 收件人
        print(message.date)  # 发送日期
        print(message.body['plain']) # 邮件文本格式正文
        print(message.body['html']) # html格式正文
        print(message.attachments) # 附件
  1. 读取不同类别的邮件
all_inbox_messages = imbox.messages() # 获取全部邮件
email_list = email_server.messages(unread=True)  # 未读邮件
read_inbox_messages = self.email_server.messages(unread=False)  # 已读邮件
flagged_inbox_messages = self.email_server.messages(flagged=True)  # 红旗标记邮件
  1. 通过邮件的收件时间获取邮件
# date__lt:读取某天前的邮件
# date__gt:读取某天后的邮件
# date__on:读取某天的邮件
inbox_message_before = imbox.messages(date__lt=datetime.date(2021, 1, 18)) 
inbox_message_after = imbox.messages(date__gt=datetime.date(2021, 1, 18)) 
inbox_message_on_date = imbox.messages(date__on=datetime.date(2021, 1, 18))
  1. 删除或标记为已读
imbox.mark_seen(uid)   # 标记为已读
imbox.delete(uid)  # 删除

参考

https://blog.csdn.net/weixin_41846769/article/details/113864647

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值