I think I've got a bit further with this problem. My solution right now is to put
a 'condition' in the "unknown" director, like this
unknown:
driver = smartuser
# condition = "${if ! def:sender_rcvhost {*172.16.3.4*}}"
condition = "${if eq {${lookup{${local_part:$h_sender}}lsearch{/etc/passwd}{$value}{0}}}{0}}"
transport = unknown_transport
no_verify
Note, the first condition is commented out, but will be combined with the second throug h"and" once
both work.
The commented out condition works.
The uncommented, active condition has got an error somewhere, but I can's spot it.
The error I get when the director is applied is:
---
failed to expand condition"${if eq {${lookup{${local_part:$h_sender}}lsearch{/etc/passwd}{$value}{0}}}{0}}"
for unknown director: missing } at end of string
----
I've been through the syntax over and over again, and cannot see what bit is missing.
I would be most grateful for any help in this.
Thanks,
Rolf Habing
Systems and Networking
Canterbury Christ Church University College
Rolf Habing wrote:
> Hello,
>
> I'm in the process of moving our current mail system from sendmail to
> imap, and at the same time splitting the current single mailbox server
> into two, with option of introducing more mailbox servers at a later
> date.
>
> All mail for the local domain comes in on server 1. If the local user is
> unknown, then an unknown_transport moves it to the next server. This
> works beautifully.
>
> The problem I encounter is when people on server 2 want to mail server 1
> people. The obvious thing to do is probably a table of which user is on
> what server, and route accordingly. However, I'd like to get away from
> large lists as much as possible and am looking for a listless solution.
> (Each server hosts +10,000 users.)
>
> Introducing an unknown transport on server 2 back to server 1 would
> create a mail loop.
>
> Is there any way I can achieve this routing back without causing a loop?
>
> I guess that a test could be used where if the sender is a local user
> and the message has not already been received/handled by server 1, then
> the unknown transport could be applied, and otherwise the message would
> be bounced back to the sender (unknown user on any local system).
> However, I cannot see how to implement such a test.
>
> Thanks for any help/suggestions,
>
> Rolf Habing
> Systems and Networking
> Canterbury Christ Church University College
>
> --
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim details at http://www.exim.org/ ##