使用Python将电子邮件另存为html文件

时间:2017-06-08 04:05:11

标签: python html email

公司我正在进行一些合同开发工作,将电子邮件保存为.htm文件,以便它们在Intranet中正确打开(.msg文件无法正确打开)。我正在努力自动执行一系列任务,包括保存电子邮件。在Python中将电子邮件另存为html文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您能否提供一些代码,以便我们知道您首先获得电子邮件的变量/方法是什么?即,你在不同的变量中是否有不同的字段('从','到','主题','日期'......)?

这是一个用于编写纯HTML文件的模板:

f=open('saved_email_1.htm','wb')
f.write ('<!doctype html>')
f.write ('<html><head><title>Email Subject</title>')
f.write ('</head><body>')
f.write ('<h1>Email Subject</h1>')
f.write ('<p><b>From: EMAIL@EMAIL.COM</b></p>')
f.write ('<p><b>To: EMAIL@EMAIL.COM</b></p>')
f.write ('<p><b>Date: DATE</b></p>')
f.write ('<p><b>Subject: DATE</b></p>')
f.write ('<p style="border-bottom:1px solid black"><b>Contents:</b></p>')
f.write (varEmailContents)
f.write ('</body></html>')
f.close

现在你需要的只是一些CSS,一些电子邮件数据变量,并且在将变量写入文件之前记住.HTMLescape()变量(否则很多字符会混淆HTML)。

在Python3中,有一个html模块来执行特殊字符的转义/编码。所以,它看起来像:

import html
... ... ...
f.write ('<p><b>Date: '    + varEmailDate                   + '</b></p>')
f.write ('<p><b>Subject: ' + html.escape(varEmailSubject)   + '</b></p>')
f.write ('<p style="border-bottom:1px solid black"><b>Contents:</b></p>')
f.write (html.escape(varEmailContents))
f.write ('</body></html>')
f.close