python發送郵件子產品–zmail
前言
-
每次學習新子產品的的時候需要思考以下兩個問題
1.為什麼選擇zmail?
2.zmail能解決工作中什麼樣的問題?
安裝zamil子產品
pip install zamil
zmail有哪些優點?
- 自動查找伺服器自位址及其端口
- 自動使用合适的協定登入
- 自動将python字典轉換為MIME對象(帶附件)
- 自動添加郵件标題和本地名稱,以避免伺服器拒絕您的郵件
- 輕松自定義郵件标題
- 支援HTML作為郵件内容
- 隻需要python> = 3.5,您可以将其嵌入到項目中而無需其他子產品
演式發送郵件
- 檔案夾建1個HTML檔案
- 郵件發送HTML檔案
- 演式發送郵件效果
Unittest單元測試架構和zmail發送郵件搭配使用,超爽的!誰用誰知道
實戰演練
- 測試用例
Unittest單元測試架構和zmail發送郵件搭配使用,超爽的!誰用誰知道
生成HTML測試報告
#!/usr/bin/python3
# @Time : 2020/7/31 10:55
# @Author : 騎着烏龜找豬
import unittest
import HTMLTestRunner
# 用例目錄位址
test_dir = "./"
def case():
# 加載測試所有用例
discover = unittest.defaultTestLoader.discover(test_dir,
pattern="test*py",
)
return discover
if __name__ == '__main__':
# 測試報告存放目錄
report_path = "D:/report/result.html"
# 以二制定方式寫入檔案
file = open(report_path, 'wb')
# 定義測試報告
runner = HTMLTestRunner.HTMLTestRunner(stream=file,
title="測試報告",
description="用列執行結果")
# 執行用例生成報告
runner.run(case())
運作結果:
郵件子產品代碼
#!/usr/bin/python3
# @Time : 2020/7/31 8:28
# @Author : 騎着烏龜找豬
import zmail
def s_mail()
report_path = "D:/report/result.html"
MAIL = {
'subject': '郵件主題',
'content_text': '測試發送郵件',
'attachments': report_path,
}
server = zmail.server("發送郵件人", "QQ郵件的授權碼,不是密碼")
# 如果有多個收件人,則用清單
server.send_mail("[email protected]", MAIL)
備注:重點郵箱使用的是QQ授權碼,不是QQ密碼
完整代碼
#!/usr/bin/python3
# @Time : 2020/7/31 10:55
# @Author : 騎着烏龜找豬
import unittest
import HTMLTestRunner
# 導入發送郵件子產品
from Mail.zmail import s_mail
# 用例
test_dir = "./"
def case():
# 加載用例
discover = unittest.defaultTestLoader.discover(test_dir,
pattern="test*py",
)
return discover
if __name__ == '__main__':
# 報告生成目錄
report_path = "D:/report/result.html"
# 測試結果寫入到報告裡
file = open(report_path, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=file,
title="測試報告",
description="用列執行結果")
# 執行用例生成報告
runner.run(case())
# 一定是要先關閉檔案再執行下方的發送郵件,否則發送後的附件會為空
file.close()
s_mail()