Настраиваю связку Exim (внешний почтарь) + Exchange 2010 (внутренний почтарь).
Exchage обслуживает несколько доменов (сейчас пока 2). У пользователей\груп могут быть разные комбинации адресов:
user1@firma.ru
user2@firma.ru, user2@firma.com
user3@firma.ru, user3@firma.com, user3alias@firma.ru, user3alias@firma.com
Делаю проверку адресов через AD (уровень win2k8). Делаю по http://www.lissyara.su/articles/freebsd ... +exchange/.
Вот мои настройки
Код: Выделить всё
30_exim4-config_check_rcpt:
warn
set acl_m1 = 0
accept
domains = MS_EXCHANGE_DOMAIN
condition = ${if match{${lookup ldap {LDAP_AD_MAIL_RCPT}}}\
{@MS_EXCHANGE_DOMAIN}{yes}{no}}
set acl_m1 = 1
accept
domains = MS_EXCH_DOMAIN2
condition = ${if match{${lookup ldap {LDAP_AD_MAIL2_RCPT}}}\
{@MS_EXCH_DOMAIN2}{yes}{no}}
set acl_m1 = 1
deny
condition = ${if eq{$acl_m1}{0}{yes}{no}}
message = "Unknown user for this domain"
02_exim4-config_options:
MS_EXCHANGE_DOMAIN = firma.ru
MS_EXCH_DOMAIN2 = firma.com
ldap_default_servers = <; 192.168.1.2:3268
LDAP_AD_BINDDN = exim
LDAP_AD_PASS = pass
LDAP_AD_BASE_DN = DC=firma,DC=local
# макросы для проверки пользователей в доменах - первый домен
LDAP_AD_MAIL_RCPT = \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE_DN?mail?sub?\
(&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))\
(proxyAddresses=smtp:${quote_ldap:${local_part}@MS_EXCHANGE_DOMAIN}))
# макросы для проверки пользователей в доменах - второй домен
LDAP_AD_MAIL2_RCPT = \
user=LDAP_AD_BINDDN \
pass=LDAP_AD_PASS \
ldap:///LDAP_AD_BASE_DN?mail?sub?\
(&(|(objectClass=user)(objectClass=publicFolder)(objectClass=group))\
(proxyAddresses=smtp:${quote_ldap:${local_part}@MS_EXCH_DOMAIN2}))
Т.е. если у пользователя стоит обратным адресом user@firma.ru, то все адреса и алиасы с доменом firma.ru принимаются, а все с другим доменом - user not found. Тоже самое для групп.
Кто-нибудь может подсказать почему такое происходит?
Если кто делал проверку через одну AD нескольких доменов, то поделитесь идеями/конфигами.