[Exim] retry time not reached for any host after a long fail…

Top Page
Delete this message
Reply to this message
Author: vav
Date:  
To: exim-users
Subject: [Exim] retry time not reached for any host after a long failure period
Hi all.

Exim 3.33 is running at RedHat 7.1.

This is a error:
"retry time not reached for any host after a long failure period"


#---------------------------------------
# Here is the transport that generates this error:
redirect_localuser:
  driver = smtp
  hosts = ${lookup pgsql{SELECT collector FROM mailboxes \
    WHERE id=lower('$local_part@$domain')}{$value}}


#..........

# Here is the director that lanches the
# redirect_localuser transport
redirect_l_domain:

  condition = ${if eq {${lookup pgsql{\
    SELECT collector FROM mailboxes \
      WHERE id=lower('$local_part@$domain')}\
    {$value}{$primary_hostname}}}{$primary_hostname} {no}{yes}}


  driver = aliasfile
  transport = redirect_localuser
  domains = ${lookup pgsql{SELECT domain FROM domains \
    WHERE domain=lower('$domain')}{$value}}
  search_type = pgsql
  query = "SELECT id FROM mailboxes \
    WHERE id=lower('$local_part@$domain')"


#---------------------------------------


SQL-table domains is:
+---------------+-------------------+
|  domain       | collector         |

+---------------+-------------------+
| domain1.com | mx1.domain1.com |
| domain2.com | mx2.domain1.com |

|...................................|
+---------------+-------------------+

SQL-table mailboxes is:
+-------------------+-------------------+
| id                | collector         |

+-------------------+-------------------+
| user1@??? | mx1.domain1.com |
| user2@??? | mx1.domain1.com |
| user1@??? | emx.domain2.com |

|.......................................|
+-------------------+-------------------+

The idea is to have one users' database for all
the back-up MX-servers and mail collectors
to prevent the receiving whole mail message
for the unexisted users, and even more, to have
a defined mail collector for every defined user.


The subject error appears when i'm trying to send a letter
to more than 1 recipient, that satisfy the "condition" item
(for example, user1@??? and user2@???),
being connected not to domain1.com mail collector,
but to its mx-sibling.

In logs i see, that director "redirect_l_domain"
works fine, but transport "redirect_localuser" can't
make correct select from database because $local_part
is not set (i that read in documentation later.
When domains are different, the things are even worse.)


Here is the question: is there any option for smtp driver,
something like "batch = none", that will force
"redirect_localuser" to handle every remote delivery
separately?
Or, if i'm totally wrong in the previous question,
how can i make this configuration work?


Regards,
V.Vronski (vav@???)