网站首页 > 技术文章 正文
发邮件功能
发送邮件的几个要素:
第一步:
在公共包(common)里面,新建发送邮件的py文件(send_email.py)
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
from email.header import Header
def send_email(test_report):
with open(test_report, 'r', encoding='utf-8') as f:
mail_body = f.read()
content = '<html><h3 style = "color:blue">各位好,附件是本次自动化测试报告,请查阅,谢谢!</h3></html>'
att = MIMEText(mail_body, 'base64', 'utf-8')
att['content-type'] = 'application/octet-stream'
att.add_header('Content-Disposition', 'attachment', filename=('utf-8', '', "test-report.html"))
msg = MIMEText( content,'html', 'utf-8')
msg_all = MIMEMultipart('related')
msg_all['Subject'] = Header('自动化测试报告', "utf-8")
print('添加附件')
msg_all.attach(att)
print('添加成功')
msg_all.attach(msg)
# 创建连接对象并连接
smtp = smtplib.SMTP_SSL('smtp.163.com', 465)
smtp.connect('smtp.163.com', 465)
# 登录服务器
smtp.login('*******001@163.com', '此处填写授权码') #邮箱 & 授权码
msg_from = '***********@163.com' #发件箱
msg_to = "*********@qq.com, ***********@163.com" #收件箱
msg_all['From'] = msg_from
msg_all['To'] = msg_to
try:
smtp.sendmail(from_addr=msg_all['From'],to_addrs=msg_all['To'].split(','), msg=msg_all.as_string())
print("发送成功")
except Exception as e:
print(e)
print("发送失败")
finally:
smtp.quit()
第二步:
在run.py文件中,加入以下红色框的内容 [查找最新的报告(find_report)],并发送邮件
猜你喜欢
- 2024-11-08 加班用了2天,结果同事30分钟就搞定了?你和别人的差距在哪里
- 2024-11-08 下载文件工具类 文件下载工具是什么
- 2024-11-08 SMTP发送邮件 smtp发送邮件过程
- 2024-11-08 NPM 使用介绍 npm .staging
- 2024-11-08 java servlet笔记:设置编码集、文件下载和两种服务器跳转
- 2024-11-08 还不懂 HTTP 协议的吗?一篇文章讲透
- 2024-11-08 JavaScript包管理工具pnpm介绍 js importpackage
- 2024-11-08 Ajax请求时,请求类型,常用的几种 Content-Type json form-data xml
- 2024-11-08 Python教程:报表和日志精讲 python自动生成日报
- 2024-11-08 安全RCE之未授权访问分析 未授权的访问路径
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-