zoukankan      html  css  js  c++  java
  • 【Robotframework】脚本跑完后自动发送邮件

    #!/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= ['602860910@qq.com']
        test_result=0
        print receivers
        mail_host="smtp.qq.com"  #设置服务器
        mail_user="602860910@qq.com"    #用户名
        mail_pass="jnqatqlyepmpbcgi"   #口令,QQ邮箱是输入授权码,在qq邮箱设置 里用验证过的手机发送短信获得,不含空格
        sender = '6028601910@qq.com'
    
        #设置邮件中的测试结果
        resultstr = '失败' if test_result else '通过'
    
        main_msg = email.MIMEMultipart.MIMEMultipart()
        message = MIMEText('''附件是本次自动化构建的报告,请注意查收 
    
    ''', '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'])
  • 相关阅读:
    编程之美3.7 队列中最大值问题
    群聊天
    POJ 3384 Feng Shui 半平面交
    Fiberead
    熊猫资本李论:为何我不看好“轻轻家教”模式?_亿欧网_驱动创业创新
    轻轻家教_百度百科
    为什么我们要使用新型Web安全协议HSTS?
    http://www.doframe.com/jetoolweb/index.html
    http://www.16aspx.com/Code/Show/5352
    http://www.ybtsoft.com/
  • 原文地址:https://www.cnblogs.com/bashaowei/p/9337239.html
Copyright © 2011-2022 走看看