美文网首页
自动化发送邮件smtp以附件形式发送邮件用法

自动化发送邮件smtp以附件形式发送邮件用法

作者: 心本逍遥 | 来源:发表于2021-05-23 16:35 被阅读0次

smtp发送邮件用法

1发送邮件def:

python登录qq账号, 属于第三方登录, 密码需写SMTP服务 验证码,不输入真实qq密码

2.最新报告def:

3.运行:

4.具体代码:

# coding:utf-8

import unittest

import os

import HTMLTestRunner

import time

import smtplib

from email.mime.multipartimport MIMEMultipart

from email.mime.textimport MIMEText

from email.headerimport  Header

import datetime

now = time.strftime("%Y-%m-%d %H_%M_%S")

# 用例路径

case_path = os.path.join(os.getcwd(), "testcase")

#报告存放文件夹路径

test_report ="D:\\pythonproject\\Autotest\\report"

# 报告存放路径

report_path = os.path.join(os.getcwd(), "D:\\pythonproject\\Autotest\\report\\"+now+"report.html")

##用例集

def all_case():

discover = unittest.defaultTestLoader.discover(case_path,

                                                    pattern="test*.py",

                                                    top_level_dir=None)

print(discover)

return discover

##发送邮件

def send_mail(file_new):

f=open(file_new,'rb')

mail_body =f.read()

f.close()

msg = MIMEMultipart()

#msg = MIMEText(mail_body,_subtype='html',_charset='utf8')

    msg['From'] ='1020474486@qq.com'

    msg['To'] ='1459581689@qq.com'

    msg['subject'] = Header('测试结果(' +str(datetime.date.today()) +')','utf-8')

att = MIMEText(open(report_path, 'rb').read(), 'base64', 'gb2312')

att["Content-Type"] ='application/octet-stream'

    att["Content-Disposition"] ='attachment; filename="testTemplate.html"'

    msg.attach(att)

body ="Python test mail"

    msg.attach(MIMEText(body, 'plain'))

smtp= smtplib.SMTP()

smtp.connect('smtp.qq.com')

smtp.login('1020474486','XXXXXXXXXXX')

smtp.sendmail('1020474486@qq.com','1459581689@qq.com',msg.as_string())

smtp.quit()

print('email has send out!')

#####查找测试报告目录, 找到最新生成的测试报告文件+======

def new_report(testreport):

lists = os.listdir(testreport)

lists.sort(key=lambda  fn:os.path.getmtime(testreport+"\\"+fn))

print(('最新文件为:'+ lists[-1]))

file = os.path.join(testreport,lists[-1])

print(file)

return (file)

if __name__ =='__main__':

##生成报告

    fp =open(report_path,"wb")

runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='这是我的自动化测试报告', description='用例执行情况:')

##执行所有用例

    runner.run(all_case())

fp.close()

new_report =new_report(test_report)

print("hehe"+ new_report)

send_mail(new_report)

相关文章

  • 自动化发送邮件smtp以附件形式发送邮件用法

    smtp发送邮件用法 1发送邮件def: python登录qq账号, 属于第三方登录, 密码需写SMTP服务 验证...

  • SMTP 发送邮件

    SMTP 是发送邮件的协议,Python 内置对 SMTP 的支持,可以发送纯文本邮件、HTML 邮件以及带附件的...

  • 61. SMTP发送邮件

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 P...

  • 邮件发送

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 S...

  • Python之发送邮件

    Python之发送邮件 使用SMTP模块发送邮件 发送HTML文件 发送带附件的文件 Django发送文件 各大邮...

  • Python发送邮件

    Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Python对SMTP支持有...

  • Python3实现自动定时发送邮件功能

    Python SMTP发送邮件 SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、H...

  • Golang使用SMTP发送邮件

    使用SMTP发送邮件 发送邮件测试 邮箱如下

  • java发送邮件

    使用java mail forAndroid实现发送邮件 1.邮件发送协议smtp协议 smtp用户连接上邮件服务...

  • 阿里云企业邮箱smtp发送设置

    smtp:smtp.mxhichina.com 端口:465 账号:发送邮件的账号 密码:发送邮件密码

网友评论

      本文标题:自动化发送邮件smtp以附件形式发送邮件用法

      本文链接:https://www.haomeiwen.com/subject/wcwxsltx.html