#!/usr/bin/php <?php /* ** This program is sendmail script with ISO-2022-JP for ZABBIX. ** ** Auther: Kodai Terashima ** ** Copyright (C) 2005-2009 ZABBIX-JP ** This program is licenced under the GPL ** ** 'sendmail-thread.php' enhanced version 0.01 ** ** Auther: Masahito Zembutsu (@zembutsu) ** Copyriht (C) 2013 Masahito Zembutsu ** This program is licenced under the GPL **/ $CONFIGS = parse_ini_file("/usr/local/share/zabbix/alertscripts//sendmessage-php/sendmessage-php.conf"); //$MAIL_FROM = $CONFIGS["MAIL_FROM"]; mb_language('Japanese'); mb_internal_encoding('UTF-8'); $MAIL_TO = $argv[1]; $MAIL_SUBJECT = $argv[2]; $MAIL_MESSAGE = $argv[3]; $MAIL_HEADER = 'MIME-Version: 1.0' . "\r\n"; $MAIL_HEADER .= 'Content-Type: text/plain; charset="iso-2022-jp"' . "\r\n"; $MAIL_HEADER .= 'Content-Transfer-Encoding: 7bit' . "\r\n"; $MAIL_HEADER .= 'Date: ' . date('r') . "\r\n"; $DATAPATH = '/opt/zabbix-messageid-manager/data'; $HOSTNAME = 'node1.pocketstudio.net'; $RECOVER = 0; if (ereg( '(High|Disaster)]障害' ,$MAIL_SUBJECT )) { $MAIL_HEADER .= 'X-Priority: 1'."\r\n"; } elseif (ereg( '(Average|Warning)]障害' ,$MAIL_SUBJECT )) { $MAIL_HEADER .= 'X-Priority: 2'."\r\n"; } elseif (ereg( '(Average|Warning|High)]通知' ,$MAIL_SUBJECT )) { $MAIL_HEADER .= 'X-Priority: 5'."\r\n"; } elseif (ereg( '復旧' ,$MAIL_SUBJECT )) { $RECOVER = 1; } if (preg_match("/^(\#)(\d+)(\:)(.*)$/",$MAIL_SUBJECT,$regex)) { $MAIL_SUBJECT = $regex[4]; $id = $regex[2]; $MAIL_HEADER .= "Trigger-ID: $id" . "\r\n"; if ( file_exists("$DATAPATH/$MAIL_TO.$id")) { $rndf = fopen ("$DATAPATH/$MAIL_TO.$id", "r"); $rnd = chop( fgets($rndf) ); fclose($rndf); $MAIL_HEADER .= 'References: <APPLI.'.$id. '.'. $rnd .'@'.$HOSTNAME.'>' . "\r\n"; } else { $rnd = rand (10000000,99999999); $MAIL_HEADER .= 'Message-ID: <APPLI.'.$id.'.'. $rnd .'@'.$HOSTNAME.'>' . "\r\n"; $idf = fopen("$DATAPATH/$MAIL_TO.$id","w"); $rt = fwrite($idf, $rnd); fclose($idf); $MAIL_HEADER .= 'X-RT: '.$rt . "\r\n"; } if ($RECOVER == 1) { unlink ("$DATAPATH/$MAIL_TO.$id"); } } // $MAIL_HEADER .= 'From: ' . $MAIL_FROM . "\r\n"; $MAIL_SUBJECT = mb_convert_encoding($MAIL_SUBJECT,"ISO-2022-JP","UTF-8"); $MAIL_MESSAGE = mb_convert_encoding($MAIL_MESSAGE,"ISO-2022-JP","UTF-8"); $MAIL_SUBJECT = '=?ISO-2022-JP?B?' . base64_encode($MAIL_SUBJECT) . '?='; mail($MAIL_TO, $MAIL_SUBJECT, $MAIL_MESSAGE, $MAIL_HEADER); ?>