2014-01-23 3 views
3

Итак, я хочу отправить электронное письмо от Django/Python, размещенное на Heroku, с вложением (PDF), расположенным в ведре S3. Поэтому я могу отправить электронное письмо с прикрепленным файлом, которое локально хранится, но я не могу найти способ прикреплять удаленно размещенный файл к электронному письму.Отправка электронной почты из приложения Django, размещенного на Heroku, с прикрепленным файлом, хранящимся в AWS S3

Как дополнительный момент, я пытаюсь использовать Mandrill, но это не основное требование.

Я просто пытаюсь отправить по электронной почте из питона/Джанго с приложением без необходимости сохранения вложения локально первым (так как это не рекомендуется/возможно/идеал с моей установкой Heroku)

ответ

3

Это достаточно просто, предполагается, что ваш файл хранится в виде обычного поля файла (с другой памяти, выделенной), то вы можете сделать следующее:

message = EmailMessage(subject, body, from_email, bcc=recipient_list) 
message.attach(FILENAME, mymodel.myfilefield.read()) 

Это будет просто скачать файл с S3 временно в памяти и отправить электронной почты с вложением без необходимости использования локальной файловой системы.

+0

Документы для электронной почты: https://docs.djangoproject.com/ru/dev/topics/email/#django.core.mail.EmailMessage – rafaponieman

+0

Спасибо @rafadeb - работал как шарм, как только я установил django-хранилища. – HungryArthur

Смежные вопросы