1. 程式人生 > 實用技巧 >Python3+requests+unittest+log+excel+HTMLTestRunner+email框架介面自動化案例⑺——郵件系統

Python3+requests+unittest+log+excel+HTMLTestRunner+email框架介面自動化案例⑺——郵件系統

一、郵件傳送報告方法

郵箱傳送方法是封裝smtplib和email模組。

sendemail.py

# _*_ coding:utf-8 _*_
import smtplib,time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_mail(title, message, receiver, attach_file=''):
    # python3.7版本開始,在SMTP建立階段就要指明host地址,3.7之前不需要
    smtp = smtplib.SMTP(host='
smtp.qq.com') smtp.connect(host='smtp.qq.com', port=25) # 建立連線 smtp.starttls() # 網站需要安全認證時新增 smtp.login('[email protected]','xxxxxx') #使用者名稱、#授權密碼,非登入密碼 msg = MIMEMultipart() content = MIMEText(message, 'html', 'utf-8') msg['Subject'] = f'{title}
' msg['From'] = 'sender' msg['To'] = receiver msg.attach(content) if attach_file: att1 = MIMEText(open(attach_file, 'rb').read(), 'base64', 'utf-8') att1['Content-Type'] = 'application/octet-stream' att1['Content-Disposition'] = 'attachment; filename="report.txt"
' msg.attach(att1) try: smtp.send_message(msg) status = 'Success' print(status) except smtplib.SMTPException as e: print(e) status = 'Failed' smtp.quit() return status if __name__ == '__main__': send_mail('郵件標題', 'msg', '收件箱','附件地址')