On 14 May 2002, Jerry Nicholls wrote:
> I'm trying to implement the email address verification at rcpt time
> using the ACLs. All our users are stored in LDAP and what I don't want
> to do is have to do a lookup at verification time and then a further
> lookup at delivery time.
There is no way to avoid this. Message reception and message delivery
are two independent processes, possibly separated by quite a long time.
Exim does not save any data from any routing that occurred during
verification. (It would be hard to do this in general, because you can
use verify_only and no_verify to arrange for verification to use an
entirely different set of routers if you want.)
> 2) Is $address_data linked to each individual address within an SMTP
> session. Ie if multiple 'rcpt to:' entries are given, will that result
> in a different $address_data at the point the router 'final_delivery' is
> run for each of the addresses provided ? (I hope that's clear - it is in
> my head)
$address_data is something that applies when passing one address through
various routers (and maybe subsequently delivering it via a transport).
It has no existence outside that.
> If none of this works, is there any way that I can return a different
> error than 'Unrouteable address' without modifying the code ?
If you are talking about verification time, look at the "message"
modifier in ACLs.
If you are talking about delivery time, you can add a final router with
whatever message you like:
bounce_all:
driver = redirect
allow_fail
data = :fail: Your message here
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.