use IO::Handle;
our %f;
+
+my $publish_rejections= 0;
+if ($ARGV[0] eq '-P') {
+ $publish_rejections= 1;
+ shift @ARGV;
+}
+
our ($how) = @_;
my $dir= $0;
while (<STDIN>) {
$keepheader= 1 unless m/^[ \t]/;
$keepheader= 0
- if m/^(?: received )/ix;
+ if m/^(?: received
+ | envelope-to
+ )/ix;
$keepheader= 'mangle'
if m/^(?: to
| from
$f{Now}= time;
-if ($f{Event} =~ m/^notify reject /) {
- #$ref= $f{MessageID}
- open I, ">$dir/nr-$f{MessageNum}.txt" or die $!;
+if ($publish_rejections &&
+ $f{Event} =~ m/^notify reject /) {
+ $f{CopyRef}= $f{MessageID};
+ $f{CopyRef} =~ s/\W/ sprintf '-%02x', ord($&) /ge;
+ open I, ">$dir/public/nr-$f{CopyRef}.txt" or die $!;
print I $message or die $!;
close I or die $!;
}
$v =~ s/\t/ /g;
$v =~ s/[\r\n]/?/g;
$v;
-} qw(Now MessageNum MessageID From Subject Event);
+} qw(Now MessageNum MessageID From Subject Event CopyRef);
print L join("\t",@s)."\n" or die $!;
close L or die $!;