读取keyring密码
前提是你已经通过yagmail设置好了密码,这里我们可以直接从keyring中读取密码:
import keyring
password=keyring.get_password("yagmail","J991737441@163.com")
Python读取邮件
对于163、126邮箱,需要提前配置一下,访问:http://config.mail.163.com/settings/imap/index.jsp?uid=J991737441@163.com,允许第三方客户端读取内容才可以。查看所有邮件
from imbox import Imbox
import keyring
password=keyring.get_password("yagmail","J991737441@163.com")
# IMAP服务器地址,邮箱地址,密码,是否打开SSL加密
with Imbox("imap.163.com","J991737441@163.com",password,ssl=True) as imbox:
all_box_messages=imbox.messages()
for uid,message in all_box_messages:
print(message.subject)
print(message.body['plain'])
每个邮件可以读取的内容
message.sent_from 发件人
message.sent_to 收件人
message.subject 主题
message.date 时间
message.body['plain'] 文本格式内容
message.body['html'] HTML格式内容
message.attacments 附件
查看未读邮件,只需要设置.messages的参数即可
unread_box_messages=imbox.messages(unread=True)
# 红旗邮件
red_flagged_messages=imbox.messages(flagged=True)
# 某发件人邮件
inbox_messages_from=imbox.messages(sent_from='J991737441@163.com')
# 某收件人邮件
inbox_messages_from=imbox.messages(sent_to='J991737441@163.com')
# 根据日期筛选
某天前 date__lt
某天后 date__gt
指定某一天 date__on
inbox_messages_before=imbox.messages(date__lt=datetime.date(2020,5,19))
在根据日期筛选的时候,使用的是datetime模块,需要导入一下,注意date__lt是两个下划线
标记已读:imbox.mark_seen(uid),删除已读:imbox.delete(uid)
from imbox import Imbox
import keyring
password=keyring.get_password("yagmail","J991737441@163.com")
# IMAP服务器地址,邮箱地址,密码,是否打开SSL加密
with Imbox("imap.163.com","J991737441@163.com",password,ssl=True) as imbox:
all_box_messages=imbox.messages()
for uid,message in all_box_messages:
if 满足某种条件的邮件:
imbox.delete(uid)
声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!