Re: [exim] exim cygwin and dsearch (kind of long)

Top Page
Delete this message
Reply to this message
Author: mnsanghvi
Date:  
To: Philip Hazel
CC: exim-users, Peter Bowyer
Subject: Re: [exim] exim cygwin and dsearch (kind of long)
'allo,

     I just wanted to update the mailing list, so that there is a record of 
the solution to my problem in the archives.  And also thank you to
both Philip Hazel and Peter Bowyer for their help.


       Originally I had the following in my router section:


------ begin default setup ---------

begin router

dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
# If the first host starts with '+', fallback on DEFER or FAIL.
# If the first host starts with '=', fallback on FAIL only.
# If neither, fallback on DEFER only.
# The first cases are Cygwin extensions for users with dynamic ip addresses.
# fallback_hosts = = : your.smart.host
no_more

# this was put in based on info from Peter Bowyer
virtual_aliases:
    driver = redirect
    domains = +virtual_domains
    data = ${lookup {$local_part@$domain} lsearch {/etc/exim/virtual}}


system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
# user = exim
file_transport = address_file
pipe_transport = address_pipe

userforward:
driver = redirect
check_local_user
# local_part_suffix = +* : -*
# local_part_suffix_optional
file = $home/.forward
# allow_filter
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply

localuser:
driver = accept
check_local_user
# local_part_suffix = +* : -*
# local_part_suffix_optional
transport = local_delivery
cannot_route_message = Unknown user


------- end default setup ---------


Using the above setup, all my email was getting frozen due to MX
records for my virtual domains pointing to the localhost. Based on Philip's
advice, I used the '-d' option, which took a while to understand what was
being said by Exim, and was able to see that the problem happened in
the 'dnslookup' router. Since 'dnslookup' also ends with a 'no_more'
statement, none of the other routers where getting tried. Ahh, yes, I
can see that removal of 'no_more' might seem to then be the logical
choice. Guess again.

The choice that is working for me is moving virtual_domains above
dnslookup. If the incoming email is going to one of my domains, why
bother doing the dnslookup ? and since mostly I will be receiving emails
for my domains, it doesn't make sense to have exim spend time using
the dnslookup router, only to have things fail (Programming 101 - make the
most common case be the first one in your case/switch/etc. clause). At
least that was my logic and justification for doing it that way. And it is
working.

Once again, thanks Peter and Philip for your help. Exim is not too
bad/intimidating once you get used to its way of doing things.

cheers,

      mehul



> On Wed, 25 Aug 2004 mnsanghvi@??? wrote:
>
> >  accept  domains       = +virtual_domains
> >               #domains    = +relay_to_domains
> >               endpass
> >               verify           = recipient

> >
> > which caused an "unknown ACL modifier/option" error to get generated.
>
> # is a comment character only at the start of a line.
>
> > Now email is flowing, but I am back to the "lowest numbered MX record points
> > to local host" error message in exim_main.log
>
> Investigate the -bt and -bh and -d options for testing and debugging.
>
> -- 
> Philip Hazel            University of Cambridge Computing Service,
> ph10@???      Cambridge, England. Phone: +44 1223 334714.