#!/usr/bin/perl
# file: syslog-mail
# spec: reads a line of input and mails it, designed to be a destination for syslog-ng

use strict;

$0='syslog-mail';
$|=1;

while (my $msg = <STDIN>)
{
  my ($pri,$date,$host,$esrc,$evid,$emsg) = $msg =~ m/<(\d{3})>(\w{3} \d{1,2} \d{2}:\d{2}:\d{2}) ([\w\.\-]+) ([\w ]+)\[(\d+)\] (.+)/o;
  open MAILER,'|/usr/sbin/sendmail user@domain.tld';
  print MAILER "Subject: syslog: $host $esrc $evid\n\n$emsg\n----\n$msg";
  close MAILER;
}
