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

本文源码请见:Github 源码

发送邮件的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]))

data_source.png

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}
    )

发送邮件成功结果:

result.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,871评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 19,483评论 4 417
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 4,014评论 1 61
  • 今天闺蜜发来微信跟我大吐苦水,由于老公长期在外地出差,她生完孩子后一直在娘家带孩子。上周老公回来后,直接来到她娘家...
    雪山飞狐儿阅读 587评论 0 0
  • 有时候 工作就像石头砸在自己的头上 痛苦 有时候 更像柳絮抓挠 痒痒 更有时候 我希望前方阳光一片 可是 …… 但...
    阿杨欧尼阅读 241评论 0 0

友情链接更多精彩内容