【发布时间】:2013-04-19 08:43:20
【问题描述】:
我正在 django 中生成一堆 html 电子邮件,我想将它们保存到模型中,在 FileField 中。我可以很容易地生成 html 内容并转储到File,但我想创建可以在电子邮件客户端中打开的东西,例如eml 文件。有谁知道 python 或 django 模块可以做到这一点?需要说明的是,我不是在寻找替代电子邮件后端,因为我还希望在生成电子邮件时发送它们。
编辑:经过一番阅读,在我看来 EmailMessage.messge() 应该返回应该存储在 eml 文件中的内容。但是,如果我尝试这样保存,生成的文件是空的:
import tempfile
name = tempfile.mkstemp()[1]
fh = open(name, 'wb')
fh.write(bytes(msg.message()))
fh.close()
output = File(open(name, 'rb'), msg.subject[:50])
我想使用BytesIO 代替临时文件,但临时文件更容易测试。
【问题讨论】:
-
到目前为止你尝试了什么?
-
@SamueleMattiuzzo 我可以尝试什么?我正在寻找一个模块,对语法没有帮助。
-
也许您需要一份时事通讯? emenica django newsletter
-
@AamirAdnan 并非如此 - 我的电子邮件以及它们周围的一般基础设施不需要任何复杂的东西。生成电子邮件很容易,我只是坚持将其保存到文件中。