The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"POP3 на Perl"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"POP3 на Perl"  +/
Сообщение от tian email on 26-Ноя-11, 19:34 
Приветствую!

Подскажите плиз - мне надо на перле проверить почту по POP3 и приложенный файл к письму вытащить и положить в каталог.
Как прочитать письмо, положить в файл - это все понятно.
Но как простыми средствами из письма вытащить файл ? Неужели нет модуля, который просто получая на входе текст письма, на выходе записывает файл или файлы в каталог ?
Смотрел cpan - не нашел, но может не в ту сторону смотрел...
Ясно, что можно самому реализовать это, но зачем, если возможно есть готовое ?
Кто в курсе, направьте )))
Спасибо.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "POP3 на Perl"  +/
Сообщение от Square (ok) on 26-Ноя-11, 20:11 
>[оверквотинг удален]
> приложенный файл к письму вытащить и положить в каталог.
> Как прочитать письмо, положить в файл - это все понятно.
> Но как простыми средствами из письма вытащить файл ? Неужели нет модуля,
> который просто получая на входе текст письма, на выходе записывает файл
> или файлы в каталог ?
> Смотрел cpan - не нашел, но может не в ту сторону смотрел...
> Ясно, что можно самому реализовать это, но зачем, если возможно есть готовое
> ?
> Кто в курсе, направьте )))
> Спасибо.

http://www.google.ru/search?ie=UTF-8&hl=ru&q=POP3%20�...

первая ссылка:

http://users.livejournal.com/dy_/6259.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "POP3 на Perl"  +/
Сообщение от tian email on 26-Ноя-11, 20:24 
> первая ссылка:
> 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;


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру