【问题标题】:How to attached documents (pdf/images) to Django emailer using the S3 URL to the document creating a file?如何使用创建文件的文档的 S3 URL 将文档(pdf/图像)附加到 Django 电子邮件?
【发布时间】:2018-09-07 12:30:21
【问题描述】:

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

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

我正在使用

Python 2.7
Django 1.9 
DRF 3.4

【问题讨论】:

    标签: python django email django-rest-framework email-attachments


    【解决方案1】:

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

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

    【讨论】:

    • S3 url 直接向我显示图像,但我得到了 IOError: [Errno 2] No such file or directory: 与此行:img_data = default_storage.open(img_url, 'r')
    猜你喜欢
    • 2012-01-02
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2017-03-31
    相关资源
    最近更新 更多