Exim+LDAP<->проверка адреса получателя ??

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
oooo1
рядовой
Сообщения: 27
Зарегистрирован: 2012-01-22 23:04:33

Exim+LDAP<->проверка адреса получателя ??

Непрочитанное сообщение oooo1 » 2012-02-08 19:55:50

Есть Exim 4.77 c OpenLDAP 2.4.28 на FreeBSD 9.0.
Все настроено согласно статьи на этом ресурсе (кроме некоторых мелочей - упрощений, например не "подгружается" отдельно схема mail, все делается "силами" схемы inetOrgPerson, и другими, идущими с OpenLDAP и Spamoboron'a (хотя она тоже настроена по статье с этого ресурса) .
У пользователей 2 аттрибута mail:
ля-ля-ля@domain.com (внутренний домен)
те же ля-ля-ля@ext--domain.com (внешний домен)

Оба домена прописаны в conf как local_domains, внутри письма могут "ходить" и "ходят" как по внутреннему домену, так и по внешнему. Во вне отправляются через hosting' овый smtp relay. Приходят через него же (как на внешний домен) , все работает, но есть 2 "неувязки" :
1. при отправке, внутри, одного письма на внутренний адрес или на внешний адрес, не имеет значения, письма дублируются;
2. как и где лучше всего реальзовать проверку существования адресов почты получателей - локальных пользователей, с учетом внутреннего и внешнего доменов, скорее наверное только внешнего, и таким образом, чтобы "замороженные" сообщения, с информацией о приходящих на не_существующий_алис@ext-domain.com адреса, автоотвечались на postmaster@domain.com c указанием ошибочного адреса, а не пусто@ext-domain.com ?

Сейчас 1 пункт "достигнут" следующим образом:

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

system_aliases:
    driver      = redirect
    allow_fail
    allow_defer
## ищем в ldap алиасы и выбираем поле mail.
data = ${lookup ldapm{LDAP_AUTH ldap:///dc=my,dc=net?mail?sub?(mail=${quote_ldap:$local_part}${quote_ldap:@}${quote_ldap:$domain})}{${local_part}@${domain}} {:fail: User unknown !}}

Если как в статье: data = ${lookup ldapm{LDAP_AUTH ldap:///dc=my,dc=net?mail?sub?(mail=${quote_ldap:$local_part}${quote_ldap:@}${quote_ldap:$domain})}} , то происходит "дубляж" ,

ldapuser:
debug_print = "R: local_user for $local_part@$domain"
driver = accept
domains = +local_domains
## проверяем есть ли в локальных доменах данный пользователь
## если есть, то отсылаем письмо на транспорт dovecot_delivery

condition = ${if eq{}{${lookup ldapm{LDAP_AUTH ldap:///dc=my,dc=net??sub?(mail=${quote_ldap:$local_part}${quote_ldap:@}${quote_ldap:$domain})}}}{no}{yes}}
 transport = dovecot_delivery
 cannot_route_message = You sent e-mail to Unknown user !

# начинаются транспорты - как доставляем почту
begin transports
Но при такой реализации, письмо на postmaster - "размороженное" сообщение приходит с адресом ""@ext-domain.com, хочется неправильная (не существующая) локальная часть@ext-domain.com.

Пробовал в acl_smtp_rcpt ставить что - то вроде:

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

deny domains = +local_domains
message = "I don' t know such local address !"
condition = ${if eq{$local_part}{${lookup ldapdn{LDAP_AUTH ldap:///dc=my,dc=net??sub?(mail=${quote_ldap:$local_part}${quote_ldap:@}${quote_ldap:$domain})}}}{no}{yes}}
Но это не срабатывает, пропускается (выводится именно сообщение из system_aliases) .

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35469
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim+LDAP<->проверка адреса получателя ??

Непрочитанное сообщение Alex Keda » 2012-03-21 16:16:11

а локалдомайнсы - какие?
Убей их всех! Бог потом рассортирует...

oooo1
рядовой
Сообщения: 27
Зарегистрирован: 2012-01-22 23:04:33

Re: Exim+LDAP<->проверка адреса получателя ??

Непрочитанное сообщение oooo1 » 2012-03-21 16:54:02

В local_domains стоит и внутренний и внешний домен domain.com и ext--domain.com.