我在 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])
我想使用 aBytesIO
而不是临时文件,但临时文件更容易测试。