     1  #!/usr/bin/perl
     2
     3  use Net::SMTP;
     4
     5  ##引数で取得
     6  $program = "sshd";                 #監視対象ログを生成したプログラム名
     7
     8  ##その他の変数
     9  $smtp_host =  "mail.example.jp";   #SMTPサーバ
    10  $smtp_port =  "25";                #SMTPサービスポート
    11  #$smtp_port = "587";               #SMTPサービスポート(OP25B対策)
    12  $from_addr =  "from\@example.jp";  #送信者アドレス
    13  $to_addr =    "to\@example.jp";    #宛先
    14
    15  #メール題名
    16  $mail_subject = "[Syslog-ng Alert]: $program alert";
    17
    18  while($mail_mess = <STDIN>){
    19      $smtp = Net::SMTP->new($smtp_host, Port=>$smtp_port);
    20      $smtp->mail($from_addr);
    21      $smtp->to($to_addr);
    22
    23      $smtp->data();
    24      $smtp->datasend("From: $from_addr\n");
    25      $smtp->datasend("To: $to_addr\n");
    26      $smtp->datasend("Subject: $mail_subject\n");
    27      $smtp->datasend("\n");
    28      $smtp->datasend("$mail_mess\n");
    29      $smtp->dataend();
    30
    31      $smtp->quit();
    32  }
