Djangp-Herald: Не могу отправлять письма с вложениями - PullRequest
0 голосов
/ 15 июня 2019

Кто-нибудь использует Django Herald для отправки уведомлений?

Я несколько дней боролся за то, чтобы это заработало, но отсутствие документации и тихие сбои сделали невозможным устранение неполадок. Кажется, что письма не отправляются, если я включаю в них вложение.

from herald.base import EmailNotification


def sendMail():
    SendThisMail(user, my_modal).send(user=my_user) # creates an error on this line as the file object is closed and inaccessible.

@registry.register_decorator()
class SendThisMail(SomeBaseClass, EmailNotification):
    def __init__(self, user, my_modal: models.MyModal):
        super().__init__(user, my_modal)

        self.subject = "abc"

        file = open('.staticfiles/assets/some.pdf', 'rb')

        self.attachments = [('attachment_1', File(file))]

        self.context = {
            **self.context,
            'subject': self.subject,
            'attachment': self.attachments,
        }

        self.to_emails = [user.email]

Что с ним не так?

1 Ответ

1 голос
/ 15 июня 2019

Из документов проекта:

Каждое вложение в списке может быть одним из следующих:

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

Таким образом, соответствующие части вашего кода должны быть примерно такими:

  data = open('.staticfiles/assets/some.pdf', 'rb').read()
  self.attachments = [('attachment_1', data, 'application/pdf')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...