zoukankan      html  css  js  c++  java
  • python

    # -*- coding:utf-8 -*-

    '''
    @project: Voctest
    @author: Jimmy
    @file: sendMail.py
    @ide: PyCharm Community Edition
    @time: 2018-11-15 17:14
    @blog: https://www.cnblogs.com/gotesting/

    '''

    import os
    import smtplib
    import time
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from Common.log import Log
    from Config.globalConfig import report_path


    logger = Log()
    # 配置收发件人
    recv_address = ['641969198@qq.com']
    # 163的用户名和密码
    send_addr_name = 'jxy641969198@163.com'
    send_addr_pswd = 'jiaxy19920319'


    class SendMail:
    def __init__(self, recver=None):
    """接收邮件的人:list or tuple"""
    if recver is None:
    self.sendTo = recv_address
    else:
    self.sendTo = recver

    def get_report(self):
    """获取最新测试报告"""
    lists = os.listdir(report_path)
    lists.sort()
    send_report = lists[-1]
    print('The send report name: {0}'.format(send_report))
    return send_report

    def take_messages(self):
    """生成邮件的内容,和html报告附件"""
    report = self.get_report()
    self.msg = MIMEMultipart()
    self.msg['Subject'] = 'VOC自动化测试报告'
    self.msg['date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z')

    with open(os.path.join(report_path, report), 'rb') as f:
    mailbody = f.read()
    html = MIMEText(mailbody, _subtype='html', _charset='utf-8')
    self.msg.attach(html)

    # html附件
    att1 = MIMEText(mailbody, 'base64', 'gb2312')
    att1["Content-Type"] = 'application/octet-stream'
    att1["Content-Disposition"] = 'attachment; filename="VocAutoTestReport.html"'
    self.msg.attach(att1)

    def send(self):
    """发送邮件"""
    self.take_messages()
    self.msg['from'] = send_addr_name
    try:
    smtp = smtplib.SMTP('smtp.163.com', 25)
    smtp.login(send_addr_name, send_addr_pswd)
    smtp.sendmail(self.msg['from'], self.sendTo, self.msg.as_string())
    smtp.close()
    logger.log_info("发送邮件成功")
    except Exception:
    logger.log_error('发送邮件失败')
    raise
  • 相关阅读:
    BZOJ.3990.[SDOI2015]排序(DFS)
    BZOJ.1040.[ZJOI2008]骑士(树形DP)
    BZOJ.2246.[SDOI2011]迷宫探险(DP 记忆化搜索 概率)
    BZOJ.3209.花神的数论题(数位DP)
    UVA.1640.The Counting Problem / BZOJ.1833.[ZJOI2010]数字计数(数位DP)
    HDU.3652.B-number(数位DP)
    BZOJ.4514.[SDOI2016]数字配对(费用流SPFA 二分图)
    BZOJ.4832.[Lydsy1704月赛]抵制克苏恩(期望DP)
    BZOJ.1025.[SCOI2009]游戏(背包DP)
    BZOJ.3257.树的难题(树形DP)
  • 原文地址:https://www.cnblogs.com/gotesting/p/9965249.html
Copyright © 2011-2022 走看看