RE: [Exim] accept unresolvable domains feature?

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Melanie Lampert
CC: exim-users
Subject: RE: [Exim] accept unresolvable domains feature?
On Wed, 20 Sep 2000, Melanie Lampert wrote:

> Is there any way to make Exim retry X number of times before giving up and
> bouncing the message as "unresolvable"?


No. If the DNS says "no such domain", it gives up right away. If the DNS
says "sorry, I can't at the moment tell if there is such a domain or
not", it keeps on trying according to the retry rule.

Heck, if you make a typo in an address, you want to know right away, not
in 5 days time...

However, Exim being the flexible thing that it is, you can, I think,
force it to do what you want, but not very easily. One of these days I
should make this kind of thing easier.

1. Add a new router at the end of your routers. This will pick up any
unrouteable domains. What you want it to do is cause deferral. There's
no straightforward way to do this at present. What you can do is get it
to send the address to the directors:

  make_local_for_deferring:
    driver = domainlist
    route_list = * 127.0.0.1 byname
    self = local   


2. If you can then pick out these addresses in the directors, you can
make them defer. One way would be to do an explicit check for a
non-local domain. Suppose you have

local_domains = your.local.domain

Then setting up a first director like this:

  defer_non_local_domains_that_get_here:
    driver = smartuser
    domains = !your.local.domain
    new_address = :defer: this domain didn't resolve


will do it. The director will act only for addresses passed to it from
the routers. It will be harder to set this up if you have a more
complicated set of local domains.

But do you really want to keep trying bad addresses for days?

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.