Я использую Установку Inno (бесплатное программное обеспечение) для такого рода вещи. В то время как сначала это похоже немного больше, чем простой установщик, это на самом деле имеет очень открытый язык сценариев, который может выполнить очень сложные задачи. Выполнение, что Вы описываете, является бризом. Единственный недостаток для меня - то, что сценарии основаны на Паскале, в котором я обычно не программирую.
Предполагая, что вы пытаетесь направить почту в список почтальонов, вот несколько элементов, которые вы можете уместить в головоломку. Сначала немного LDAP:
# mailroute, system, mydomain.net
dn: ou=mailroute,ou=system,dc=mydomain,dc=net
objectClass: top
objectClass: organizationalUnit
ou: mailroute
# forward0, mailroute, system, mydomain.net
dn: cn=forward0,ou=mailroute,ou=system,dc=mydomain,dc=net
objectClass: top
objectClass: MailForwardOnly
cn: forward0
MailAlternateAddress: hostmaster@mydomain.net
MailAlternateAddress: postmaster@mydomain.net
MailAlternateAddress: webmaster@mydomain.net
MailForwardingAddress: sysadmin@lists.mydomain.net
displayName: RFC emails to system administrator
Затем немного конфигурации Postfix:
/etc/postfix/main.cf:
relay_domains = lists.mydomain.net
virtual_mailbox_domains = mydomain.net
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ldap/virtual_mailbox_maps.cf
/etc/postfix/transport:
lists.mydomain.net mailman:
/etc/postfix/ldap/virtual_mailbox_maps.cf:
version = 3
server_host = ldaps://a.mydomain.net:636
search_base = ou=people,dc=mydomain,dc=net
query_filter = (&(objectClass=*)(mail=%s))
result_attribute = uid
bind = yes
bind_dn = cn=postfix,ou=applications,ou=system,dc=mydomain,dc=net
bind_pw = czczczcz