The SMTP
ETRN command (Section 11.8.2.6) causes V8.8 and above
sendmail to asynchronously process its queue in
a manner similar to the -qR command-line switch
(Section 11.8.2.3). This command allows dial-on-demand
sites to make an SMTP connection and to force the other side to
process and send any mail that is queued for them.
The form of this ESMTP command looks like this:
ETRN host
ETRN #queuegroup V8.12 and above
If host or queue group is missing, this
error message will be returned:
550 5.7.1 Parameter required
Otherwise, the queue will be processed just as if the following
command-line argument were given:
-qR@host
-qGqueuegroup V8.12 and above
If the PrivacyOptions option's
noetrn is set, or if the
DaemonPortOptions option's
Modify=E (See this section) is set,
the SMTP ETRN command will be disallowed with the following message:
502 5.7.0 Sorry, we do not allow this operation
One use for the check_etrn rule set is to allow
the SMTP ETRN command for specific hosts but not others. When the ETRN command is
given, it can provide the domain for which to run the queue. That
domain specification is given to the check_etrn
rule set in its workspace. To illustrate, consider the following
lines in your mc configuration file:
LOCAL_CONFIG
F{EtrnHosts} /etc/mail/etrn_hosts
LOCAL_RULESETS
Scheck_etrn
R $={EtrnHosts} $# OK
R $* $# error $@ 5.7.0 $: "502 We don't ETRN for you."
There are two parts here. The first part, the LOCAL_CONFIG part, uses
the F configuration command (Section 22.1.2) to load the $={EtrnHosts}
class with a list of hosts for which we will perform SMTP ETRN. That
list is read from the file /etc/mail/etrn_hosts,
which lists the hosts, one per line.
The second part, the LOCAL_RULESETS part, sets up the
check_etrn rule set. There are two rules in this
rule set. The first rule matches any hosts that are in the
{EtrnHosts} class, and accepts them with a
$# OK. The second rule disallows ETRN for all
other hosts.
For a scheme such as this to work, you should make certain that all
possible names for the allowed hosts are included in the list. That
is, for example, mx.wash.dc.gov might also
require you to list wash.dc.gov.