Отправка писем только активным пользователям в группе

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
werter
проходил мимо
Сообщения: 3
Зарегистрирован: 2021-01-05 18:45:48

Отправка писем только активным пользователям в группе

Непрочитанное сообщение werter » 2021-01-05 18:49:36

Всех с наступившим )

Бьюсь с postfix-ом и отправкой писем только АКТИВНЫМ пол-лям в группе.

Попробовал схему с pipemap:

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

pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group_dn_maps.cf, ldap:/etc/postfix/ldap/ad_virtual_group_members_maps.cf}
1. Определяем distinguishedName группы:
cat /etc/postfix/ldap/ad_virtual_group_dn_maps.cf

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

...
query_filter = (&(mail=%s)(member=*))
result_attribute = distinguishedName
2. Используем полученный выше результат для поиска только АКТИВНЫХ пол-лей в группе:
cat /etc/postfix/ldap/ad_virtual_group_members_maps.cf

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

...
query_filter = (&(memberOf=%s)(objectClass=person)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute = mail
Работает. НО только, если нет вложенных групп. А надо, чтобы и во вложенных группах искало АКТИВНЫХ пол-лей.

P.s. Вот так ищет и во вложенных группах и без использования pipemap. Но в результат попадают ВСЕ пол-ли, а не только АКТИВНЫЕ:

cat /etc/postfix/ldap/ad_virtual_group_maps.cf

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

...
query_filter     = (&(mail=%s)(member=*))

result_attribute =
special_result_attribute = member
leaf_result_attribute = mail

Хостинговая компания 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/

werter
проходил мимо
Сообщения: 3
Зарегистрирован: 2021-01-05 18:45:48

Отправка писем только активным пользователям в группе

Непрочитанное сообщение werter » 2021-01-13 12:38:02

Решено:

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

cat /etc/postfix/main.cf
...
virtual_alias_maps = pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group.cf,ldap:/etc/postfix/ldap/ad_virtual_mailbox.cf}
...

cat /etc/postfix/ldap/ad_virtual_group.cf
...
query_filter     = (&(mail=%s)(objectClass=group)(member=*))
result_attribute = distinguishedName
...

cat /etc/postfix/ldap/ad_virtual_group_members.cf
...
query_filter     = (&(userPrincipalName=*)(mail=*)(memberOf:1.2.840.113556.1.4.1941:=%s)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute = mail
...
Проверка:

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

postmap -vfq "group@doma.in" "pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group.cf, ldap:/etc/postfix/ldap/ad_virtual_group_members.cf}"
Применяем:

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

posfix reload

werter
проходил мимо
Сообщения: 3
Зарегистрирован: 2021-01-05 18:45:48

Отправка писем только активным пользователям в группе

Непрочитанное сообщение werter » 2021-01-13 21:09:33

Поправка :

cat /etc/postfix/main.cf
...
virtual_alias_maps = pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group.cf, ldap:/etc/postfix/ldap/ad_virtual_group_members.cf}
...