#!/usr/bin/perl -w
#
use strict;

my $queuelimit   = shift @ARGV;
my $exim_bin     = "/usr/sbin/exim";
my $postconf_bin = "/usr/sbin/postconf";
my $search;


if (!defined($queuelimit)) {
    print "No queuelimit given.\n";
    exit 1;
}

if (-e "${exim_bin}") {
    get_exim_queue();
} elsif (-e "$postconf_bin") {
    get_postfix_queue();
} else {
    print "Unable to detect MTA\n";
    exit 1;
}
 
sub get_exim_queue {
    my $qdir   = `${exim_bin} -bP spool_directory`;
    chomp($qdir);

    my $search = "${qdir}/input/ -name \*-H";
    my $count  = count($search);
}

sub get_postfix_queue {
    my $qdir   = `${postconf_bin} -h queue_directory`;
    chomp($qdir);

    my $search = "${qdir}/active ${qdir}/incoming ${qdir}/deferred -type f";
    my $count  = count($search);
}

sub count() {
    my ($search) = @_;

    my $count = `/usr/bin/find ${search} 2> /dev/null | /usr/bin/wc -l`;
    chomp($count);

    if ($count < $queuelimit) {
        print "OK - mail in the queue : ${count}\n";
    } else {
        print "CRITICAL - ${count}\n";
        exit 2;
    }
}
