Re: [exim] Routing mail to different internal server

Top Page
Delete this message
Reply to this message
Author: W B Hacker
Date:  
To: exim users
Subject: Re: [exim] Routing mail to different internal server
Conrad Lawes wrote:
> One more question:
>
> Where do I place the manualroute in the exim config file so that Exim will
> route mail to Sendmail server by default if a user is not found in the
> (Zimbra) lookup table?
>
>


'It depends'....

Sequence of routers (but not tramsports) matters. Very much so.

If you are *certain* that no other router can (ever) match and grab the
traffic, AND that your manualroute will not (ever) grab traffic you do
not intend for it to process, then it matters little.

More realistically, you will want to arrange your routers such that:

A) Common case does not intercept 'edge' case, nor the reverse.
Sometimes harder than it looks.

B) Most-frequently matched routers preceed less-common cases (subject to
the above). That simply to shorten the 'router walk' and economize on
resources over months and years of running.

The default sequence is 'general purpose' sane, so place it where those
factors 'look right', then TEST thoroughly, use bespoke 'dummy' accounts
first, 'real' ones once satisfied.

Otherwise, 'edge' cases tend to leave teeth marks on the anatomy...
sometimes at once, other times not until weeks or months after you have
forgotten about the issue.

HTH,

Bill Hacker



> On Fri, Mar 27, 2009 at 11:24 AM, John Burnham <jpb15@???>wrote:
>
>>> My understanding of how to create an exim routing rule is
>>> very basic. An
>>> example would be most helpful.
>>>
>> There are some examples in the docs:
>>
>> http://www.exim.org/exim-html-current/doc/html/spec_html/ch20.html#SECID123
>>
>> Halfway down you get something like
>>
>> through_firewall:
>> driver = manualroute
>> transport = remote_smtp
>> route_data = ${lookup {$domain} cdb {/internal/host/routes}}
>>
>>
>> You could alter that so that you lookup $local_part instead of the domain
>> and use a straightforward text file using lsearch. That would give you
>> something like (untested)
>>
>> some_random_name:
>> driver = manualroute
>> transport = remote_smtp
>> route_data = ${lookup {$local_part} lsearch
>> {/a/file/with/localparts/and/ip/addresses/to/send/them/to}}
>>
>> and then have a file with lines like
>>
>> user1: 10.0.0.1
>> user2: 10.0.0.2
>>
>> etc
>>
>> Does that help ? Please ask if you don't understand anything.
>>
>> John
>>
>
>
>