發送郵件,咱們在平時工做中經用到,作爲測試人員,在自動化測試中用的也比較多,須要發送郵件給某領導html
SMTP是Python默認的郵件模塊,能夠發送純文本、富文本、HTML 等格式的郵件python
今天咱們來講一說Python 發送郵件的 3 種方式面試
登陸 QQ 郵箱爲例,咱們須要開啓 SMTP 服務,登陸郵箱依次點擊設置-帳戶服務器
開啓SMTP測試
而後,生成受權碼spa
注:3d
須要開啓POP3/SMTP服務code
受權碼作爲郵箱密碼server
smtplib是 Python 自帶的依賴庫,能夠直接導入使用,經過郵箱帳號、受權碼、郵箱服務器地址初始化一個 SMTP 實例,而後進行鏈接htm
初學者感受這個會挺複雜,請繼續往下看
注:當前發送郵件我的不推薦使用,因此只演式一種發送純文本郵件
因爲SMPT太過於麻煩複雜,因此就用zamil發送郵件試試。
zmail模塊只支持Python3模塊,該模塊爲第3方模塊,需自行安裝(pip install zmail)
使用 Zmail 發送接收郵件方便快捷,不需手動添加服務器地址、端口以及適合的協議,能夠輕鬆建立 MIME 對象和頭文件
注意:Zmail 僅支持 Python3,不支持 Python2
#!/usr/bin/python3 import zmail def send_mail(): # 定義郵件 mail = {"subject": "接口測試報告",# 任一填寫 'content_text': '手機號歸屬地_API自動化測試報告',# 任一填寫 # 多個附件使用列表 "attachments": "E:/report/result.html" } # 自定義服務器 server = zmail.server("發送人郵箱.com", "QQ郵箱是用受權碼", smtp_host="smtp.qq.com", smtp_port = 465) # 發送郵件 server.send_mail("收件人QQ郵箱", mail) try: send_mail() except FileNotFoundError: print("未找到文件") else: print("發送成功")
他們都說yagmail 只須要三行代碼,就能夠實現發送郵件,爽歪歪!
相比 zmail,yagmail 實現發送郵件的方式更加簡潔優雅
首先,安裝依賴庫(pip install yagmail)
發送郵件有三個步驟:
一、鏈接服器(相似你先要登陸郵箱)
二、編輯郵件內容和主題
三、發送郵件
#!/usr/bin/python3 import yagmail # 定義用戶名、受權碼、服務器地址且鏈接服務器 mail_server = yagmail.SMTP(user='發件人郵箱', passwd='受權碼', host='smtp.qq.com') # 發送對象列表 Email_to = ['收件人郵箱'] subject = '任一填寫' Email_text = "任一填寫內容" # 多個附件用逗號隔開 attachments = ['html報告目錄地址'] # 發送郵件 mail_server.send(Email_to, subject, Email_text, attachments)
總結了 Python3種發送 郵件的方式,實際項目中,更推薦使用後兩種方式
若是對軟件測試、接口測試、自動化測試、技術同行、持續集成、面試經驗交流。感興趣能夠進到902061117,羣內會有不按期的分享測試資料。 若是文章對你有幫助,麻煩伸出發財小手點個贊,感謝您的支持,你的點贊是我持續更新的動力。