背景:最近學習使用python來發(fā)送和接收郵件豆同。查閱網(wǎng)上其他資料,各種復雜子房。后面發(fā)現(xiàn)有zmail使用起來特簡潔舱殿。但是網(wǎng)上zmail對接收郵件部分描述不清奥裸,特此記錄下
安裝zmail
pip3 install zmail
Zmail僅支持python3,不需要任何外部依賴. 不支持python2.
參考鏈接:https://github.com/ZYunH/zmail/blob/master/README-cn.md
zmail發(fā)送郵件
發(fā)送郵箱代碼
import zmail
subjiec = "測試zmail發(fā)送郵件"
content = "這是通過zmail發(fā)送來的郵件"
mail = {
'subject':subjiec,
'content_text':content,
}
#發(fā)送者郵箱
#發(fā)送者的郵箱
sender = '1xxxxxxx5@qq.com'
#發(fā)送者的郵箱授權碼
sender_password = 'wxxxxxxxgd'
server = zmail.server(sender,sender_password)
#接收者郵箱
receiver = '1xxxxxxxxxxx3@qq.com'
#開始發(fā)送郵件
server.send_mail(receiver,mail)
print('發(fā)送成功沪袭!')
import zmail
subjiec = "測試zmail發(fā)送郵件"
content = "這是通過zmail發(fā)送來的郵件"
mail = {
'subject':subjiec,
'content_text':content,
}
#發(fā)送者郵箱
#發(fā)送者的郵箱
sender = '1xxxxxxx5@qq.com'
#發(fā)送者的郵箱授權碼
sender_password = 'wxxxxxxxgd'
server = zmail.server(sender,sender_password)
#接收者郵箱
receiver = '1xxxxxxxxxxx3@qq.com'
#開始發(fā)送郵件
server.send_mail(receiver,mail)
print('發(fā)送成功湾宙!')
發(fā)送成功后接收到的郵件如下圖所示
zmail接收最新的一封郵件
先附上代碼:
import zmail
sender = '1xxxxxxxxx5@qq.com'
sender_password = 'xxxxxxxxxxxxxxx'
server = zmail.server(sender, sender_password)
#server.get_latest()是獲取收件箱中最新的一封
mail = server.get_latest()
for k,v in mail.items():
print(k,v)
通過中斷打印出來,信息如下。請關注箭頭出的字段侠鳄。后面我們在
現(xiàn)在我們需要將我們郵件的內(nèi)容打印出來埠啃,見代碼:
import zmail
sender = '1xxxxxxxxx5@qq.com'
sender_password = 'wxxxxxxxxxxxxxxxxxxd'
server = zmail.server(sender, sender_password)
#server.get_latest()是獲取收件箱中最新的一封
mail = server.get_latest()
#打印出郵件:
print(mail['subject'])
print(mail['content_text'][0])
執(zhí)行結(jié)果如下:
zmail接收所有郵件
import zmail
sender = '1xxxxxxxxxx5@qq.com'
sender_password = 'wxxxxxxxxxxxxxxxd'
server = zmail.server(sender, sender_password)
#所取所有郵件,返回一個郵件列表
mails = server.get_mails()
for mail in mails:
print("當前ID為:",mail['id'])
print("郵件主題為:",mail['subject'])
print("郵件內(nèi)容為:",mail['content_text'][0])
執(zhí)行結(jié)果為:
zmail相關函數(shù)使用說明
server.get_latest():獲取郵箱中最新的一封郵件
c :根據(jù)ID取回郵件伟恶。郵件中最新的一份郵件ID最大碴开。id的最小值為1
server.stat():獲取郵箱的信息,返回的結(jié)果是包含兩個整型的元祖:(郵件的數(shù)量博秫,郵件的大小)
zmail.show(mail):打印郵件
查看郵件的所有內(nèi)容:
import zmail
server = zmail.server('yourmail@example.com’, 'yourpassword')
mail = server.get_latest()
for k,v in mail.items():
print(k,v)server.get_mails()返回有一個郵件列表