自動化測試用例上百條的時間運行時間較長,這時可以悠閑的干點別的事情,然后你也不知道什么時候會結束,但既然時自動化那必須會發郵件通知,所有我們來學習一下利用python發送郵件,后續在添加測試報告在里面。
廢話不多說,上代碼
1 import smtplib 2 from email.mime.text import MIMEText 3 from email.header import Header 4
5 #發生郵箱服務器
6 smtpserver = 'smtp.qq.com'
7 #發送用戶和密碼
8 user = 'name@qq.com'
9 password = '**********'
10 #發送郵箱
11 sender = 'name@qq.com'
12 #接收郵箱
13 receiver = '******@qq.com'
14 #發送郵箱主題
15 subject = 'python test'
16 #編寫HTML類型的郵件正文
17 msg = MIMEText('<html><h1>你好!我是python測試郵件!</h1><html>','html','utf-8') 18 msg['Subject'] = Header(subject,'utf-8') 19 #連接發送郵件
20 smtp = smtplib.SMTP() 21 smtp.connect(smtpserver) 22 smtp.login(user,password) 23 smtp.sendmail(sender,receiver,msg.as_string()) 24 smtp.quit()
注意:password不要填你的密碼,要填你郵箱生成的授權碼。如下圖點擊生成授權碼同時必須要開啟SMTP服務哦,另外還有一個地方需要注意發送的郵箱服務器如果是qq就按我上面的填,新浪的話改成
'smtp.sina.com'其他的郵箱就改中間的標簽好了。
不然會出現如下錯誤
經過上面的步驟終於成功發出了郵件,上圖。
以上只是發送文字,那么要發送附件呢?經過又一番修改,終於也成功了。代碼如下
1 import smtplib 2 from email.mime.text import MIMEText 3 from email.mime.multipart import MIMEMultipart 4
5 #發生郵箱服務器
6 smtpserver = 'smtp.qq.com'
7 #發送用戶和密碼
8 user = 'name@qq.com'
9 password = '************'
10 #發送郵箱
11 sender = 'name@qq.com'
12 #接收郵箱
13 receiver = 'her_name@qq.com'
14 #發送郵箱主題
15 subject = 'python test'
16 #發送附件
17 sendfile = open('F:\\cs.txt','rb').read() 18
19 att = MIMEText(sendfile,'base64','utf-8') 20 att["Content-Type"] = 'application/octet-stream'
21 att["Content-Disposition"] = 'attachment; filename="cs.txt"'
22
23 msgRoot = MIMEMultipart('related') 24 msgRoot['Subject'] = subject 25 msgRoot.attach(att) 26
27 #編寫HTML類型的郵件正文
28 # msg = MIMEText('<html><h1>你好!我是python測試郵件!</h1><html>','html','utf-8')
29 # msg['Subject'] = Header(subject,'utf-8')
30 # #連接發送郵件
31 smtp = smtplib.SMTP() 32 smtp.connect(smtpserver) 33 smtp.login(user,password) 34 smtp.sendmail(sender,receiver,msgRoot.as_string()) 35 smtp.quit()