Beispiel #1
0
class Sendmail:
    def __init__(self, runningtime):
        self.user_log = UserLog().get_log()
        self.read_ini = ReadIni(node='email')
        self.run_time = runningtime

    def send_mail(self):
        sender = self.read_ini.get_value('sender')
        passwd = self.read_ini.get_value('passwd')
        receiver = self.read_ini.get_value('receivers')
        mail_host = self.read_ini.get_value('mail_host')
        print(sender, passwd, receiver, mail_host)
        tm = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
        msg = MIMEMultipart()
        msg['Subject'] = Header(
            self.read_ini.get_value('header') + tm, 'utf-8')
        msg['From'] = sender
        msg['To'] = receiver

        #发送邮件正文
        msg.attach(
            MIMEText(
                self.read_ini.get_value('content') + str(self.run_time),
                'plain', 'utf-8'))
        #构造附件
        lists = []
        print(self.read_ini.get_value('path'))
        for root, dirs, files in os.walk(self.read_ini.get_value('path')):
            for file in files:
                if file.endswith(".html"):
                    lists.append(os.path.join(root, file))
        lists.sort(key=lambda f: os.stat(f).st_mtime)
        print(lists)
        lastmodified = lists[-1]
        att = MIMEText(open(lastmodified, 'rb').read(), 'base64', 'utf-8')
        att['Content-Type'] = 'application/octet-stream'
        att['Content-Disposition'] = 'attachment;filename=' + self.read_ini.get_value(
            'filename')
        msg.attach(att)

        #发送
        try:
            smtpObj = smtplib.SMTP()
            smtpObj.connect(mail_host, 25)
            smtpObj.login(sender, passwd)
            smtpObj.sendmail(sender, receiver, msg.as_string())
        except Exception as e:
            print(e)
            print('发送失败')
            self.user_log.warn("邮件发送失败:" + tm)
        else:
            print('发送成功')
            self.user_log.info('邮件发送成功')
        finally:
            smtpObj.close()
Beispiel #2
0
read_ini = ReadIni()
report_path = setting.TEST_REPORT
loger = UserLog().get_logger()
username = read_ini.get_config_value('EMAIL','username')    #用户名
passwd = read_ini.get_config_value('EMAIL','passwd')        #授权码
on_off = read_ini.get_config_value('EMAIL','on_off')        #是否发送邮件
recv = read_ini.get_config_value('EMAIL','recv')            #接收人
cc = read_ini.get_config_value('EMAIL','cc')                #抄送人
title = read_ini.get_config_value('EMAIL','title')          #邮件标题

if len(recv) > 0:
    recv = recv.split(',')
else:
    print("收件人为空,请进行配置")
    loger.warn("收件人为空,请进行配置")


class AllTest():
    def __init__(self):
        global resultPath,new_file
        resultPath = report_path +'/'+GetTime().get_time()+'_result.html'
        self.caseListFile = setting.CASELIST_DIR
        self.caseFile = setting.TESTCASE_DIR
        self.caseList = []


    def set_case_list(self):
        """
        读取caselist.txt文件中的用例名称。并添加到caselist元素组
        :return: