Hallo geehrtes Forum,
ich stecke fest... :(
Ich rufe eine POP3-Mailbox ab und überprüfe die Nachrichten mit dem BounceParser-Modul. Dieses allerdings kennzeichnet jede Nachricht als gebounced. Die Arrays @reports und @adresses werden nicht, wie im CPAN beschrieben, gefüllt:
my $pop = Net::POP3->new( 'pop.domain.de', Timeout => 60 );
if ( $pop->login( $username, $password ) > 0) {
my $pop_alle_emails = $pop->list;
foreach my $pop_email ( keys %$pop_alle_emails ) {
my $in_mail = $pop->get( $pop_email );
my $bounce = eval { Mail::DeliveryStatus::BounceParser->new( $in_mail ); };
my @addresses = $bounce->addresses;
my @reports = $bounce->reports;
print Dumper $bounce;
...
Der Dump sieht (ich hoffe aus das Wesentliche gekürzt) so aus:
$VAR1 = bless( {
'orig_message_id' => undef,
'parser' => bless( {
...
'reports' => [],
'log' => undef,
'is_bounce' => 1,
...
'ME_Bodyhandle' => bless( {
'MBS_Data' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16788" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Tahoma>text</FONT></DIV></BODY></HTML>
'
Der Dump ist sehr umfangreich und ich verstehe nicht viel davon. Die Nachricht wurde mit Outlook-Express abgeschickt und besteht nur aus dem Wort 'text'. Sie ist irgendwo in den Tiefen des Hashes $bounce zu finden. Dem entnehme ich, daß das Modul die Nachricht analysiert hat.
Erwartet habe ich, daß 'is_bounce' false ist. Desweiteren habe ich gedacht, daß ich in @adresses Emailadressen finde, aber es ist ein leeres Array, genauso wie @reports. Daran ändert sich auch nichts, wenn ich ein 'echtes' Bounce-Mail analysieren lasse. Also irgendwas mache ich falsch - aber was bloß? May someone please help me?
Bedrückte Grüße
JOhnnY