X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fspamscan-sa;h=3f6c26f490a650d8c7f6747febb9ef850194f2ce;hb=refs%2Fheads%2Fdon%2Freply_links;hp=190cca58de9798c70486d90a780ce2d8989eaeca;hpb=77afab52f27cd7c8b1980f49537be4f9442782c3;p=debbugs.git diff --git a/scripts/spamscan-sa b/scripts/spamscan-sa index 190cca5..3f6c26f 100755 --- a/scripts/spamscan-sa +++ b/scripts/spamscan-sa @@ -24,7 +24,8 @@ sub header_or_empty ($$) { my $value = $mail->get_header($hdr); if (defined $value) { chomp $value; - $value =~ tr/\n/\\n/; + # replace newlines with '\n' + $value =~ s/\n/\\n/g; return $value; } return ''; @@ -104,13 +105,10 @@ while (my $id = ) { $out .= " spam $score\n"; $nseen = $score; } else { + my ($before, $received, $after) = $headers =~ + /(^.*?)(^Received\: \(at .*?\n)(.*$)/ms; open OUT, "> incoming/I$id" or die "open incoming/I$id: $!"; - my ($received, $from, $other_headers) = - split(/\n/, $headers, 3); - if ($received =~ /^From /) { - ($received, $from) = ($from, $received); - } - print OUT "$received\n$from\n$other_headers" + print OUT $received . $before . $after or die "print incoming/I$id: $!"; if ($ca_score > 1) { print OUT "X-CrossAssassin-Score: $ca_score\n"