Код: Выделить всё
Имеем связку Exim + Керио.
Добавил сервер Exchange.
Exim почти не знаю, но получил в наследство.
Собственно часть конфигурационного листа где происходит затык:
#Макрос проверки пользователей в Керио
RECPT_UID = ldap://directory.intra.net:389/o=finnflare?uid?sub?(&(objectClass=gosaAccount)(uid=${lc:$local_part}))
SENDER_UID = ldap://directory.intra.net:389/o=finnflare?uid?sub?(&(objectClass=gosaAccount)(uid=${lc:$sender_address_local_part}))
IS_KERIO_USER = ldap://directory.intra.net:389/o=finnflare?kerio-Mail-AccountEnabled?sub?(&(objectClass=kerio-Mail-User)(uid=${lc:$local_part}))
#end
SENDER_IS_ALIAS = ${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${lc:$sender_address_domain}/aliases} {alias}{}}
SENDER_IS_LIST = ${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${lc:$sender_address_domain}/lists} {list}{}}
# Проверка пользователей Exchange
SENDER_IS_EXCHANGE_LIST = ${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${1c:$sender_address_domain}/users} {user}{}}
#end
RECPT_IS_ALIAS = ${lookup{${lc:$local_part}} lsearch{/etc/exim/${domain}/aliases} {alias}{}}
RECPT_IS_LIST = ${lookup{${lc:$local_part}} lsearch{/etc/exim/${domain}/lists} {list}{}}
# Проверка пользователей Exchange
RECPT_IS_EXCHANGE_LIST = ${lookup{${lc:$local_part}} lsearch{/etc/exim/${domain}/users} {user}{}}
#end
deny message = You're not a local user
sender_domains = +local_domains
!condition = ${if or {\
{eq {SENDER_IS_USER} {user}} \
{eq {SENDER_IS_ALIAS}{alias}} \
{eq {SENDER_IS_LIST} {list}} \
{eq {SENDER_IS_EXCHANGE_LIST} {user}} \
} {true}{false}}
accept
domains = +local_domains
condition = ${if or {\
{eq {SENDER_IS_USER} {user}} \
{eq {RECPT_IS_ALIAS} {alias}} \
{eq {RECPT_IS_LIST} {list}} \
{eq {RECPT_IS_EXCHANGE_LIST} {user}} \
} {true}{false}}
endpass
Задача следующая:
по листу проверки пользователя (в листе уже присутствует имя тестового пользователя)
/etc/exim/${1c:$sender_address_domain}/users - для отправителя
/etc/exim/${domain}/users - для получателя
иметь возможность получать и отправлять почту для сервера exchange
Проблема при отправке письма:
failed to expand ACL string "${if or {{eq {${lookup ldap {ldap://directory.intra.net:389/o=finnflare?uid?sub?(&(objectClass=gosaAccount)(uid=${lc:$sender_address_local_part}))} {user}{}}} {user}} {eq {${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${lc:$sender_address_domain}/aliases} {alias}{}}}{alias}} {eq {${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${lc:$sender_address_domain}/lists} {list}{}}} {list}} {eq {${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${1c:$sender_address_domain}/users} {user}{}}} {user}} } {true}{false}}": } expected after number inside "or{...}" condition
incomplete transaction (RSET) from <***>
Помогите пожалуйста.