URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4284
[ Назад ]

Исходное сообщение
"обработка потоковых данных, почта - сохранение attachment"

Отправлено asp , 23-Май-05 12:35 
По сути оперирую файликом .procmailrc, в котором прописаны bash'овые скрипты. Необходимо при определенном сочетании условий выполнить следующее: найти строку вида:
Content-Disposition: attachment; filename="random_name"
и из этой строки запомнить random_name, затем пропустить одну строку (она д.б. пустой, и со следующей строки данные записать в файл, пока не будет получена пустая строка на входе. Тогда сделать файлу uudecode в файл с запомненным именем.

P.S.: буду очень благодарен, если кто-то подскажет другой способ, как можно сохранить приаттаченный файл. Дело в том, что данный метод годится только для случая uu-coded аттача.


Содержание

Сообщения в этом обсуждении
"обработка потоковых данных, почта - сохранение attachment"
Отправлено unk , 23-Май-05 12:47 
Посмотрите на ripmime http://www.pldaniels.com/ripmime/


"обработка потоковых данных, почта - сохранение attachment"
Отправлено adi , 25-Май-05 17:55 
Если не смущает Перл:

#!/usr/bin/perl -w

use strict;
use Mail::MboxParser;

   my $path = shift;
   if ( $path eq '' ){
      $path = '/var/ftp/pub';
   }
   my $mb = Mail::MboxParser->new( \*STDIN, decode => 'BODY' );
   for my $msg ($mb->get_messages){
    $msg->store_all_attachments( path => "$path" );
   }