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

Python自动化邮件添加HTML表格图像和Excel附件_第1张图片
data_source.png

2、传入数据,形成HTML网页:
关于HTML的语法,可自行百度,这里给个简单的表格:


  html = """\




    iOS - Bugly崩溃日报


版本崩溃信息:

版本号 影响人数 发生次数 日崩溃率-用户指标 波动
""" + str(all_versions[0]) + """ """ + str(personNums[0]) + """ """ + str(hanppends[0]) + """ """ + daily_crash_bugly(today_bugly[0]) + """ """ + str(bugly_flu[0]) + """
""" + str(all_versions[1]) + """ """ + str(personNums[1]) + """ """ + str(hanppends[1]) + """ """ + daily_crash_bugly(today_bugly[1]) + """ """ + str(bugly_flu[1]) + """
""" + str(all_versions[2]) + """ """ + str(personNums[2]) + """ """ + str(hanppends[2]) + """ """ + daily_crash_bugly(today_bugly[2]) + """ """ + str(bugly_flu[2]) + """
""" + str(all_versions[3]) + """ """ + str(personNums[3]) + """ """ + str(hanppends[3]) + """ """ + daily_crash_bugly(today_bugly[3]) + """ """ + str(bugly_flu[3]) + """

详情请见附件

"""

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': ["[email protected]"],
        'cc': ['[email protected]'],
        'server': 'smtp.exmail.qq.com',
        'port': 25,
        'subject': 'Just for Test',
        'username': '[email protected]',
        'password': 'xxxxxx',
        'text': context}
    )

发送邮件成功结果:

Python自动化邮件添加HTML表格图像和Excel附件_第2张图片
result.png

你可能感兴趣的:(Python自动化邮件添加HTML表格图像和Excel附件)