Задать вопрос
@NyxDeveloper

Почему при отправке письма через django.core.send_mail приложеные файлы не показываются в outlook?

Настраиваю корпоративную рассылку писем. В почтовых ящиках в браузере все данные доходят отлично, вместе с файлами. Но в outlook все файлы приходят с непонятными названиями и в формате .dat.
Понятно, что все дело в форматах Microsoft, но не ясно что с этим делать.
Вот код отправки письма:
def save(self, *args, **kwargs):
        msg = MIMEMultipart()
        msg["Subject"] = self.title
        msg["From"] = self.employee.email
        msg["To"] = self.to
        msg.attach(MIMEText(self.text, "html"))

        # получаем список файлов действвия и добавляем их в сообщение
        for f in self.action.document_set.filter(non_relevant=False):
            path = os.path.join(MEDIA_ROOT, f.file.path)
            attachment = MIMEApplication(open(path, "rb").read(), _subtype=f.file.name.split(".")[-1])
            attachment.add_header('Content-Disposition', 'attachment', filename=f.filename)
            msg.attach(attachment)

        s = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
        s.ehlo(self.employee.email)
        s.login(self.employee.email, self.employee.email_pass)
        senders = s.sendmail(self.employee.email, [self.to], msg.as_string())
        s.quit()

        if senders != {}:
            raise MailNotSendException
        return super(Mail, self).save(*args, **kwargs)

Я нашел информацию о том, что чтобы такого как у меня не происходило, нужно отправлять письмо в формате HTML (что я вроде и так делаю).
Что я делаю не так?
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы