ZabbixからのアラートメールをSESで!

最近、年下のエンジニアに「ザビオ」と呼ばれるザビオです。

東京では、「クラウドコンピューティングの専門展 日経BP Cloud Days 2012 fall 」が開催されて
おり、大変賑わっているのでは無いでしょうか?
今回の Cloud Days は東京だけではなく、福岡でも初開催されます。
私も参加しますので、興味がある方は是非!(完全にステマ)


Cloud Days Fukuoka 2012
会期:2012年10月17日(水)〜18日(木) 10:00〜17:30
会場:FFBホール

さて、早速本題。
僕は、Zabbixという・・・は割愛して、ZabbixからのアラートメールをSES経由で送ってみましょう!

Zabbixからアラートメールを送信する設定についてはここから
http://www.zabbix.jp/node/1441

Zabbixからアラートメールを送信する際は大きく2種類あります。

Zabbixサーバ上のSMTPサーバを利用する場合

この場合は、下記ブログを参考にすれば必ず設定できます!wステマ
Amazon SESをSMTPインターフェースとして使う時のまとめ - okochangの馬鹿でありがとう

Zabbixサーバ以外のサーバ上で動作しているSMTPサーバを利用する場合

この場合は、若干スクリプトを編集しないといけません。


#!/usr/bin/php
IsSMTP();

$mailer->Host = $MAIL_SMTP_HOST;
$mailer->SMTPAuth = true;
#$mailer->SMTPAuth = false;
$mailer->Username = $MAIL_SMTP_USER;
$mailer->Password = $MAIL_SMTP_PASS;
$mailer->From = $MAIL_FROM;
$mailer->AddAddress($MAIL_TO);

$mailer->FromName = mb_encode_mimeheader(mb_convert_encoding($MAIL_FROMNAME,"JIS","UTF-8"),"JIS");
$mailer->Subject = mb_encode_mimeheader(mb_convert_encoding($MAIL_SUBJECT,"JIS","UTF-8"),"JIS");
$mailer->Body = mb_convert_encoding($MAIL_MESSAGE,"JIS","UTF-8");
// $mailer->AddReplyTo($email, $from);

if(!$mailer->Send()){
print "failed: " . $mailer->ErrorInfo . "\n";
}else{
print "success" . "\n";
}
?>

というわけで、テストメール
php sendmessage_smtp_php.sh 'nakatake@**********' 'test' 'test'

と、簡単にできるので、使ってみてください!

SESについての参考
Amazon SES(Simple Email Service)でメールを送ってみなイカ? | Pocketstudio.jp log3
memorycraft: SESってなんじゃ?(SMTPがサポートされました)