9/01/2011

SMTPサーバ HELOステータス確認

需要がそんなにあるとは思えないけれど、単純なSMTPサーバのHELO応答確認scriptを作ってみた。
監視などで、smtpサーバの動作まで確認したい時に使えるかも。
#!/bin/sh

LOG=/tmp/smtp_status.log

if [ $# -ne 1 ] ; then
        echo "Usage: ./smtp-status.sh SMTP-HOST"
        exit 2
fi

CHOST=$1
{
sleep 1
echo "HELO $CHOST";
sleep 1
echo "QUIT"
} | telnet $CHOST 25 >& $LOG

cat $LOG | grep 250.* > /dev/null
if [ "$?" -eq 0 ] ; then
        echo "$CHOST Connect OK"
        exit 0
else
        echo "$CHOST Connect NG"
        exit 1
fi

パイプの使い方が分かってないせいか一時ファイルを作成しなきゃ処理できなかった。
もっとうまい方法ありそうだけど、こんなもんで。