Python管理郵件的接收
庫(kù)的安裝
你好,我是悅創(chuàng)。既然可以發(fā)送郵件,就一定可以接收郵件,這兩者是相互的。接收郵件,這里介紹 zmail 庫(kù),安裝命令:
pip install zmail
zmail 支持郵件的發(fā)送和接收,操作的類型是字典。
準(zhǔn)備初始化
接收郵件,同樣是先初始化,如下代碼:
import zmail
server = zmail.server('[email protected]','*************')
這里的 server 類似于一個(gè)郵箱客戶端,可以通過 server 來取郵箱中收到的郵件,例如:
mail = server.get_latest()
這是獲取郵箱中最后一個(gè)郵件,也就是最新的郵件。
接收郵件并展示
「mail 變量里面放著一封郵件,如何查看郵件內(nèi)容?」使用如下代碼:
zmail.show(mail)
展示郵件的全部?jī)?nèi)容,輸出如下:
-------------------------
Subject [AI悅創(chuàng)] 請(qǐng)審核:“02 環(huán)境準(zhǔn)備:在各系統(tǒng)中快速安裝 Git 環(huán)境”
Id 134
From AI悅創(chuàng) <[email protected]>
To [email protected]
Date 2021-02-25 09:56:04+00:00
Content_text ['在《02 環(huán)境準(zhǔn)備:在各系統(tǒng)中快速安裝 Git 環(huán)境》中有一條評(píng)論等待您的審核\r\nhttps://www.aiyc.top/1514.html\r\n\r\n作者:22(IP地址:121.205.195.226,226.195.205.121.broad.pt.fj.dynamic.163data.com.cn)\r\n電子郵箱:[email protected]\r\nURL:http://2\r\n評(píng)論:\r\n11\r\n\r\n批準(zhǔn):https://www.aiyc.top/wp-admin/comment.php?action=approve&c=195#wpbody-content\r\n移至回收站:https://www.aiyc.top/wp-admin/comment.php?action=trash&c=195#wpbody-content\r\n標(biāo)記為垃圾評(píng)論:https://www.aiyc.top/wp-admin/comment.php?action=spam&c=195#wpbody-content\r\n當(dāng)前有1條評(píng)論等待審核。請(qǐng)移步審核頁(yè)面來查看:\r\nhttps://www.aiyc.top/wp-admin/edit-comments.php?comment_status=moderated#wpbody-content\r\n']
Content_html []
Attachments
我的郵件內(nèi)容如下:
這里的內(nèi)容都是成對(duì)出現(xiàn)的,例如 Subject [AI悅創(chuàng)] 請(qǐng)審核:“02 環(huán)境準(zhǔn)備:在各系統(tǒng)中快速安裝 Git 環(huán)境”,都是一對(duì)一對(duì)的,所以這里的內(nèi)容也是列表格式。
如果你直接輸出 mail 的內(nèi)容,如下截圖:
這里的展示更明顯,而且內(nèi)容更直觀,有大括號(hào),是列表格式。既然是字典格式,取出單個(gè)內(nèi)容,就可以用字典的取值方式,如下:
print(mail['subject'], mail['from'], mail['date'], sep='\n')
''' 下面是輸出內(nèi)容
[AI悅創(chuàng)] 請(qǐng)審核:“02 環(huán)境準(zhǔn)備:在各系統(tǒng)中快速安裝 Git 環(huán)境”
AI悅創(chuàng) <[email protected]>
2021-02-25 09:56:04+00:00
'''
讀取了郵件的標(biāo)題、發(fā)送者、發(fā)送時(shí)間這三個(gè)信息。
下面來展示下郵件對(duì)象,所有的鍵,如下代碼:
tmail = server.get_mail(1)
for m in tmail:
print(m)
''' 下面是輸出
content_text # 文本內(nèi)容
content_html # HTML格式內(nèi)容
attachments # 附件
headers # 頭部信息,字典格式
raw_headers # 頭部信息,列表中嵌套元組格式
charsets # 文字編碼
subject # 郵件標(biāo)題
date # 發(fā)送日期
from # 發(fā)送者
to # 接受者
id # id值,代表第幾封郵件
raw # 頭部信息,列表中嵌套字節(jié)字符串格式
'''
接收郵件,可以一封一封的接收,還可以按標(biāo)題、日期、發(fā)送者等信息過濾并接收,下面展示一下按標(biāo)題信息過濾并接收一批郵件,如下代碼:
tmails = server.get_mails(subject='測(cè)試郵件的標(biāo)題')
len(tmails)
for t in tmails:
print(t['subject'], t['from'])
'''
19
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題【無(wú)HTML】 "[email protected]" <[email protected]>
測(cè)試郵件的標(biāo)題【有HTML】 "[email protected]" <[email protected]>
'''
首先是 get_emails 函數(shù),這是獲取一批郵件,函數(shù)中指定郵件標(biāo)題 subject,必須包含了“測(cè)試郵件的標(biāo)題”字段。 得到的郵件列表,存放在 tmails 變量中,一共有 19 封郵件。 然后循環(huán)取出每個(gè)郵件的標(biāo)題和發(fā)信人,就得到一大串的信息輸出。
長(zhǎng)按識(shí)別下方二維碼,和眾多位島民一起
把別人的頓悟,變成你的基本功
花半秒鐘就看透事物本質(zhì)的人,
和花一輩子都看不清的人,
注定是截然不同的命運(yùn)。



