如何使用 S3 URL 将文档 (pdf/images) 附加到 Django 电子邮件程序到创建文件的文档?

How to attached documents (pdf/images) to Django emailer using the S3 URL to the document creating a file?

我有一些图像和 PDF,可以通过它们各自的 S3 URL 获得。我想将这些文档附加到我使用本机 Django Emailer 发送的电子邮件中。

有没有什么方法可以做到这一点,而无需在服务器上下载文档然后附加它们,因为这会产生开销 od 删除文档 post 已发送的电子邮件。 另外,我不想在电子邮件中给出 URL,因此无法将图片作为 HTML 的一部分嵌入到电子邮件中。

我正在使用

Python 2.7
Django 1.9 
DRF 3.4

假设您的文件存储为具有 s3 路径的普通文件字段,那么您可以执行以下操作:

message = EmailMessage(subject, body, from_email, recipient_list)
message.attach(FILENAME, xyzmodel.abcfilefield.read())

 from django.core.files.storage import default_storage
 try:
    yourfile = default_storage.open(files3_url, 'r')       
    email.attach(yourfile_name, yourfile.read())

except:
    pass

希望能解决您的问题!!