hi philip,
>> (1) when in the mail transaction is each Exim variable FIRST
>> available/defined?
>
> The variables are always available, in the sense that their content can
> always be substituted in an expansion. Some (e.g. $primary_hostname) are
> always "set". Others start empty and get defined during processing. The
> time of definition is usually relatively obvious: for example, the
> $sender_host_address value is set when a client host connects; the
> $sender_address value is set during the processing of the MAIL command;
> etc.
clear. tho, it's the "usually relatively obvious" that evaded me this time ...
strolling through the spec, it remains not-immmediately-obvious for some :-S
is there any documentation, a reference table perhaps, that simply specifies
"this $var is set at/after the XXX acl?"
>> (2) what is the order of execution of acls?
>
> The same order as the SMTP commands and other events to which they
> apply.
well, duh. ok.
for those interested, here's a convenient link to RFC 821 describing the order
of steps, w/ Success, Failure and Error msgs expected.
4.3. SEQUENCING OF COMMANDS AND REPLIES
http://www.freesoft.org/CIE/RFC/821/19.htm
>> (3) how can do BOTH and acl_connect default/global DNSBL check, and a later
>> acl_rcpt per-user spec?
>
> acl_smtp_connect = acl1
> acl_smtp_rcpt = acl2
>
> acl1:
> <verb> dnsbl = global:list:...
>
> acl2:
> <verb> dnsbl = ${lookup ... $local_part ... }
fair nuf.
> However, if you want to *block* the message on a per-user basis you will
> have difficulty because a message may have multiple users with different
> requirements. This problem has been discussed on the list several times
> (it also applies to, for example, different spam scanning requirements).
It's clear, then, I need better search-engine skills :-}!
> There is No Easy Answer. The problem is caused by the way SMTP works.
thx.
cheers,
richard