#!/usr/bin/python

-- coding: UTF-8 --

smtplib 用于邮件的发信动作

import pandas as pd
import datetime
import smtplib
from email.mime.text import MIMEText
#from django.core.mail import EmailMultiAlternatives
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

email 用于构建邮件内容

from email.header import Header
from email.header import make_header
import os
import ssl
pd.set_option(‘display.max_colwidth’, -1) # 能显示的最大宽度, 否则to_html出来的地址就不全
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)

def get_html_msg():
“”"
1.构造html信息
“”"
df =pd.read_excel("")
df_html=df.to_html(escape=False)

head = \"""<head><meta charset="utf-8"><STYLE TYPE="text/css" MEDIA=screen>table.dataframe {border-collapse: collapse;border: 2px solid #a19da2;/*居中显示整个表格*/margin: auto;}table.dataframe thead {border: 2px solid #91c6e1;background: #f1f1f1;padding: 10px 10px 10px 10px;color: #333333;}table.dataframe tbody {border: 2px solid #91c6e1;padding: 10px 10px 10px 10px;}table.dataframe tr {}table.dataframe th {vertical-align: top;font-size: 14px;padding: 10px 10px 10px 10px;color: #105de3;font-family: arial;text-align: center;}table.dataframe td {text-align: center;padding: 10px 10px 10px 10px;}body {font-family: 宋体;}h1 {color: #5db446}div.header h2 {color: #0002e3;font-family: Calibri;}div.content h2 {text-align: center;font-size: 28px;text-shadow: 2px 2px 1px #de4040;color: #fff;font-weight: bold;background-color: #008eb7;line-height: 1.5;margin: 20px 0;box-shadow: 10px 10px 5px #888888;border-radius: 5px;}h3 {font-size: 22px;background-color: rgba(0, 2, 227, 0.71);text-shadow: 2px 2px 1px #de4040;color: rgba(239, 241, 234, 0.99);line-height: 1.5;}h4 {color: #e10092;font-family: 楷体;font-size: 20px;text-align: center;}td img {/*width: 60px;*/max-width: 300px;max-height: 300px;}</STYLE></head>"""# 构造模板的附件(100)
body = \"""<body><div align="left" class="header"><!--标题部分的信息--><p style="font-family:arial;color:blue;font-size:20px;">Dears,</p><p style="font-family:arial;color:black;font-size:20px;">Below is the trend of the footfall 2020 for your reference<br>Thanks for your time to read<br><h1 align="center">This report is generated and sent automatially </h1></div><hr><div class="content"><!--正文内容--><h2>The Latest 5 Days Footfall</h2><div><h4></h4>{df_html}</div><hr><p style="text-align: center"> <br><img src="cid:image1"></br><p style="text-align: center">—— report end ——</p>Best Regards</br>STL Data Service</div></body>""".format(df_html=df_html)
html_msg= "<html>" + head + body + "</html>"
# 这里是将HTML文件输出,作为测试的时候,查看格式用的,正式脚本中可以注释掉

fout = open(‘t4.html’, ‘w’, encoding=‘UTF-8’, newline=’’)

fout.write(html_msg)

return html_msg

#msg.attach(html_msg)

def getYesterday():

“”"

:return: 获取昨天日期

“”"

today = datetime.date.today()
oneday=datetime.timedelta(days=1)
yesterday=today-oneday
# 日期转字符串
partition_date=yesterday.strftime('%d %b %y')
return partition_date

def send_data(html_msg):

用于构建邮件头

smtp_server = ‘’
username = “”

# 邮件发送和接收人
sender = username
receiver = ['']
partition_date=getYesterday()
# 邮件头信息
msg = MIMEMultipart('related')
#yesterday=getYesterday()
msg['Subject'] =Header('Footfall Update on '+partition_date)
msg["From"] = sender
msg['To'] = ','.join(receiver)  # 这里要注意# html 内容
content_html = MIMEText(html_msg, "html", "utf-8")
msg.attach(content_html)#发送图片
fp = open('图片路径','rb')
msgImage = MIMEImage(fp.read())
fp.close()msgImage.add_header('Content-ID','<image1>')
msg.attach(msgImage)
# 发送邮件,测试成功,流程都是固定的:创建客户端,登陆,发送,关闭
email_client = smtplib.SMTP(smtp_server,25)
#email_client.login(username, password)#因为是内部服务器就不需要账号登陆了。
email_client.sendmail(sender, receiver, msg.as_string())
email_client.quit()

if name == ‘main’:
html_msg = get_html_msg()
send_data(html_msg)

Python带HTML表格图片的自动邮件发送相关推荐

  1. python实现12306抢票以及自动邮件发送提醒付款

    #写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流. 只做技术交流..... 嗯,程序结束后,自己还是得手动付款. 废话不多说,下面就直 ...

  2. Py自动化办公—Word文档替换、Excel表格读取、Pdf文件生成和Email自动邮件发送实战案例...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 平阳歌舞新承宠,帘外春寒赐锦袍. ...

  3. python+opencv将表格图片按照表格框线分割、识别

    如下小程序为使用python+opencv将表格图片,按照表格进行分割,并识别分割后的子图片中的文字,希望对需要的小伙伴有一些些帮助.具体的实现见如下代码. # -*- coding: utf-8 - ...

  4. 自动发送邮件的服务器,自动邮件发送_任何情况立刻通知你

    原标题:自动邮件发送_任何情况立刻通知你 Python自动邮件发送 在日常工作中,我们经常需要收发邮件,不知大家可曾想过,如果能够实现自动发送,那岂不是爽歪歪~ 就像跑图像检测的模型经常跑一两天,如果 ...

  5. Python+request+ smtplib 测试结果html报告邮件发送(上)《五》

    此方法通用适合所有邮箱的使用,只需注意几个点,如下: QQ邮箱.其他非QQ邮箱的写法,区别点如下: #--------------------------使用腾讯企业邮箱作为发件人的操作如下----- ...

  6. php 發送郵件的方式,php带抄送和密件抄送的邮件发送方法

    作者:work24 字体: 类型:转载 这篇文章主要介绍了php带抄送和密件抄送的邮件发送方法,涉及php中mail函数的使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php带抄送和 ...

  7. 往邮箱里发python怎么发_Python 超简单的邮件发送方法

    在训练网络模型的时候,往往需要好几个小时,甚至十几个小时,由于时间不固定,所以有时候我去查看了好几次都没训练完,有时候训练结束很久了我才想起去看,所以我就想训练结束后自动给我发个邮件,这样我就可以专心 ...

  8. python server酱_Python 超简单的邮件发送方法

    在训练网络模型的时候,往往需要好几个小时,甚至十几个小时,由于时间不固定,所以有时候我去查看了好几次都没训练完,有时候训练结束很久了我才想起去看,所以我就想训练结束后自动给我发个邮件,这样我就可以专心 ...

  9. python-基于yagmail库开发自动邮件发送程序

    目录: 前言: 一,准备工作; 1.安装第三方库 2.邮箱设置步骤 二,编写程序 1.发送单个邮件的程序 2.发送单个邮件的进阶程序 前言: 很多时候,我们发送网络邮件都需要进入邮箱网站或App,可能 ...

  10. [Python] [邮件发送] 用Python的smtplib和email库进行邮件发送

    目录 1.Intro 2.Details 3.Theory 4.Environment 5.Source 6.Conclusion 1.Intro 眼看就到了12月中旬,除了帮朋友码竞赛题,前半个月可 ...

最新文章

  1. linux 压缩 解压缩 详解
  2. vue-textarea 自适应高度
  3. 重载和const形参
  4. 深入理解重要的编程模型
  5. json 解析_json爬坑1:yajl解析json
  6. Luogu3941[湖南集训2017] 入阵曲
  7. 软件著作权申请注意事项(微信小程序)
  8. Selenium下载PDF文件实战 2021-07-21
  9. 单片机技术及应用:基于proteus仿真的c语言程序设计,单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...
  10. 英文科技论文写作与学术报告Lecture 2习题答案
  11. 目标检测数据集:直升机(1)
  12. MacBook安裝系統報錯
  13. JAVA泡泡堂网络游戏的设计与实现
  14. 云和恩墨荣获阿里云云合计划2021年度优秀伙伴技术先锋奖
  15. 物联网设备安全保护,需要这三道防线
  16. linux发邮件到126,使用126邮箱发送邮件的python脚本
  17. ble理论(13) BT4.2 ble 广播详解
  18. gitHub客户端Desktop的安装使用总结 ---基础篇
  19. 2021年PMP考试考场公布
  20. 下载全网音视频资源的神器—You-get

热门文章

  1. doc创建计算机用户,问什么我电脑一直创建这些文件夹?$RECYCLE.BIN qqpcmgr_docpro System Volume Information...
  2. TCP通信协议基本操作
  3. (转载)IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?
  4. POJ - 3537 Crosses and Crosses (MLI - SG)
  5. php电子病历毕业设计,基于区块链的电子病历系统设计与实现(自制毕设)
  6. matlab遥感图像分类
  7. Inception模块 GooLeNet网络
  8. 微信小程序获取openid(用户唯一身份识别)
  9. 经济基础知识(中级)【6】
  10. 梦幻西游修炼金钱计算器