🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #51606

Re: Mail::POP3Client i kasowanie wiadomosci / plikow

#51606
From: Mikołaj Jopczyński, Tychy Online
Date: Wed, 16 Sep 2009 14:58
65 lines
2993 bytes
Adam Osuchowski pisze:

> Mail::POP3Client nie zajmuje się parsowaniem maili tylko obsługą
> protokołu POP3 od strony klienckiej. Twoje pytanie dotyczy raczej modułu
> MIME::Parser.

Tak, to cenny hint ;) dzieki.

> Co rozumiesz przez pojęcia ,,treść'' i ,,załączniki''? W mailach typu
> multipart/* wszystko jest załącznikiem, tzn. ciało maila składa się
> z serii załączników, z których każdy może składać się również z
> załączników, co w efekcie daje drzewo załączników. To, że klienty
> pocztowe pokazują pierwszy napotkany załącznik typu text/plain lub
> text/html jako ,,główną'' część maila, jest w zasadzie tylko zwyczajem
> i tradycją. Równie dobrze możesz mieć maila w którym będzie więcej niż
> jeden załącznik typu text/plain i który z nich wówczas nazwiesz
> ,,treścią wiadomości''?

Przez tresc rozumiem to, co jest wpisane jako tresc wiadomosci. Cala 
wiadomosc (tresc+naglowki+zalaczniki) zapisywana tez jest do innego pliku.

> unlink()

Dzieki Kacprowi znalazlem lepsza metode: remove

Ale teraz mam inny problem. Nie wiem dlaczego, ale zalaczniki sa 
obcinane. Tzn np w plikach pgp obcina pare ostatnich wierszy (nie ma np 
linijki --- END PGP MESSAGE ---). Pdfy sa tez naruszone - z czego wynika 
blad?

Skrypt wyglada tak (to gotowiec):


my $pop = new Mail::POP3Client(
                  USER     => '',
                  PASSWORD => '',
                  HOST     => ""
);


my $fh = new IO::Handle();

my $outputdir = "./mimemail";
my $parser = new MIME::Parser;

$parser->output_dir($outputdir);

my $i;
for ($i = 1; $i <= $pop->Count(); $i++)
{
     open (MAILOUT, ">pop3.msg$i");
     $fh->fdopen( fileno( MAILOUT ), "w" );
     $pop->HeadAndBodyToFile( $fh, $i );
     close MAILOUT;
     open (MAILIN, "<pop3.msg$i");
     my $entity = $parser->read(\*MAILIN);
     close MAILIN;
}


-- 
Mikołaj Jopczyński, Tychy Online

tel: 791 486 557 | mikolaj (at) tychy-online.pl | gg: 311167 | 
www.tychy-online.pl
Technical Details
Message-ID: <h8quf9$809$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <h8d46v$bd5$1@inews.gazeta.pl> <20090911211422.6b8b4567@polsl.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Mikołaj Jopczyński, Tychy Online
 <mikolaj.jopczynski@gmail.com>
Newsgroups: pl.comp.lang.perl
Subject: Re: Mail::POP3Client i kasowanie wiadomosci / plikow
Date: Wed, 16 Sep 2009 16:58:47 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 65
Message-ID: <h8quf9$809$1@inews.gazeta.pl>
References: <h8d46v$bd5$1@inews.gazeta.pl> <20090911211422.6b8b4567@polsl.pl>
NNTP-Posting-Host: client-119-40.jedenzloty.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1253113129 8201 88.220.119.40 (16 Sep 2009 14:58:49 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Wed, 16 Sep 2009 14:58:49 +0000 (UTC)
X-User: mikolaj.jopczynski
In-Reply-To: <20090911211422.6b8b4567@polsl.pl>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit