Приветствую!Подскажите плиз - мне надо на перле проверить почту по POP3 и приложенный файл к письму вытащить и положить в каталог.
Как прочитать письмо, положить в файл - это все понятно.
Но как простыми средствами из письма вытащить файл ? Неужели нет модуля, который просто получая на входе текст письма, на выходе записывает файл или файлы в каталог ?
Смотрел cpan - не нашел, но может не в ту сторону смотрел...
Ясно, что можно самому реализовать это, но зачем, если возможно есть готовое ?
Кто в курсе, направьте )))
Спасибо.
>[оверквотинг удален]
> приложенный файл к письму вытащить и положить в каталог.
> Как прочитать письмо, положить в файл - это все понятно.
> Но как простыми средствами из письма вытащить файл ? Неужели нет модуля,
> который просто получая на входе текст письма, на выходе записывает файл
> или файлы в каталог ?
> Смотрел cpan - не нашел, но может не в ту сторону смотрел...
> Ясно, что можно самому реализовать это, но зачем, если возможно есть готовое
> ?
> Кто в курсе, направьте )))
> Спасибо.http://www.google.ru/search?ie=UTF-8&hl=ru&q=POP3%20...
первая ссылка:
> первая ссылка:
> http://users.livejournal.com/dy_/6259.htmlБлагодарю, я неверно стало быть формулировал запрос к гуглу.
Вопрос можно считать закрытым - зацепки есть.
И вот еще - сейчас смотрю в сторону Mail::Box - нашел еще пример в недрах исходников, может кому пригодится:foreach my $message ($folder->messages)
{ printf "%3d. %s\n", $message->seqnr, $message->subject;$message->printStructure;
my $m = $message->clone;unless($m->isMultipart)
{ $outbox->addMessage($m);
next;
}foreach my $part ($m->parts)
{
# Strip attachments larger than 16K. Another example would be:
# next if $part->body->mimeType ne 'text/plain';
next unless $part->body->size > 16384;print "\n**** Stripping Attachment "; # ,$part->head,"\n";
# Warning: double names possible! Put each message in seperate dir
my $attachment = $part->body->dispositionFilename($attachments);
print $attachment,"\n";unless(-f $attachment) # Write attachment to file
{ open(FH, '>', $attachment)
or die "ERROR: cannot write attachment to $attachment: $!\n";$part->decoded->print(\*FH);
close(FH)
or die "ERROR: writing to $attachment: $!\n";
}$part->delete;
}$outbox->addMessage($m);
}$mgr->closeAllFolders;