Re: [Exim] Router error

Top Page
Delete this message
Reply to this message
Author: robert rotman
Date:  
To: Philip Hazel
CC: exim-users
Subject: Re: [Exim] Router error
On Thu, 4 Nov 1999, Philip Hazel wrote:

> On Thu, 4 Nov 1999, Vadim Vygonets wrote:
>
> > Quoth robert rotman on Wed, Nov 03, 1999:
> > >   domains = ${lookup mysql{select domain from mail_adm where 
> > >                            domain='${domain}'}{$value}fail}

> > >
> > > lookuphost_mysql router: failed to expand "${lookup mysql{select domain
> > > from mail_adm where domain='${do
> > > main}'}{$value}fail}" lookup failed and "fail" requested: MYSQL: no data
> > > found
> >
> > Try to remove the word "fail":
> >   domains = ${lookup mysql{select domain from mail_adm where 
> >                            domain='${domain}'}{$value}}

>
> I don't quite understand what you are doing here. The value of "domains"
> is a list of domains; what you have done is to look up the current
> domain and use the result as a list of domains. Since you have selected
> domain, I suppose this does in fact work when the domain exists, as it
> returns its own name, which will then match. So omitting "fail" will
> work because the list of domains will then be empty when the domain
> doesn't exist.
>


this is a configuration i've made vor a mailserver with no local users an
a lot of virtual domains on it...
and i still try to find out the concept of exim;)

it also works if i donot make any lookups in the router section:
----------------------------------------------------------------
lookuphost:
driver = lookuphost
self = fail_soft
transport = remote_smtp

self:
driver = lookuphost
self = local
transport = mysql_delivery
----------------------------------------------------------------

as i read in the doc's this makes the following:
look if the mx of a vhost = localhost -> if yes pass it to the
directors... [ i dont know why i need a transport here ]
(btw. what happens if the virt. domain has more MX eg. from a backup
mailserver)

then in the directors section i do some database lookups concerning
aliases, vacation... if this fails it also returns an error message
(unroutable domain).

so, finally: what and where is the best way to look if a domain is local
(it schold be in a mysql database)?
1.) in the router's configuration, or
2.) within the directors...

> However, a slightly simpler syntax can be used when you merely want to
> accept the domain if it can be found by a lookup (not paying any
> attention to the value of the lookup):
>
> domains = mysql;select domain from mail_adm where domain='${key}'
>
> -- 
> Philip Hazel            University of Cambridge Computing Service,
> ph10@???      Cambridge, England. Phone: +44 1223 334714.
> Government Policy: If it ain't broke, fix it till it is.

>
>
>
> --
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim details at http://www.exim.org/ ##
>


---
di. robert rotman                                   inode.graz
phone -> ++43-(0)316 811451          ++43-(0)316 811451 <- fax
rotman@???                      http://www.graz.inode.at/
--
this letter was written on recycled bytes used by deleted mail.