Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> base64.utf8.почта, перекодировать 
V
    Опции темы
Bulat
Дата 13.11.2014, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Суть такая, с определенных почтовых ящиков по телнету забирается свежая почта, и данные в body обрабатываются. С одного почтового ящика письма приходят в base64 кодировка самого текста utf8.

Бьюс, но пока так и не получилось в верной последовательности перекодировать сообщение в человекочитабельный вид. Нужен совет

То, что приходит по телнету:

Цитата

Date: 13 Nov 2014 07:52:42 +0300
Subject: =?utf-8?B?0J/QtdGA0LjQvtC0LtCa0L7RgtC10LvRjNC90LDRjyAi0JjQ?=
 =?utf-8?B?stC+0LvQs9CwIg==?=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
Message-Id: <[email protected]>

0JrQvtGCLtCY0JLQntCb0JPQkC4gCtCe0LHRidC10LrQvtGC0LXQu9GM0L3QsNGP
INCw0LLRgtC+0LzQsNGC0LjQutCwOgrQotC10LzQv9C10YDQsNGC0YPRgNCwINCy
0L7QtNGLINCyINGC0LXQv9C70L7RgdC10YLRjDogMCDCukMK0JTQsNCy0LvQtdC9
0LjQtSDQstC+0LTRiyDQv9C+0YHQu9C1INCh0J06IDAg0LrQn9CwCtCi0LXQvNC/
0LXRgNCw0YLRg9GA0LAg0LLQvtC00Ysg0LIg0JPQktChOiAwIMK6QwrQlNCw0LLQ
u9C10L3QuNC1INCy0L7QtNGLINCSINCT0JLQoTogMCDQutCf0LAK0KLQtdC80L/Q
tdGA0LDRgtGD0YDQsCDQstC+0LTRiyDQvdCwINCy0YXQvtC0INC60L7RgtC70L7Q
sjogMCDCukMK0JTQsNCy0LvQtdC90LjQtSDQstC+0LTRiyDQvdCwINCy0YXQvtC0
INC60L7RgtC70L7QsjogMCDQutCf0LAKCtCa0L7RgtC10LstMTogCtCi0LXQvNC/
0LXRgNCw0YLRg9GA0LAg0LLRi9GF0L7QtNCwINCy0L7QtNGLOiAwIMK6QwrQo9GB
0YLQsNCy0LrQsCDQv9C+INGC0LXQvNC/0LXRgNCw0YLRg9GA0LU6IDAgwrpDCtCg
0LDQt9GA0LXQttC10L3QuNC1INCyINGC0L7Qv9C60LU6IDAg0J/QsArQlNCw0LLQ
u9C10L3QuNC1INCz0LDQt9CwOiAwINC60J/QsArQotC10LzQv9C10YDQsNGC0YPR
gNCwINC00YvQvNC+0LLRi9GFINCz0LDQt9C+0LI6IDAgwrpDCgrQmtC+0YLQtdC7
LTI6IArQotC10LzQv9C10YDQsNGC0YPRgNCwINCy0YvRhdC+0LTQsCDQstC+0LTR
izogMCDCukMK0KPRgdGC0LDQstC60LAg0L/QviDRgtC10LzQv9C10YDQsNGC0YPR
gNC1OiAwIMK6QwrQoNCw0LfRgNC10LbQtdC90LjQtSDQsiDRgtC+0L/QutC1OiAw
INCf0LAK0JTQsNCy0LvQtdC90LjQtSDQs9Cw0LfQsDogMCDQutCf0LAK0KLQtdC8
0L/QtdGA0LDRgtGD0YDQsCDQtNGL0LzQvtCy0YvRhSDQs9Cw0LfQvtCyOiAwIMK6
QwoK0JrQvtGC0LXQuy0zOiAK0KLQtdC80L/QtdGA0LDRgtGD0YDQsCDQstGL0YXQ
vtC00LAg0LLQvtC00Ys6IDAgwrpDCtCj0YHRgtCw0LLQutCwINC/0L4g0YLQtdC8
0L/QtdGA0LDRgtGD0YDQtTogMCDCukMK0KDQsNC30YDQtdC20LXQvdC40LUg0LIg
0YLQvtC/0LrQtTogMCDQn9CwCtCU0LDQstC70LXQvdC40LUg0LPQsNC30LA6IDAg
0LrQn9CwCtCi0LXQvNC/0LXRgNCw0YLRg9GA0LAg0LTRi9C80L7QstGL0YUg0LPQ
sNC30L7QsjogMCDCukMK


считается что в 0J/QtdGA0LjQvtC0LtCa0L7RgtC10LvRjNC90LDRjyAi0JjQ (subject сообщения)
закодировано Период.Котельная "Иолга"

По-возможности, хотелось бы решение с использованием модулей MIME::Base64 и Encode.

Вариант с доустановкой иных модулей с готовым решением не предлагать, так как там где это будет работать нет возможности приконнектиться к интернету и доставить что-то извне!(ну и собственно вручную что-то дополнительное компилировать тоже нет желания).


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
arto
Дата 13.11.2014, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



# print "=?utf-8?B?0J/QtdGA0LjQvtC0LtCa0L7RgtC10LvRjNC90LDRjyAi0JjQ?= =?utf-8?B?stC+0LvQs9CwIg==?=" | perl -0777 -MMIME::WordDecoder -CO -lne 'print mime_to_perl_string($_)'
Период.Котельная "И\xD0\xB2олга"

PM MAIL ICQ   Вверх
Bulat
Дата 13.11.2014, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(arto @  13.11.2014,  09:53 Найти цитируемый пост)
# print "=?utf-8?B?0J/QtdGA0LjQvtC0LtCa0L7RgtC10LvRjNC90LDRjyAi0JjQ?= =?utf-8?B?stC+0LvQs9CwIg==?=" | perl -0777 -MMIME::WordDecoder -CO -lne 'print mime_to_perl_string($_)'
Период.Котельная "И\xD0\xB2олга"


Это все здорово, конечно, но дочитай мой пост до конца

Цитата(Bulat @  13.11.2014,  09:35 Найти цитируемый пост)
По-возможности, хотелось бы решение с использованием модулей MIME::Base64 и Encode.

Вариант с доустановкой иных модулей с готовым решением не предлагать, так как там где это будет работать нет возможности приконнектиться к интернету и доставить что-то извне!(ну и собственно вручную что-то дополнительное компилировать тоже нет желания). 


Цитата

$ perldoc MIME::WordDecoder
No documentation found for "MIME::WordDecoder".


 smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Pfailed
Дата 13.11.2014, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 19.7.2009

Репутация: 22
Всего: 39



А в чём проблема с функцией decode_base64() из MIME::Base64?


--------------------
PM MAIL   Вверх
Bulat
Дата 13.11.2014, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 5
Всего: 57



Цитата(Pfailed @  13.11.2014,  10:23 Найти цитируемый пост)
А в чём проблема с функцией decode_base64() из MIME::Base64? 

Проблема не в decode_base64() smile 

В целом разобрался, пасиба. Решение:

Цитата

Encode::encode("cp866", Encode::decode_utf8(decode_base64($encoded)));



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
tzirechnoy
Дата 13.11.2014, 15:10 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Код
perl -MEncode -pe '$_ = encode("cp866", decode("MIME-Header", $_));'


И да, подразумевать, что там base64 или utf8 -- довольно некорректно. rfc2047 -- очень простая вещь, при этом распространённая, так что лучшэ поддержать её цэликом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.