-
python 發送郵件需要使用 smtplib email 這兩個官方庫。
import smtplib from email.mime.text import MIMEText from email.header import Header
1、發送普通的郵件
-
實現步驟:
-
第一步:創建一個 SMTP 的對象,連接到 SMTP 服務器
# 163郵箱的smtp服務器地址為:smtp.163.com,端口為:25 s = smtplib.SMTP("smtp.163.com" , 25)
-
第二步:登錄 SMTP 服務器
mail_user = "郵箱賬號" # 用戶名 mail_pass = "授權碼" # 密碼 smtp.login(mail_user, mail_pass)
-
第三步::構建郵件內容
# 構建郵件內容 content = '本次測試通過率為88%' # 主題: Subject = "2019/6/18測試報告" # 發件人 From = 'a546245426@163.com' # 收件人 To = "測試人員" # 創建一個郵件 message = MIMEText(content, 'plain', 'utf-8') # 添加郵件主題 message['Subject'] = Header(Subject, 'utf-8') # 添加發件人 message['From'] = From # 添加收件人 message['To'] = To
-
第五步:發送郵件
-
```python # 發送郵件 smtp.send_message(msg=msg,from_addr="收件人郵箱地址",to_addrs="收件人郵箱地址") ```
一封普通的郵件發送步驟如上所示,但是郵件如果要帶附件呢,比如將測試報告作為附件進行發送。應該怎么發送?代碼為大家整理好了,參考如下:
2、發送帶附件的郵件
244 x 170
帶附件的郵件,完整代碼如下
""" ============================ Author:檸檬班-木森 Time:2019/9/11 E-mail:3247119728@qq.com Company:湖南零檬信息技術有限公司 ============================ """ import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart # 第一步: 連接到smtp服務器 smtp = smtplib.SMTP_SSL(host='smtp.163.com',port=465) # 第二步:登錄smtp服務器 smtp.login(user='郵箱賬號',password='授權碼') # 第三步構建一封帶附件的郵件 # 創建一封多組件的郵件 msg = MIMEMultipart() # 添加發件人 msg['From'] = "xxxxx@163.com" # 添加收件人 msg['To'] = "xxx<xxxxx@qq.com>" # 添加主題 msg['Subject'] = Header("帶附件的測試郵件",charset='utf8') # 添加郵件文本內容 # 創建郵件文件內容對象 text_content = MIMEText("這封郵件是用來測試發送是否成功的,郵件中添加了測試報告的附件",_charset='utf8') # 把郵件的文本內容,添加到多組件的郵件中 msg.attach(text_content) # 添加附件 f_msg = open('報告文件','rb').read() app = MIMEApplication(f_msg) app.add_header('content-disposition', 'attachment', filename='python.html') msg.attach(app) # 發送郵件 smtp.send_message(msg=msg,from_addr="發件人郵箱地址",to_addrs="收件人郵箱地址")
大家只需要對上述代碼進行一下封裝就可以應該到我們自動化項目中了,當自動化腳本執完之后,調用發送郵件的方法,將報告作為附件發送出去。
作者:nmb_musen
鏈接:http://testingpai.com/article/1595507256531
來源:測試派
協議:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/