所以我想发送一封来自Heroku托管的Django / Python的电子邮件,其附件(PDF)位于S3存储桶中。因此,我可以发送一封包含本地存储的文件附件的电子邮件,但我找不到将远程托管文件附加到电子邮件的方法。
另外一点,我正在尝试使用Mandrill,但这不是主要要求。
我只是尝试从python / django发送带有附件的电子邮件,而不必先在本地保存附件(因为我的Heroku设置不推荐/可能/理想)
答案 0 :(得分:5)
这很简单,假设您的文件存储为普通文件字段(选择了不同的存储空间),那么您可以执行以下操作:
message = EmailMessage(subject, body, from_email, bcc=recipient_list)
message.attach(FILENAME, mymodel.myfilefield.read())
这只是将文件从S3临时下载到内存中,并发送附带附件的电子邮件,而无需使用本地文件系统。