前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python自动化邮件添加HTML表格图像和Excel附件

Python自动化邮件添加HTML表格图像和Excel附件

作者头像
沈宥
发布2022-05-09 21:27:53
5760
发布2022-05-09 21:27:53
举报

本文源码请见Github

https://github.com/Shemiou/Small_Python

发送邮件的Python脚本网上有很多,就不做过多描述

1、通过本地Excel获取原始数据:

wb = load_workbook(fileName,data_only=True)

ws = wb.get_sheet_by_name('Crash')

for rown in xrange(3,7):

for coln in xrange(2,8):

value = ws.cell(row=rown,column=coln).value

if coln == 2:

all_versions.append(value)

elif coln == 3:

personNums.append(int(value))

elif coln == 4:

hanppends.append(int(value))

elif coln == 5:

today_bugly.append(float(value))

elif coln == 6:

yes_bugly.append(float(value))

for x in xrange(0,4):

bugly_flu.append(crash_rate(today_bugly[x],yes_bugly[x]))

比如上述代码段中,获取文件名为"Bugly-Daily-iOS",工作簿为"Crash"的固定行列中的数据源,并将数据存放在数组中。

2、传入数据,形成HTML网页

关于HTML的语法,这里不做赘述,下面的代码是一个简单的表格:

html = """\

<!DOCTYPE html>

<html>

<meta charset="utf-8">

<head>

<title>iOS - Bugly崩溃日报</title>

</head>

<body>

<div id="container">

<div id="content">

<p>

版本崩溃信息:

<table width="800" border="2" bordercolor="black" cellspacing="2">

<tr>

<td><strong>版本号</strong></td>

<td><strong>影响人数</strong></td>

<td><strong>发生次数</strong></td>

<td><strong>日崩溃率-用户指标</strong></td>

<td><strong>波动</strong></td>

</tr>

<tr>

<td>""" + str(all_versions[0]) + """</td>

<td>""" + str(personNums[0]) + """</td>

<td>""" + str(hanppends[0]) + """</td>

<td>""" + daily_crash_bugly(today_bugly[0]) + """</td>

<td bgcolor="#FF8040">""" + str(bugly_flu[0]) + """</td>

</tr>

<tr>

<td>""" + str(all_versions[1]) + """</td>

<td>""" + str(personNums[1]) + """</td>

<td>""" + str(hanppends[1]) + """</td>

<td>""" + daily_crash_bugly(today_bugly[1]) + """</td>

<td bgcolor="#FF8040">""" + str(bugly_flu[1]) + """</td>

</tr>

<tr>

<td>""" + str(all_versions[2]) + """</td>

<td>""" + str(personNums[2]) + """</td>

<td>""" + str(hanppends[2]) + """</td>

<td>""" + daily_crash_bugly(today_bugly[2]) + """</td>

<td bgcolor="#FF8040">""" + str(bugly_flu[2]) + """</td>

</tr>

<tr>

<td>""" + str(all_versions[3]) + """</td>

<td>""" + str(personNums[3]) + """</td>

<td>""" + str(hanppends[3]) + """</td>

<td>""" + daily_crash_bugly(today_bugly[3]) + """</td>

<td bgcolor="#FF8040">""" + str(bugly_flu[3]) + """</td>

</tr>

</table>

</p>

<p>

详情请见附件

</p>

</div>

</div>

</body>

</html>

"""

3、添加Excel附件

part = MIMEApplication(open(fileName,'rb').read())

part.add_header('Content-Disposition', 'attachment', filename=fileName)

message.attach(part)

4、发送邮件

def send_mail_to_test(context):

send_mail({

'to': ["wangpingyang03@mail.cn"],

'cc': ['wangpingyang03@mail.cn'],

'server': 'smtp.exmail.qq.com',

'port': 25,

'subject': 'Just for Test',

'username': 'pingyang.wang@mail.cn',

'password': 'xxxxxx',

'text': context}

)

发送邮件成功结果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从头开始学习测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档