Here's an issue I noticed with fallback_hosts and it might be a bug.

The command works correctly if it fails to deliver to the main host it 
will send the message to the fallback host, unless the problem sending 
to the mail host is because of dns resolution. Then it just retries 
rather that sending to the fallback host.

For example:

process_and_forward:
  driver = manualroute
  domains = +preprocess_domains
  condition = ${if match{$h_X-Spam-Class:}{SPAM-HIGH}{no}{yes}}
  transport = process_and_forward_smtp
  route_list = * 
${lookup{$domain}dbm{/etc/exim/control/run/preprocess.db}{$value}{}}
  fallback_hosts = retry.ctyme.com
 

In this case the route_list is looked up from a database. Let's say it 
looks up mail.domain.com. If that host is down then the message is sent 
to retry.ctyme.com, but - if the host name mail.domain.com doesn't 
resolve then it just retries rather than sending the message to 
retry.ctyme.com.

I think this is a bug. If the host doesn't resolve then it should send 
it to the retry server.

For what it's worth the reason this comes up is that I do front end spam 
filtering for thousands of domains. It's a somewht common occurrance 
that someone will change their DNS and the host name that I'm forwarding 
to goes away. So what I want to have happen is that if the host name 
goes bad I want to transfer the message to my retry server and let it 
buffer these messages until the customer figures out how to fix the DNS.

BTW - a good way to make Exim faster is to have a main server that tries 
one tome to send a message and if it fails it laterals the message to 
another server. That keeps the queue size small on the main server and 
increases speed.


-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to