Esempio n. 1
0
def Run_email(receiver):

    def _format_addr(s):  # 定义署名格式化函数
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(), addr))

    username=CONFIG.Email_send()['username']  # 发送人
    password=CONFIG.Email_send()['password']  # 授权码
    # receiver = '*****@*****.**' # 测试数据


    # 格式化的署名和接收人信息
    message = MIMEMultipart()
    message['From'] = _format_addr('木易的邮件派送员<%s>' % username)
    message['To'] = _format_addr(receiver)
    message['Subject'] = ('接口测试报告%s' % time.strftime('%Y-%m-%d'))
    message.attach(MIMEText('接口测试报告已送达,请注意查看~'))

    # 添加html文件
    try:
        file_path = 'log/%s/%s' % (filename, report_name)
        with open(file_path, 'rb') as f:
            mime = MIMEBase(report_name, 'html', filename=report_name)
            mime.add_header('Content-Disposition', 'attachment', filename=report_name)
            mime.add_header('Content-ID', '<0>')
            mime.add_header('X-Attachment-Id', '0')
            mime.set_payload(f.read())
            encoders.encode_base64(mime)
            message.attach(mime)
    except Exception as error:
        print('写入html文件时发生异常-->>%s' % error)

    # # 添加css文件
    # try:
    #     file_path1 = 'E:/log/%s/assets/style.css' % time.strftime('%Y_%m_%d')
    #     with open(file_path1, 'rb') as f:
    #         mime1 = MIMEBase('style.css', 'css', filename='style.css')
    #         mime1.add_header('Content-Disposition', 'attachment', filename='style.css')
    #         mime1.add_header('Content-ID', '<0>')
    #         mime1.add_header('X-Attachment-Id', '0')
    #         mime1.set_payload(f.read())
    #         encoders.encode_base64(mime1)
    #         message.attach(mime1)
    # except Exception as error:
    #     print('写入html样式文件时发生异常-->>%s' % error)


    # 发送邮件!
    try:
        smtpobj=smtplib.SMTP_SSL('smtp.qq.com', 465)
        smtpobj.login(username, password)
        smtpobj.sendmail(username, [receiver], message.as_string())
        print('邮件发送成功,接收人:%s' % receiver)
        smtpobj.quit()
    except Exception as error:
        print('邮件发送失败-->>%s' % error)