> For instance, you might have domain_overrides as a DB file of some kind,
> keyed by domain and with the data being a space-separated list of
> key="value" items, such as:
> DB-Key: msn.com
> DB-Value: max_rcpt=20 foo=bar
>
> DB-Key: example.com
> DB-Value: tls=y
psg.com:/usr/local/etc/exim# cat ro.smtp
earthlink.com max_rcpt=20
unstable.nl port=2525
and
/usr/local/sbin/exim_dbmbuild $EDIR/ro.smtp $EDIR/ro.smtp.db
chmod 644 $EDIR/ro.smtp.db
chown majordom $EDIR/ro.smtp.db
was run
> Then the Router would have:
> transport = smart_smtp
> address_data = ${lookup{$domain}partial()cdb*{/path/to/domain_overrides.cdb}}
db_smtp:
driver = dnslookup
transport = smart_smtp
address_data = ${lookup{$domain}dbm{/usr/local/etc/exim/ro.smtp.db}}
> and the Transport would be:
>
> smart_smtp:
> driver = smtp
> hosts_require_tls = ${extract{tls}{$address_data}{*}{}}
> tls_verify_certificates = ${extract{tls}{$address_data}{/etc/ssl/certs}{}}
> max_rcpt = ${extract{max_rcpt}{$address_data}{$value}{100}}
# special smtp driven from database
smart_smtp:
driver = smtp
hosts_require_tls = ${extract{tls}{$address_data}{*}{}}
tls_verify_certificates = ${extract{tls}{$address_data}{/etc/ssl/certs}{}}
max_rcpt = ${extract{max_rcpt}{$address_data}{$value}{100}}
port = ${extract{port}{$address_data}{$value}{25}}
but then, to test
psg.com:/usr/local/etc/exim# exim -bt
2010-09-02 03:20:19 Exim configuration error in line 779 of /usr/local/etc/exim/configure:
integer expected for max_rcpt
that's in the smart_smtp transport
randy