On Mon, 29 Jan 2001, Pawel Konieczny wrote:
> smarthost_smtp:
> driver = smtp
> return_path = ${lookup{$host} partial-lsearch {/etc/ppp/smtp-sender} {$value} fail}
>
> where /etc/ppp/smtp-sender contains something like:
>
> *.isp1.com: username1@???
> *.isp2.org: username2@???
>
>
> But it does not work. Investigation of the debug output showed that $host is
> expanded to an empty string, while the Exim documentation says it should
> contain the hostname the transport is talking to.
What the Exim documentation actually says is
$host: When the "smtp" transport is expanding its options for encryption using |
TLS, $host contains the name of the host to which it is connected. Likewise, |
when used in the client part of an authenticator configuration (see chapter |
35), $host contains the name of the server to which the client is connected. |
Note the qualifications ("When ..."). The return_path option is a
generic option which is expanded before the transport is called, and
therefore before it connects to any host, so $host is unset at this
time. There may, of course, be a list of hosts to which it will try to
connect. It does not re-expand return_path for each host.
Exim just isn't designed for intermittently connected environments.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.