Philip Hazel wrote:
> On Sun, 9 May 2004, Jeremy Harris wrote:
>
>
>>I've an MUA submitting mails on stdin.
>>
>>It seems that acl_not_smtp has no access to "local_parts".
>
>
> Correct. It is like the acl_smtp_data in that it is run when the whole
> message has been received. Since there may be many recipients, you
> cannot test "the local part" because there can be lots of them.
OK, understood.
>
>
>>Given that a good To: header has been given by the time
>>the acl is run, why is this so? The headers must presumably
>>be parsed for recipients for delivery to happen at all,
>>surely?
>
>
> No. Delivery is not based on headers. It is based on addresses in the
> envelope.
Well, I'm confused. The command line looks like:
exim -oi -t -f "fromname@fromdomain"
and the stdin consists of headers and body.
I don't see much of an envelope.
> But that is not the reason.
>
>
>>Is the same likely to apply to "domains"?
>
>
> Yes.
>
>
>>What about $local_part and $domain?
>
>
> They are not set.
>
> You do have access to $recipients, which is a comma-separated list of
> all the recipient addresses.
>
OK, wishlist. The current situation seems to leave me with great
difficulty in validating recipients, so I'm likely to be stuck
with a long queue-residence followed by generating a bounce.
I'd prefer to give instant feedback to a mis-typing MUA user.
This seems to require verify=recipient, so I'd like an ACL which
is run per-recipient for non-SMTP sourced mail, with
local_parts and domains set as needed. I'd be happy if the rcpt_acl
was coopted for the task.
Cheers,
Jeremy