Fix duplicate of recipient entries in detailled view when the message sent was also been registered as spam. Thanks to Paul Cantle for the report.

This commit is contained in:
Gilles Darold 2017-09-15 23:59:00 +02:00
parent cf30e95e27
commit 7ea5dd79d0

View file

@ -4727,7 +4727,9 @@ sub get_sender_detail
next if (!exists $local_stat{$data[1]});
$local_stat{$data[1]}{hour} = $data[0] if (!exists $local_stat{$data[1]}{hour});
$local_stat{$data[1]}{sender} = $data[2] if (!exists $local_stat{$data[1]}{sender});
push(@{$local_stat{$data[1]}{rcpt}}, $data[3]);
if (!grep(/^$data[3]$/i, @{$local_stat{$data[1]}{rcpt}})) {
push(@{$local_stat{$data[1]}{rcpt}}, $data[3]);
}
$local_stat{$data[1]}{spam} = $data[4];
}
close(IN);
@ -4860,7 +4862,9 @@ sub get_recipient_detail
next if (!exists $local_stat{$data[1]});
$local_stat{$data[1]}{hour} = $data[0] if (!exists $local_stat{$data[1]}{hour});
$local_stat{$data[1]}{sender} = $data[2] if (!exists $local_stat{$data[1]}{sender});
push(@{$local_stat{$data[1]}{rcpt}}, $data[3]);
if (!grep(/^$data[3]$/i, @{$local_stat{$data[1]}{rcpt}})) {
push(@{$local_stat{$data[1]}{rcpt}}, $data[3]);
}
$local_stat{$data[1]}{spam} = $data[4];
}
close(IN);
@ -5124,9 +5128,11 @@ sub get_spaminfo_detail
my @data = split(/:/, $l);
next if (!exists $local_stat{$data[1]});
if ($data[4] !~ /Queued/) {
push(@{$local_stat{$data[1]}{rcpt}}, $data[2]);
push(@{$local_stat{$data[1]}{rcpt_relay}}, $data[3]);
push(@{$local_stat{$data[1]}{status}}, $data[4]);
if (!grep(/^$data[2]$/i, @{$local_stat{$data[1]}{rcpt}})) {
push(@{$local_stat{$data[1]}{rcpt}}, $data[2]);
push(@{$local_stat{$data[1]}{rcpt_relay}}, $data[3]);
push(@{$local_stat{$data[1]}{status}}, $data[4]);
}
}
}
close(IN);