Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

problems with decoding: resulting image is corrupt

14 views
Skip to first unread message

Bjorn Jensen

unread,
Mar 21, 2005, 5:19:08 PM3/21/05
to
Hello!
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? what to
do?
Greetings Bjorn!

============================
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);


Joe Smith

unread,
Mar 22, 2005, 5:58:32 AM3/22/05
to
Bjorn Jensen wrote:

> 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

Bjorn Jensen

unread,
Mar 22, 2005, 1:52:44 PM3/22/05
to
Hi again!
Oh, of course - I tried binary(UD) yesterday but this gave error.'
Now it works - thanks!
Now I'll look for a better way to extract attachments.
I try to figure out, how to use
Email::MIME::Attachment::Stripper;
but have no success...
The documentation is spare.
Any good example, that I can use for expanding my case below?

Greetings Bjørn

"Bjorn Jensen" <b.d.jen_re...@gmxandthis.net> wrote in message
news:423f4850$0$13726$ba62...@nntp03.dk.telia.net...

0 new messages