Зы. Может postfix умеет со скриптами работать? Перед отправкой, например?
Со скриптами умеет, но это обычно используется для анализа письма (антивирус, антиспам и т.п.) а не для принятия решения по маршрутизации/доставке почты. Я тут посмотрел в
документацию postfix, там есть тип карты pipemap, очень похоже на то, что может решить вашу задачу. То есть можно сделать одну LDAP-карту для отбору группы по адресу группы, а вторую для проверки члена группы на активность/неактивность. IMHO, это должно быть как-то так:
/etc/postfix/ldap/ad_virtual_group_maps.cf:
...
query_filter = (&(objectClass=group)(|(mail=%s)(otherMailbox=%s)(proxyAddresses=%s)))
result_attribute = member
...
/etc/postfix/ldap/ad_virtual_user_maps.cf:
...
search_base = %s
scope = base
query_filter = (&(objectClass=user)(!(|(userAccountControl=514)(userAccountControl=66050))))
result_attribute = mail,otherMailbox,proxyAddresses
...
/etc/postfix/main.cf:
...
virtual_mailbox_maps = pipemap:{ldap:/etc/postfix/ldap/ad_virtual_group_maps.cf, ldap:/etc/postfix/ldap/ad_virtual_user_maps.cf}
...
Естественно, я это не проверял, так что на свой страх и риск.
Решил пока так.
У отключенного пол-ля просто убрал адрес почты в св-вах уч. записи. И тогда при выборе member-а из group пол-ль без эл. адреса в результат выборки не попадает.
Зы. При большом кол-ве пол-лей пройтись скриптом (bash, PS etc) с условием, если пол-ль не логинился более 90 дней, то откл. его уч. запись (установить атрибут userAccountControl=514) и удалить адрес почты (сбросить атрибут mail). Скрипт повесить в cron (bash) или Планировщик заданий (PS) на необходимую периодичность.
Решение довольно трудозатратное, но в целом, как варант. А если человек вернётся, адрес почты вручную планируете восстанавливать?
Егор