Закрыть

Для эффективной работы на сайте используются cookie и обработка персональных данных. Пользуясь этим сайтом, вы соглашаетесь с правилами использования сайта. Подробнее

Цитата дня

html_content с вложениями в django-post_office

Обнаружил странную проблему при прикреплении файла в django-post-office (по крайней мере это наблюдается в версии 2.0.8 и ниже): когда посылаешь письмо, состоящее из html-контента с прикреплением любого файла (неважно какого формата), то письмо приходит, но без прикрепленного файла.

Использовались версии пакетов:

django==1.10.7 (и ниже)
django-post-office==2.0.8 (и ниже)

Более подробно поведение django-post-office указанной версии и работу функции mail.send() можно описать так:

  1. Посылаешь письмо с обычным содержанием, используя параметр message, и прикрепляешь файл - работает правильно, т. е. видим и текст письма и вложение.
  2. Посылаешь письмо с содержанием, содержащее html-теги или даже обычный текст без тегов, используя параметр html_message, и прикрепляешь файл - работает не правильно, т. е. приходит письмо с файлом, но без самого содержания.
  3. Посылаешь письмо с содержанием, используя параметр html_message, но без вложения - работает правильно, т. е. видим текст письма, отформатированный в соответствии с html-тегами.

Я нашёл следующее решение этой странной проблемы: использовать оба параметра message и html_message, например:

msg = render_to_string('path/to/template/', {'some_data': 'some_data'})
pdf = render_to_pdf(form.pdf_template, email_data)
attachments = {'Message.pdf': ContentFile(pdf)}
mail.send(user_email, me, subject=subject, message=msg, html_message=msg, attachments=attachments)

Оцените статью

0 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

Автор статьи

Права на использование данной статьи, расположенной на настоящей странице http://vivazzi.ru/it/html_content-with-attachments/:

Разрешается копировать статью с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.ru/it/html_content-with-attachments/">http://vivazzi.ru/it/html_content-with-attachments/</a>

Подробнее: Правила использования сайта

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.
Посмотреть рекомендации

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте