Allowetrn, blocketrn, disableetrn, domainetrn, silentetrn Channel Options

From MsgServerDocWiki

Jump to: navigation, search


Receiving an SMTP ETRN command (allowetrn, blocketrn, disableetrn, domainetrn, silentetrn)

The allowetrn, blocketrn, disableetrn, domainetrn, and silentetrn channel options affect the MTA's response when a sending SMTP client issues the SMTP ETRN command, requesting that the MTA attempt to deliver messages in the MTA's queues. See RFC 1985 for the specification of the SMTP ETRN command syntax. In particular, note that the MTA's SMTP server interprets a received ETRN hostname command as a request to deliver all messages for hostname, a received ETRN #channelname command as a request to run the channelname channel, and a received ETRN @hostname command as a request to run the channel which hostname rewrites to.

allowetrnmeans that the MTA will attempt to honor all ETRN commands and will echo back the name of the channel that will be run in response to the ETRN command. silentetrn tells the MTA to honor all ETRN commands, but without echoing back the name of the channel which the domain matched and which the MTA will hence be attempting to run. domainetrn tells the MTA to honor only those ETRN commands that specify a domain; it also causes the MTA not to echo back the name of the channel which the domain matched and which the MTA will hence be attempting to run. disableetrn disables support for the ETRN command entirely; ETRN will not be advertised by the SMTP server as a supported command. The default behavior, if none of these channel options is explicitly specified, corresponds most closely to silentetrn.

In addition, the ETRN_ACCESS mapping table can be used to exert more precise control over which SMTP clients are allowed to issue which ETRN commands (and optionally control over what channel is actually run as a result of the ETRN command). Probes of the ETRN_ACCESS mapping table have the form: transport-info|app-info|channel-to-run|full-name|claimed-system (Here claimed-system is the ETRN parameter, and full-name is a processed version of that parameter. See discussion of the PORT_ACCESS mapping table, or the MAIL_ACCESS mapping table, for discussion of the transport-info and app-info portions of the probe string.) If the mapping table returns a $N, $n, $F, or $f, the ETRN command is rejected with a "459 4.5.0" error. If the mapping table returns a $S or $s, the ETRN is attempted. If the mapping table also returns a $Dchannel-name or $dchannel-name, then the MTA tries to lookup channel-name (in the channel/host table from the configuration file) and if that lookup is successful, runs that channel (rather than whatever channel the original ETRN command might have run).

The blocketrn channel option tells the MTA not to honor an ETRN command if the ETRN command attempts to run that channel. Note that this channel option is therefore relevant on a destination channel, not on the incoming TCP/IP channel (unless that incoming channel would also be the destination channel for an attempted ETRN command).

Also see the discussion of the ALLOW_ETRNS_PER_SESSION SMTP channel setting, which may be used to limit the number of ETRN commands which the MTA will honor during a single session.

Personal tools