python通过邮箱自动发送allure测试报告

首先发送邮件需要登录邮箱,这里需要用到SMTP协议,python的smtplib对它进行了一个封装,其中email是用来发送邮件的。

登录邮箱需要先开启SMTP服务。设置->邮箱安全设置,开启之后会给你一个授权码,这个授权码就是我们在代码里用到的密码。

 

下面是完整的代码

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_email1(email_form, email_to, subject, report_url):
    message = f"""
            <p>Hello all,</p>
            <p>View the test report please <a href="{report_url}">click here</a></p>
            <p></p>
            <p>Thanks</p>
            """
    email_format = MIMEText(message, _charset='utf-8')
    email_format['from'] = email_form
    email_format['to'] = email_to
    email_format['subject'] = subject
    s = smtplib.SMTP(host='smtp.163.com', port=25)
    # 发送者的邮箱账号,密码
    print(s)
    s.ehlo()
    print(s.ehlo())
    s.starttls()
    s.ehlo()
    s.login(user=email_format['from'], password='这里填前面获取的授权码')

    # 1、生成可放文字+图片的容器
    msg = MIMEMultipart('related')
    # 邮件主题
    msg["Subject"] = subject
    # 发送者账号
    msg["From"] = email_form
    # 接收者账号列表
    # msg['To'] = ";".join(email_to)

    # 2、添加文本
    msgTxt = MIMEText(message, _subtype='html')
    msg.attach(msgTxt)


    # 发送者,接收者,发送的内容
    s.sendmail(msg["From"], email_to, msg.as_string())

    # 发送完关闭
    s.close()


if __name__ == '__main__':
    email_form = '111111111@163.com'
    email_to = 'xxx.@qq.com'
    subject = "E2E report"
    report_url = "www.baidu.com"
    log_url = "www.baidu.com"
    send_email1(email_form, email_to, subject,report_url )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值