Mit dieser
Testmail Datei funzt Jans Code, aber wenn ich versuche eine Mail vom Pop3-Server zu übergeben, bekomme ich folgende Ausgabe:
QuoteUse of uninitialized value in concatenation (.) or string at ./pop307.pl line 25.
Absender:
Use of uninitialized value in concatenation (.) or string at ./pop307.pl line 26.
Betreff:
Parts: 1
mein Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl -w
use strict;
use Email::MIME;
use Net::POP3;
#my $file = 'Beispielnachricht.txt';
#my $file = 'multipart.txt';
#my $message = do { local( @ARGV, $/ ) = $file; <> };
my $host = 'pop.Xserver.de';
my $user = 'user@Xserver.de';
my $pw = 'tollespw';
my $pop = Net::POP3->new($host) || die("Kein Kontakt zu $host. $!");
my $anzahl = $pop->login($user, $pw);
my $message = $pop->get($anzahl);
#print "@$message\n";
if(my $parsed = Email::MIME->new(@$message)){
my $absender = $parsed->header('From');
my $subject = $parsed->header('Subject');
my @parts = $parsed->parts;
my $parts = $parsed->parts;
print "Absender: $absender\n";
print "Betreff: $subject\n";
print "Parts: $parts\n";
for my $part (@parts){
if(scalar @{$part->{'parts'}} > 0){
for my $part (@{$part->{'parts'}}){
#next if($part->content_type =~ m/text\/html/);
my $text .= $part->body;
print "Text: $text\n";
}
}
}
}
Was mach ich falsch?