On Thu, 29 Jun 2006, Robert Millan wrote:
> On Thu, Jun 29, 2006 at 04:55:18PM +0100, Philip Hazel wrote:
> >
> > I am watching this thread, but my first feeling is that it is totally
> > against the overall Exim "approach" to put it where you have. Deciding
> > what local parts mean (alias/mailinglist/local login/etc) happens in
> > routers, and it doesn't seem right to hard wire it into the smtp_in
> > module unconditionally. (Can't remember if you checked the domain, but
> > that needs flexibility too - not all domains are the same.)
>
> What do we check in the domain, just that it belongs to us?
What domains mean is also part of the router logic. Exim itself has no
built-in idea of which domains belong to it.
> > As to your question above, I'm not sure what you are asking. There are
> > only the three possibilities (accept/reject/defer) that one can give to
> > a RCPT command. What is the fourth that you are thinking of?
> > I haven't spent much time looking at this, but if you just want to give
> > a particular 5xx response to a RCPT command when a user sets up a
> > .redirect file,
>
> Yes, that's precisely what I want. Technicaly it's a reject, just with a
> particular code (551).
I can see two good ways of doing this: the minimal way, which is to add an
ACL redirect verb which returns a 551 instead of a 550; and the complete
way, which would be to add a :fail_551: action to the redirect router
which causes the existing require/deny verbs to do the appropriate thing.
The former is less invasive to Exim's code, but is fiddly to configure.
I don't think this will be of any practical use in the public Internet,
because all MTAs treat 551 the same as 550. It is not good enough as a
work-around for SPF's brokenness because users ignore bounce messages
because they do not understand them.
It might be of use within a closed environment. For example, at the moment
the LMTP servers on our message store machines must have a local MTA in
order to send out messages that have been redirected by a Sieve script,
and as well as the extra resource consumption this makes messages harder
to trace. However the 251 and 551 responses aren't enough: they don't
allow for multiple forwarding addresses and they don't allow for a message
that has been delivered locally as well as forwarded.
Tony.
--
<fanf@???> <dot@???>
http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}