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@???)