Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Программирование / Прикладное / PERL v.2 (6939 хитов)
- Написал(а) slam Дата 08.09.10 14:07
Чтоб новых веток не создавать пишу тут. Может есть у кого примерчик кода перлового который из письма аттач выкусывает и в файл сохраняет. Дело в том что сначало я просто парсил письмо искал в нем вложение, перекодировал из base64 и сохранял в файл. Но сейчас заметил что разные почтовики иногда по разному письмо составляют в плане символов перевода строки и прочего. Хочется универсальности. В cpan искал, но все примеры только в том как засунуть вложение в письмо.
Parent Написал(а) UncleAndy Дата 09.09.10 05:20
IMHO, тебе надо смотреть класс MIME.
Дядюшка Энди
Parent Написал(а) LOE (Site/forum admin) Дата 10.09.10 05:04
Я в свое время (2003 г.) писал свой парсер с использованием MIME::Parser
Крутил циклик по всем кускам письма. Но мне надо было поймать текстовую часть, поэтому искал только plain кусок.
Но запросто можно наткнуться на нестандартный метод помещения аттача.
В плане переводов строк - ИМХО уже давно все делают нормально (\x0a), либо просто перед парсингом делать s/\x0d$//

Будет надо - выложу скрипт, но не трогал его с 2003 года, поэтому в современных условиях может потребовать некоторой доработки )

PS. Для разных тем лучше создавать разные темы в форуме. Слишком длинные топики, включающие обсуждения разных вопросов, сложно читать/
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent Написал(а) slam Дата 10.09.10 07:43
use Email::MIME;
use File::Slurp qw(slurp write_file);
my $message = slurp('mime.txt');
my $parsed = Email::MIME->new($message);
foreach my $part ($parsed->parts) {
if ($part->content_type =~ /^application\/pdf;/i){
write_file ($part->filename, $part->body);
}
}

Листинг из книги System Administration With Perl
Предыдущая Следующая Вверх Тема Программирование / Прикладное / PERL v.2 (6939 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.140s with 11 database queries.