2016-02-16 4 views
0

Я посылаю письмо со следующим кодом:Неправильный мим-тип вложений EmailMultiAlternatives

txt_msg_body = get_template('{0}.txt'.format(template_name)).render(ctx) 
html_msg_body = get_template('{0}.html'.format(template_name)).render(ctx) 
msg = EmailMultiAlternatives(subject, txt_msg_body, smtp_from, recipients) 
msg.attach_alternative(html_msg_body, "text/html") 
... 
with open(file_path, 'rb') as fh: 
    data = fh.read() 
... 
msg.attach(name, data, 'application/pdf') 
msg.send() 

Несмотря на явно заданный параметр content_type, клиент электронной почты выдает предупреждение «Прогнозный: применение/PDF ; found: application/octet-stream (.bin) ". Зачем?

+0

Вы можете открыть приложение? Может быть, данные должны быть закодированы особым образом? Base64 или так? – mnille

+0

@mnille Да, если я сохраню его на диске. –

+0

И вы можете открыть файл, не так ли? – mnille

ответ

0

Я чувствую себя настолько немым. Проблема была вызвана двумя ошибками. Во-первых, имя приложения должно иметь расширение! Во-вторых, RoundCube должен использовать PHP с mime_magic.

Смежные вопросы