Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
smtpdcheck(1)		      Mail Avenger 0.8.5		 smtpdcheck(1)

       smtpdcheck - check SMTP servers

       smtpdcheck [--stop {ip-addr|name}] [--timeout seconds]
		  [prio:]server	[[prio:]server]

       smtpdcheck checks to see	if SMTP	servers	are available.	The intent is
       for use on secondary mail servers, which	have no	reason to accept mail
       when the	primary	server is available.

       The argument consists of	a list of server names,	each of	which may
       optionally be prefixed by a numeric MX priority and a colon.  (This is
       exactly the format for MX records returned by the avenger dns command.)
       smtpdcheck will attempt to connect to each server in succession.

       If one of the servers specified on the command line is available,
       smtpdcheck will print its name to standard output and exit with status
       1.  If smtpdcheck cannot	connect	to any of the servers, it will exit
       with status 0.  If a system error occurs, smtpdcheck will exit with
       status 2.

       --stop {ip-addr|name}
	   Tells smtpdcheck to stop before checking a server with IP address
	   ip-addr or hostname name.  If such a	host is	encountered in the
	   list	of servers and prio is specified, then smtpdcheck will
	   consider it acceptable for other servers with the same priority to
	   be available, even if those servers were first in the list.	In
	   other words,	given the following arguments:

		  smtpdcheck --stop \ \

	   This	command	will always succeed, regardless	of whether
	   "" is up, because "" has the same
	   priority.  On the other hand, the following command will fail and
	   output "" if "" is	up:

		  smtpdcheck --stop \ \

	   If a	gethostbyname lookup for the argument name fails, smtpdcheck
	   will	exit immediately with status 2.

       --timeout {seconds]
	   By default, smtpdcheck spends 10 seconds probing each server.  This
	   includes the	time to	do a DNS lookup, to establish a	TCP connection
	   to port 25 of the server, and to read the "220" SMTP	code from the
	   server's SMTP greeting message.  To use a different value, specify
	   it with the --timeout option.  The value 0 disables the timeout
	   completely, which is	dangerous since	smtpdcheck might then end up
	   waiting forever to read the "220" string.

       To refuse to relay mail at a secondary MX server	when the primary
       server is not down, you might place the following in
       /etc/avenger/secondary (assuming	MxLocalRcpt is 1):

	       server=`smtpdcheck --stop $MYIP $RECIP_MXES`
	       test -n "$server" && defer "Please use server $server"

       avenger(1) dbutil(1) asmtpd.conf(5),

       The Mail	Avenger	home page: <>.

       smtpdcheck could	achieve	much lower latency by probing all the servers
       simultaneously.	It should also include some kind of caching, to	avoid
       repeatedly trying to contact an unavailable server.  Finally, hosts
       with multiple IP	addresses could	be handled more	cleanly, though	what
       smtpdcheck does should probably work in most cases.

       David Mazieres

Mail Avenger 0.8.5		  2018-10-09			 smtpdcheck(1)


Want to link to this manual page? Use this URL:

home | help