============================
use strict;
use Net::POP3;
use MIME::Base64;
my $username = 'user1';
my $password = 'userpw';
my $pop = Net::POP3->new('mailme.org', Timeout => 60);
if ($pop->login($username, $password) > 0) {
my $msgnums = $pop->list; # hashref of msgnum => size
foreach my $msgnum (keys %$msgnums) {
my $mailfile = 'mail'.$msgnum.".txt";
open(M, ">$mailfile") or die "Error\tCouldn't open $mailfile, $!";
print "msg $msgnum\n";
my $msg = $pop->get($msgnum);
#print @$msg;
print M @$msg;
#$pop->delete($msgnum);
close(M);
}
}
$pop->quit;
my $b64str;
open(UD, ">nu.jpg") or die "$!";
open(IND, "<mail2.txt") or die "$!";
my $part2decode = 0;
my $line = 0;
while(<IND>) {
if ( /Content-Disposition/i ) {
$part2decode++;
}
if ( $part2decode ) {
$line++;
}
if ( /Boundary/ ) {
$part2decode = 0;
}
if ( $part2decode && $line > 1 ) {
my $encoded = $_;
my $decoded = decode_base64($encoded);
print UD $decoded;
}
}
close(UD);
close(IND);
> My resulting image har nearly same size of original (but not exact) and the
> nu.jpg can be shown,
> but it is modified so much, that it look totally different.... why?
You have to use binmode() when dealing with binary files.
> open(UD, ">nu.jpg") or die "$!";
open(UD, '>', 'nu.jpg') or die "Cannot create nu.jpg: $!";
binmode(UD);
-Joe
Greetings Bjørn
"Bjorn Jensen" <b.d.jen_re...@gmxandthis.net> wrote in message
news:423f4850$0$13726$ba62...@nntp03.dk.telia.net...