こんにちは。
トランプ人気。
ズバッとやってくれそうという期待感。
小泉さんもそうだったような気がする。
さて、postfix でバーチャルドメインでメールサーバー構築。
postfix ログを漠然とみてると日が暮れる。
そこで久しぶりに
perlプログラミング。
/var/log/maillogを読んで
以下の形式のリストを吐き出す。
処理時刻 from-address to-address status(OK or NG) error-mesg
my @hfrom;
my $file = '/var/log/maillog';
open my $fh, '<', $file
or die qq/Can't open file "$file" : $!/;
while (my $line = <$fh>) {
my $time = substr($line,0,15);
my ($id,$from) = getmaddr(": from=",$line);
$hfrom{$id} = $from if ($from ne "<>" && $from ne "");
my ($id,$to) = getmaddr(": to=",$line);
my @w3 = split(/status=bounced/,$line);
my $i3 = @w3;
if ($i3 > 1) {
print "$time\t$hfrom{$id}\t$to\tNG\t$w3[1]";
} else {
if ($hfrom{$id} ne "") {
print "$time\t$hfrom{$id}\t$to\tOK\n";
}
}
}
close $fh;
exit;
sub getmaddr{
my ($p, $log) = @_;
my @w = split(/$p/,$log);
my $i = @w;
return ("","") if ($i < 1);
my @wa = split(/, /,$w[1]);
my $addr = $wa[0];
my $id = substr($w[0],-11);
return ($id,$addr);
}