В emai.header.decode_header проверяется все это такой регуляркой:
ecre = re.compile(r''' =\? # literal =? (?P<charset>[^?]*?) # non-greedy up to the next ? is the charset \? # literal ? (?P<encoding>[qb]) # either a "q" or a "b", case insensitive \? # literal ? (?P<encoded>.*?) # non-greedy up to the next ?= is the encoded string \?= # literal ?= (?=[ \t]|$) # whitespace or the end of the string ''', re.VERBOSE | re.IGNORECASE | re.MULTILINE)
FROM header выглядит так:
=?windows-1251?B?zvLi5fL7QE1haWwuUnU=?=<otvet@corp.mail.ru>
decode_header возвращает список из кортежей в которых первый элемент тело заголовка(значение), второй кодировка None если ее нету, заголовок выше закодирован…
Но decode_header возвращает список
[('=?windows-1251?B?zvLi5fL7QE1haWwuUnU=?=<otvet@corp.mail.ru>', None)]
Или баг функциии или я туплю?
Зы другой сервис шлет…
Такого вида: =?windows-1251?B?zvLi5fL7QE1haWwuUnU=?= <otvet@corp.mail.ru>
Тоесть получается что на части разбивает.