$dir =~ s,/bin$,/log,;
$dir .= "/$ARGV[1]";
+my $message;
+
sub parse__headerline () {
$f{Subject}= $' if m/^Subject:\s*/i; #';
$f{MessageID}= $' if m/^Message\-ID:\s*/i; #';
}
sub parse_mailout () {
+ my $keepheader= 1;
while (<STDIN>) {
+ $keepheader= 1 unless m/^[ \t]/;
+ $keepheader= 0
+ if m/^(?: received )/ix;
+ $keepheader= 'mangle'
+ if m/^(?: to
+ | from
+ | return-path
+ | reply-to
+ | errors-to
+ )/ix;
+ if ($keepheader) {
+ my $line= $_;
+ $line =~ s/\@.{0,2}/ at ../g if $keepheader eq 'mangle';
+ $message .= $line;
+ }
chomp;
$f{Event}= "notify $'" if m/^X-Webstump-Event:\s*/i; #';
last if m/^$/;
}
while (<STDIN>) {
+ $message .= $_;
chomp;
next unless s/^\> //;
last if m/^$/;
$f{Event}= '?';
&{"parse_$ARGV[0]"};
-while (<STDIN>) { }
+while (<STDIN>) { $message .= $_; }
STDIN->error and die $!;
$f{Now}= time;
+if ($f{Event} =~ m/^notify reject /) {
+ #$ref= $f{MessageID}
+ open I, ">$dir/nr-$f{MessageNum}.txt" or die $!;
+ print I $message or die $!;
+ close I or die $!;
+}
+
open L, ">>$dir/event.log" or die $!;
my @s= map {