代码之家  ›  专栏  ›  技术社区  ›  nimeshkiranverma

如何使用创建文件的文档的S3 URL将文档(pdf/图像)附加到Django emailer?

  •  1
  • nimeshkiranverma  · 技术社区  · 7 年前

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

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

    Im使用

    Python 2.7
    Django 1.9 
    DRF 3.4
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   py-D    7 年前

    假设文件存储为具有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
    

    希望它能解决你的问题!!