读取邮件

从keyring读取密码,前提是已在yagmail中设置好了
import keyring
pwd=keyring.get_password(‘yagmail’,‘用户名’)

对于163、126邮箱需要提前配置,允许第三方客户端读取内容

读取所有文件
from imbox import Imbox
import keyring
pwd=keyring.get_password(‘yagmail’,‘用户名’)
with Imbox(‘1map.163.com’,‘[email protected]’,pwd,ssl=True) as imbox:
#Imbox(IMAP服务器地址,邮箱地址(用户名),密码,是否开启SSL加密)
all_inbox_message=imbox.messages()
for uid,message in all_inbox_messages:
print(message.subject)
print(message.body[‘plain’])

每个邮件可以读取的参数
message.sent_from 发件人
message.sent_to 收件人
message.subject 主题
message.data 时间
message.body[‘plain’] 文本格式内容
message.body[‘html’] HTML格式内容
message.attachments 附件

查看不同类型的邮件
未读邮件
unread_inbox_message=imbox.messages(unread=True)
红旗邮件
inbox_flagged_message=imbox.messages(flagged=True)
某发件人的邮件
inbox_message_from=imbox.messages(sent_from=‘用户名’)
按日期筛选
inbox_message_received_before=imbox.messages(data_lt=datetime.date(2020,4,12)) #某天前
inbox_message_received_after=imbox.messages(data_gt=datetime.date(2020,4,12)) #某天后
inbox_message_received_on_date=imbox.messages(data_on=datetime.date(2020,4,12)) #指定某天

标记已读和删除邮件
for uid,message in all_inbox_messages:
if 满足某种条件:
imbox.mark_seen(uid)
imbox.delete(uid)
学习链接:https://www.bilibili.com/video/BV197411f7Rp

你可能感兴趣的:(读取邮件)