1. 程式人生 > >【Robotframework】腳本跑完後自動發送郵件

【Robotframework】腳本跑完後自動發送郵件

nec span main odin receive ase enc .text mem

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.mime.text import MIMEText
import email.MIMEMultipart
from email.header import Header
import os
import mimetypes

def send_email(file_names=[]):
    # 第三方 SMTP 服務
    receivers= [[email protected]]
    test_result=0
    print receivers
    mail_host
="smtp.qq.com" #設置服務器 mail_user="[email protected]" #用戶名 mail_pass="jnqatqlyepmpbcgi" #口令,QQ郵箱是輸入授權碼,在qq郵箱設置 裏用驗證過的手機發送短信獲得,不含空格 sender = [email protected] #設置郵件中的測試結果 resultstr = 失敗 if test_result else 通過 main_msg = email.MIMEMultipart.MIMEMultipart() message = MIMEText(‘‘‘
附件是本次自動化構建的報告,請註意查收 \n\n‘‘‘, plain, utf-8) main_msg.attach(message) result = MIMEText(測試結果: +resultstr, plain, utf-8) main_msg.attach(result) ## 讀入文件內容並格式化 for file_name in file_names: data = open(file_name, rb) ctype,encoding = mimetypes.guess_type(file_name)
if ctype is None or encoding is not None: ctype = application/octet-stream maintype,subtype = ctype.split(/,1) file_msg = email.MIMEBase.MIMEBase(maintype, subtype) file_msg.set_payload(data.read()) data.close() email.Encoders.encode_base64(file_msg)#把附件編碼 basename = os.path.basename(file_name) file_msg.add_header(Content-Disposition,attachment, filename = basename)#修改郵件頭 main_msg.attach(file_msg) main_msg[From] = Header("robot自動發送", utf-8) reciverstr = ;.join(receivers) main_msg[To] = Header(reciverstr, utf-8) subject = robotframework測試結果 main_msg[Subject] = Header(subject, utf-8) try: smtpObj = smtplib.SMTP_SSL() smtpObj.connect(mail_host, 465) smtpObj.login(mail_user,mail_pass) smtpObj.sendmail(sender, receivers, main_msg.as_string()) print "郵件發送成功。" except smtplib.SMTPException, e: print "Error: 無法發送郵件。錯誤原因:", e send_email(file_names=[E:\\pics\\1.png,E:\\pics\\2.jpg])

【Robotframework】腳本跑完後自動發送郵件