#!/usr/bin/python

#
# This scripts checks wether amavisd is alive.
#
# - try to connect to 127.0.0.1:10024 in TCP
# - make sure we get the banner "220 [127.0.0.1] ESMTP amavisd-new service ready"
#
# These checks must complete within 5 seconds.
#

import os, sys, signal, socket

c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

c.settimeout(5)

try:
        c.connect(('127.0.0.1', 10024))
        s = c.recv(4096)
except socket.timeout:
        print "ERR 127.0.0.1:10024 : timeout !"
        sys.exit(1)

s = s.rstrip()

if s == '':
        print "ERR amavis: no banner on 127.0.0.1:10024 !"
        sys.exit(1)

if s != '220 [127.0.0.1] ESMTP amavisd-new service ready':
        print "ERR amavis: unexpected banner on 127.0.0.1:10024 !"
        sys.exit(1)

# Ok !

print "OK Amavis is alive."

sys.exit(0)

# vim: set ts=3 sw=3:
