[Exim] Still migrating to exim4

Top Page
Delete this message
Reply to this message
Author: sharun
Date:  
To: exim-users
Subject: [Exim] Still migrating to exim4
I have a complex config with 3.33 (almost of features are moved), but
one and most wanted feature does not want to work:
Preambula:
All users information is stored in database with mailbox flags
(over quota, closed by request, closed due violation etc.)
There is the part of config:

mpopper:
    driver = smartuser
    transport = mpop
    domains = ukr.net
    condition = ${lookup mysql{select username from user where username='$local_part'\
    and flags != 8 and flags !=10 and flags !=64 }{yes}{no}}


failure_check:
    domains = ukr.net
    driver = aliasfile
    search_type = mysql
    user = exim
    new_director = failure_respond
    query = select flags from user where username='$local_part'


failure_respond:
    driver = aliasfile
    domains = ukr.net
    search_type = lsearch
    user = exim
    file = /usr/exim/tables/FAILURE


So, usernames was redirected to their_flags@??? if first condition fails.
And cat ./FAILURE:
64:             :fail: Mailbox is over quota, no more allowed
8:              :fail: Mailbox frozen (long period of inactivity or user request)
10:             :fail: Mailbox closed due to violation of agreement between user and UKR.NET


So, if we rcpt_to user_with_flag_10@???, server must respond:
550 Mailbox closed due to violation of agreement between user and UKR.NET

But in exim4 I see only "user unknown" given by acl_check_rcpt.
There is a part of exim4.conf, converted by hands from prev. version:

mpopper:
    driver = accept
    transport = mpop
    domains = ukr.net
    condition = ${lookup mysql{select username from user where username='$local_part'\
    and flags != 8 and flags !=10 and flags !=64 }{yes}{no}}


failure_check:
    domains = ukr.net
    driver = redirect
    allow_fail
    user = exim
    redirect_router = failure_respond
    data = ${lookup mysql{select flags from user where username='$local_part'}}


failure_respond:
driver = redirect
domains = ukr.net
allow_fail
data = ${lookup{$local_part}lsearch{/usr/exim/tables/FAILURE}}
user = exim
file_transport = address_file
pipe_transport = address_pipe

Any ideas ?

--
VVS56-RIPE