要活成两种样子:发光和不发光,不发光的时候都是在为发光做准备
这篇我们继续,python如何实现自动发送HTML格式邮件的~
邮件正文发汇总数据,附件发明细数据,这才是python邮件自动化的正确打开方式。
老规矩,文章底部可以获取源代码,废话不多说,直接开始。
—
1
—
更改MIMEText读取方式
如果你已经理解了前两篇的内容,那么,要实现HTML格式的邮件,只剩最后一个步骤。
之前我们的邮件正文是一句话“请查收数据!”,想让它显示表格的样式,需要先将send_email函数中的两句代码改成:
#邮件正文 body = html_data msg.attach(text.MIMEText(body, 'html', 'utf-8'))
改完之后,MIMEText方法会以HTML的方式读取body的内容,并将其attach到邮件的正文中。
由于大部分邮箱都是支持HTML标签的,因此,我们打开邮件的时候就能看到以表格样式展示的数据了(注意:手机可能不支持,会看不到)
—
2
—
了解HTML代码构成
那么,问题就变成了:如何构造一个表格样式,并将数据传入。
我们能通过这张图简单了解HTML文件的构成,表格的样式可以自行设置,重点是table部分的构造。上一篇中我们是通过for循环遍历每一个数据,然后将其填充至Excel表格中,这里我们也可以通过for循环遍历,将其构造成table格式。
—
3
—
编写HTML模板
新建一个HTML模板文件“EmailHTML.html”,表格的表头部分用#{title}表示,内容部分用#{content}表示。(
—
4
—
for循环遍历,传入数据
通过for循环对数据进行遍历,构造新的html代码,来替换上面的模板
至此,将所有代码串起来,就可以实现python发送HTML格式邮件的功能了。
大家有什么问题也欢迎留言讨论。