Exim. Проблема с проверкой пользователя по списку

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
AlexP
проходил мимо

Exim. Проблема с проверкой пользователя по списку

Непрочитанное сообщение AlexP » 2009-10-07 18:14:15

Код: Выделить всё

Имеем связку 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 <***>

Помогите пожалуйста.



Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

aPetrov
проходил мимо

Re: Exim. Проблема с проверкой пользователя по списку

Непрочитанное сообщение aPetrov » 2009-10-07 18:32:43

При всем этом, если проверку пользователя проводить через макрос

SENDER_IS_LIST = ${lookup{${lc:$sender_address_local_part}} lsearch{/etc/exim/${lc:$sender_address_domain}/lists} {list}{}}

и комментированием строк в проверке:

{eq {SENDER_IS_EXCHANGE_LIST} {user}} \

{eq {RECPT_IS_EXCHANGE_LIST} {user}} \

то почта уходит, если не комментировать, то опять же не уходит, даже при проверке по другому списку