python发送邮件及Jenkins持续集成

使用xxx@163.COM邮箱,获取授权密码:XLQCNKUHWHIXJQ     ,不同的邮箱生成的不一样

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

一、开通SMTP和POP3协议

二、编写发送邮件类

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/4/6 17:50
# @File    : email_manage.py
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


class EmailManage:
    
    def send_email(self, report_name):
        # 定义SMTP服务器
        smtpserver = 'smtp.163.com'
        # 发送邮件的用户名和客户端密码
        username = 'lxm@bonc.com.cn'
        password = 'Knl'#授权密码

        # 接收邮件的邮箱
        receiver = '269108973@qq.com,265452325@22.com'

        # 创建邮件对象
        message = MIMEMultipart('related')
        subject = '邮件的主题目'  #邮件的主题
        fujian = MIMEText(open(report_name, 'rb').read(), 'html', 'utf-8')# 附件
        # 把邮件的信息组装到邮件对象里面
        message['form'] = username
        message['to'] = receiver
        message['subject'] = subject
        message.attach(fujian)
        # 登录smtp服务器并发送邮件
        smtp = smtplib.SMTP()
        smtp.connect(smtpserver)
        smtp.login(username, password)
        smtp.sendmail(username, receiver, message.as_string())
        smtp.quit()

生成html文件,并发送邮件

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/4/7 11:18
# @File    : test_ecshop.py
import time
import unittest
import HTMLTestRunner

from email_test.email_manage import EmailManage


class TestInfo(unittest.TestCase):

    def test_01(self):
        print("测试01")

    def test_02(self):
        print("测试02")


if __name__ == '__main__':
    suite = unittest.defaultTestLoader.discover('./', '*.py')
    files = open('./report.html', 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=files, title='测试报告', description='报告描述')
    runner.run(suite)
    files.close()# 在发送之前一定要将文件流关闭掉
    time.sleep(3)

    EmailManage().send_email(files.name)

三、使用jenkins,需要安装EmailExtention

 

构建触发器

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/4/7 11:18
# @File    : test_ecshop.py
import time
import unittest
import HTMLTestRunner

from email_test.email_manage import EmailManage

if __name__ == '__main__':
    suite = unittest.defaultTestLoader.discover('./', '*.py')
    files = open('./report.html', 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=files, title='测试报告', description='报告描述')
    runner.run(suite)
    files.close()# 在发送之前一定要将文件流关闭掉
    time.sleep(3)

下边的【系统管理员邮件地址】,必须和发送人保持一致

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Jenkins是一个开源的持续集成工具,它可以用于自动化构建、测试和部署软件项目。使用Jenkins可以轻松地设置和管理持续集成流程。 要在Python项目中使用Jenkins进行持续集成,首先需要在Jenkins服务器上安装Python环境和相关插件。然后,可以按照以下步骤进行配置: 1. 创建一个新的Jenkins任务:在Jenkins中,点击"New Item"创建一个新的任务,并选择"Freestyle project"。 2. 配置源代码管理:在"配置"选项卡中,选择你的代码仓库类型(如Git、SVN等),并填写相关的仓库地址和认证信息。 3. 配置构建步骤:在"构建"选项卡中,选择"Add build step"并选择相应的构建步骤,如执行Shell命令或者运行Python脚本。 4. 配置构建触发器:在"构建触发器"选项卡中,选择适合你项目的触发条件,如定时触发或者代码变更触发。 5. 配置构建后操作:在"构建后操作"选项卡中,选择适合你项目的操作,如发送邮件通知或者部署到其他服务器。 完成以上配置后,保存并触发构建即可开始持续集成流程。Jenkins会自动拉取代码、执行构建步骤,并根据你的配置进行相应的操作。 需要注意的是,为了实现更高级的持续集成功能,可以结合其他工具和插件使用,如使用Jenkins的Pipeline插件来定义更复杂的构建流程,或者使用Jenkins的插件来集成代码质量检查工具和自动化测试工具。 希望以上信息对你有所帮助!如果你有任何其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值