Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 13, 2015 09:29:16

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Imbox почтовая боль

Всем привет.
В одном из своих проектов юзаю либу Imbox
https://github.com/martinrusev/imbox
Удобно. Все что нужно в коробке уже есть. Работает и кушать не просит!
И все бы хорошо пока не приходит письмо ответом, которое содержит в инлайне всякие там гадкие картинки… И все бы ничего, но вот иногда… в письме получаются вот такие заголовки

Content-Type: image/png;
name=“ ˜ · U ±! ° ¶ µ  Q µ2”
Content-Transfer-Encoding: base64
Content-ID: <part15.02010602.05010507@rovex-t.com>
Content-Disposition: inline;
˜ · U ±! ° ¶ µ  Q µ2
Соответственно бедный запрос
if content_disposition is not None:
        dispositions = content_disposition.strip().split(";")

Совершенно в диком состоянии
Как бы это предусмотреть? Обойти? Обмануть?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#2 Ноя. 13, 2015 13:35:15

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Imbox почтовая боль

Похоже что какой-то недотыкомка тебе вместо base64 кидает бинарный файл. Попробуй перекодировать эти заголовки, может быть поможет.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Ноя. 13, 2015 14:04:21

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Imbox почтовая боль

Да уже пол дня пробую.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Ноя. 13, 2015 14:12:14

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Imbox почтовая боль

import base64
binData = open("/home/rodegast/logo.png").read()
strData = base64.encodestring(binData)



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Ноя. 13, 2015 15:13:08

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Imbox почтовая боль

Там давно уже разобрался!
Тут ошибка в другом месте.
Суть в том что метод

part.get('Content-Disposition', None)
должен получить на выходе что-то такое:
Content-Disposition: inline; filename=“companylogo.jpg”
И он отгребает все.
Однако - в raw маил уже идет криво
Content-Disposition: inline;
Ü · U ±! ° ¶ µ  Q µ2
Ну а дальше по вытекающим….

Перекодировать данную строку у меня не вышло ничем.

Сама суть проблемы в том что в данном случае ето не вложение а картинка в письме - то есть как мы видим inline. Обрабатываем мы то его правильно… Но….



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Ноя. 13, 2015 15:13:59)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version