我找到了这个帖子:GAE Python - How to attach the results of csv.writer to an email?
这有助于我将csv附加到来自Google App Engine的电子邮件中。我的代码如下:
self.response.headers[str('Content-Type')] = str('text/csv')
self.response.headers[str('Content-Disposition')] = str('attachment; filename="data.csv"')
writer = csv.writer(self.response.out)
[write csv here]
message=mail.EmailMessage(sender='test@example.com',subject='Subject', attachments=[("data.csv",self.response.body)])
message.to=[to email here]
message.html='Message Body'
message.send()
问题是当此代码运行时,不仅会发送电子邮件,还会下载文件。有没有办法防止文件被下载?
答案 0 :(得分:0)
正在下载,因为您正在将其写入响应输出。您应该将附件内容写入临时文件/内存并附加该内容。
此外,无需设置这些标题。
您引用的SO问题的接受答案是错误的,另一个答案是最好的https://stackoverflow.com/a/15453323/2018227