Python CGI 电子邮件动态输出为文本文件附件
我想用Python发送一封电子邮件,里面有标准的收件人、发件人、正文等等。不过,这里有个问题。我的Python脚本会处理一个字符串,进行一些操作,比如添加、删除、格式化等等。我想把这个处理后的结果作为附件直接发送出去。我知道我可以把结果先保存到一个文本文件里,然后再把这个文件作为附件发送。但是,由于这个CGI脚本的安全限制,我不能在CGI目录下写文件。请问有没有办法动态创建一个文本文件对象,并将其作为附件发送呢?
我使用的是Python的SMTP模块。
因为权限问题,我不能创建一个传统的静态文本文件。我想看看Python能否在执行时创建一个文本文件,然后把数据填进去,再通过SMTP模块把它作为附件发送。
2 个回答
0
你在用smtplib和email.mime.multipart这两个模块吗?MIMEMultipart类的attach()方法是用来添加数据的,而不是用来添加文件的。
1
这个页面上的最后一个例子展示了如何使用 smtplib
和 email
模块来创建和发送一个包含文本和HTML部分的多部分MIME消息。这个例子应该很容易根据你的需求进行调整,以便发送带有附件的消息(理想情况下,附件的内容类型应该是 message/rfc822
)。