Django EmailMessage с текстом / простым вложением отправляет искаженный файл - PullRequest
0 голосов
/ 28 августа 2018

Я пытался отправить электронное письмо с приложением Django. Шаги, как показано ниже:

msg = EmailMessage(
    "Test",
    "This is testing.",
    to=["foo@bar.com"],
    attachments=[
        ("test.txt", b"This is a text.", "text/plain")
    ]
)
msg.send()

Однако вложение, которое я получаю, искажено:

N¬Æ­{

Ниже приведено то, что я получил с hexdump из файла вложения на случай, если это будет полезно:

0000000 184e 8aac adc6 1b7b                    
0000008

Я также попробовал методы ниже (явно определяя mimetype):

  • attach метод для EmailMessage экземпляра со строкой и двоичным кодом
  • attach_file метод для EmailMessage экземпляра со строкой и двоичным кодом

Однако с этими методами у меня (i) искаженный результат или (ii) странно пустое вложение.

Итак, есть ли что-то, чего я не знаю о прикреплении простой строки к письму?


Окружающая среда

  • Тестирование на Манджаро (если тестовая машина влияет на мои результаты, может быть?)
  • Python 3.5.6
  • Джанго 2.0.4
...