| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Mime::Parser! Тело письма. |
| Автор: antananarivu 1.7.2010, 16:55 | ||||
Есть вот такое письмо:
При этом все, что идет после строки "MIME-Version: 1.0" - это тело письма. Стандартные программы (Outlook и т. д.) каким то образом корректно это дело отображают и понимают. Mime::Parser же выдает следующее:
Вернет 0. То есть он считает, что кроме заголовка у этого письма и нет ничего. Заголовок письма - subject, from, - все корректно. Но тело письма не видит в упор. Можно ли заставить MIME::Parser корректно работать с таким письмом? Заранее спасибо! |
| Автор: arto 1.7.2010, 17:37 |
| почему вы считаете, что там есть mime-инкапсуляция? |
| Автор: antananarivu 1.7.2010, 23:08 |
| Я не очень понимаю, что такое майм инкапсуляция. Есть письмо которое сохранено в Postges. Это письмо корректно воспринимается Outlook. Как и тысяча других писем, приходящих на почту. И тайм парсер корректно обрабатывает уйму писем. А вот в данном случае почему то считает что тела у письма нет. Хотя по стандарту вроде как достаточно того чтобы тело было отделено от заголовка пустой строкой. А оно в данном случае отделено. |
| Автор: arto 1.7.2010, 23:13 |
| тело отделено. майма нет. парсер честно отвечает, что ничего не нашел. чего вы ожидаете? |
| Автор: antananarivu 2.7.2010, 08:28 |
| arto, можете нормально объяснить? согласно стандарту тело письма должно быть отделено от заголовка пустой строкой. мне надо распарсить письмо. есть стандартный MIME::parser. есть письмо от поставщика. заставить парсер работать с таким типом писем невозможно? писать обработчик вручную? P.S. MIME-Version: 1.0 - значит майм есть, разве не так? |
| Автор: Jimy 4.7.2010, 10:34 | ||
| как я понял этот модуль тело письма сохраняет в отдельный (типа, временный?) файл путь к которому хранится в $entity->{'ME_Bodyhandle'}->{'MB_Path'} получить тело соответственно можно так:
|
| Автор: arto 6.7.2010, 15:19 |
| у вас в письме нет content-type, чтобы определить, что у вас там. |
| Автор: antananarivu 6.7.2010, 18:02 | ||
а как мне тогда обработать такое сообщение? добраться до тела? ручками? я в принципе так и сделал. загнал все письмо в переменную и сплитом отрезал все по пустой строке. просто мне хотелось сделать это с помощью стандартного парсера. насколько я понимаю с помощью него никак? |
| Автор: arto 6.7.2010, 18:10 |
| попробуйте добавить в заголовки правильный content-type, если вам обязательно нужен mime-parser. |