Необходимо отправить письмо с приложенным CSV-файлом в App Engine (Python / Django) - PullRequest
0 голосов
/ 02 марта 2011

У меня есть требование экспортировать некоторые данные из таблицы (не все поля + некоторые свойства) и отправить их в виде вложения в электронное письмо.

Я думал о создании объекта StringIO с содержимым CSV, загрузке его в blobstore и прикреплении файла к электронной почте. Но я не знаю, как перейти от StringIO к загруженному файлу.

Возможно, мы имеем дело со 100K + записями, это может быть проблемой?

1 Ответ

2 голосов
/ 03 марта 2011

Как указано в документации , функция mail.send_mail принимает аргумент 'attachments', который должен представлять собой список из двух кортежей, представляющий собой имя файла и содержимое файла, который нужно прикрепить. Вы можете получить содержимое из StringIO, позвонив по нему .get_value().

Что касается размера, исходящие сообщения ограничены 10 МБ. Если ваш CSV-файл больше этого, то да, у вас возникнут проблемы. Если вы можете, сожмите его с помощью gzip или zipfile перед отправкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...