hello,大家好,我是wangzirui32,今天来教大家如何使用zmail模块读取邮箱内邮件信息,开始学习吧!
在命令行中输入以下命令即可安装:
pip install zmail
server函数主要用来创建与服务器的连接,返回的是一个类对象,代码:
import zmail
server = zmail.server("你的邮箱@******.com", "************")
注意,此处你需要填写2个参数,一个是你的用户名,一个是你的授权码,授权码的获取可以参考之前介绍发送邮件的文章,这里不再赘述。
server返回的对象被赋值给了server变量,get_latest是用来获取最新电子邮件的,接下来用它获取最新电子邮件:
import zmail
server = zmail.server("你的邮箱@******.com", "************")
mail = server.get_latest()
# 用zmail的show函数展示电子邮件
zmail.show(mail)
运行代码,输出:
-------------------------
Subject Python Test
Id 26
From *******@*****.com
To *******@*****.com
Date 2021-07-16 18:02:28+08:00
Content_text ['Python测试邮件2']
Content_html []
Attachments
可以看到,成功输出了最新电子邮件的信息。
get_mail是用来获取单独一个邮件的,代码:
import zmail
server = zmail.server("你的邮箱@******.com", "************")
# 获取id为26的邮件
mail = server.get_mail(26)
zmail.show(mail)
运行代码,输出:
-------------------------
Subject Python Test
Id 26
From *******@*****.com
To *******@*****.com
Date 2021-07-16 18:02:28+08:00
Content_text ['Python测试邮件2']
Content_html []
Attachments
get_mails用来获取邮箱内指定条件或范围的邮件,它的函数原型如下:
get_mails(self,
subject=None, # 邮件主题
start_time=None, # 开始时间
end_time=None, # 结束时间
sender=None, # 发送者
start_index: Optional[int] = None, # 开始id
end_index: Optional[int] = None) # 结束id
这里可以为获取的邮件指定一个范围时间,和一个范围id,还可以指定邮件主题和发送者。
如果这些参数都不填写,则默认获取所有邮件,代码示例:
import zmail
server = zmail.server("你的邮箱@******.com", "************")
mails = server.get_mails()
for mail in mails:
zmail.show(mails)
输出:
........ # 省略大量内容
-------------------------
Subject Python Test
Id 25
From *******@*****.com
To *******@*****.com
Date 2021-07-16 17:58:38+08:00
Content_text ['Python测试邮件1']
Content_html []
Attachments
-------------------------
Subject Python Test
Id 26
From *******@*****.com
To *******@*****.com
Date 2021-07-16 18:02:28+08:00
Content_text ['Python测试邮件2']
Content_html []
Attachments
主要通过键进行获取,代码:
import zmail
server = zmail.server("你的邮箱@******.com", "************")
mail = server.get_latest()
print("邮件主题:", mail['Subject'])
print("邮件发送时间:", mail['Date'])
print("发送者:", mail['From'])
print("接收者:", mail['To'])
print("内容:\n", mail['content_text'])
输出:
邮件主题: Python Test
邮件发送时间: 2021-07-16 18:02:28+08:00
发送者: *******@*****.com
接收者: *******@*****.com
内容:
['Python测试邮件2']
如果你还想了解更多属性,可以打印mail变量试试。
好了,今天的课程就到这里,我是wangzirui32,喜欢的可以点个收藏和关注,我们下次再见!