Найти - Пользователи
Полная версия: Imbox почтовая боль
Начало » Python для новичков » Imbox почтовая боль
1
ZerG
Всем привет.
В одном из своих проектов юзаю либу 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(";")

Совершенно в диком состоянии
Как бы это предусмотреть? Обойти? Обмануть?
Rodegast
Похоже что какой-то недотыкомка тебе вместо base64 кидает бинарный файл. Попробуй перекодировать эти заголовки, может быть поможет.
ZerG
Да уже пол дня пробую.
Rodegast
import base64
binData = open("/home/rodegast/logo.png").read()
strData = base64.encodestring(binData)
ZerG
Там давно уже разобрался!
Тут ошибка в другом месте.
Суть в том что метод
part.get('Content-Disposition', None)
должен получить на выходе что-то такое:
Content-Disposition: inline; filename=“companylogo.jpg”
И он отгребает все.
Однако - в raw маил уже идет криво
Content-Disposition: inline;
Ü · U ±! ° ¶ µ  Q µ2
Ну а дальше по вытекающим….

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

Сама суть проблемы в том что в данном случае ето не вложение а картинка в письме - то есть как мы видим inline. Обрабатываем мы то его правильно… Но….
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB