ソースを参照

check_mailq: try to autodetect which mailq implementation we are using

This is done by looking at some common directories and files each
MTA installs on the system. If no known file is found, the old default
sendmail is used. Of course this still can be overridden by -M.
Evgeni Golov 12 年 前
コミット
bc4113fba2
1 ファイル変更24 行追加1 行削除
  1. 24 1
      plugins-scripts/check_mailq.pl

+ 24 - 1
plugins-scripts/check_mailq.pl

@@ -605,7 +605,30 @@ sub process_arguments(){
 			exit $ERRORS{'UNKNOWN'};
 		}
 	}else{
-		$mailq = 'sendmail' ;
+		if (defined $utils::PATH_TO_QMAIL_QSTAT
+		    && -x $utils::PATH_TO_QMAIL_QSTAT)
+		{
+			$mailq = 'qmail';
+		}
+		elsif (-d '/var/lib/postfix' || -d '/var/local/lib/postfix'
+		       || -e '/usr/sbin/postfix' || -e '/usr/local/sbin/postfix')
+		{
+			$mailq = 'postfix';
+		}
+		elsif (-d '/usr/lib/exim4' || -d '/usr/local/lib/exim4'
+		       || -e '/usr/sbin/exim' || -e '/usr/local/sbin/exim')
+		{
+			$mailq = 'exim';
+		}
+		elsif (-d '/usr/lib/nullmailer' || -d '/usr/local/lib/nullmailer'
+		       || -e '/usr/sbin/nullmailer-send'
+		       || -e '/usr/local/sbin/nullmailer-send')
+		{
+			$mailq = 'nullmailer';
+		}
+		else {
+			$mailq = 'sendmail';
+		}
 	}
 		
 	return $ERRORS{'OK'};