etrn - start mail queue run
etrn [-b] [-v] server-host [client-hosts]
SMTP's ETRN command allows an SMTP client and server to interact, giving the server an opportunity to start the processing of its queues for messages to go to a given host. This is meant to be used in start-up conditions, as well as for mail nodes that have transient connections to their service providers.
The etrn utility initiates an SMTP session with the host server-host and sends one or more ETRN commands as follows: If no client-hosts are specified, etrn looks up every host name for which sendmail(1M) accepts email and, for each name, sends an ETRN command with that name as the argument. If any client-hosts are specified, etrn uses each of these as arguments for successive ETRN commands.
The following options are supported:
System boot special case. Make sure localhost is accepting SMTP connections before initiating the SMTP session with server-host.
This option is useful because it prevents race conditions between sendmail(1M) accepting connections and server-host attempting to deliver queued mail. This check is performed automatically if no client-hosts are specified.
The normal mode of operation for etrn is to do all of its work silently. The –v option makes it verbose, which causes etrn to display its conversations with the remote SMTP server.
No environment variables are used. However, at system start-up, svc:/network/smtp:sendmail reads /etc/default/sendmail. In this file, if the variable ETRN_HOSTS is set, svc:/network/smtp:sendmail parses this variable and invokes etrn appropriately. ETRN_HOSTS should be of the form:
"s1:c1.1,c1.2 s2:c2.1 s3:c3.1,c3.2,c3.3"
That is, white-space separated groups of server:client where client can be one or more comma-separated names. The :client part is optional. server is the name of the server to prod; a mail queue run is requested for each client name. This is comparable to running:
/usr/lib/sendmail -qR client
on the host server.
Inserting the line:
in /etc/default/sendmail results in svc:/network/smtp:sendmail invoking etrn such that ETRN commands are sent to both s1.domain.com and s2.domain.com, with both having clnt.domain.com as the ETRN argument.
results in two ETRN commands being sent to server.domain.com, one with the argument client1.domain.com, the other with the argument client2.domain.com.
results in set of a ETRN commands being sent to both server1.domain.com and server2.domain.com; each set contains one ETRN command for each host name for which sendmail(1M) accepts email, with that host name as the argument.
sendmail configuration file
Variables used by svc:/network/smtp:sendmail
See attributes(5) for descriptions of the following attributes:
Not all SMTP servers support ETRN.