diff --git a/defaults/main.yml b/defaults/main.yml index d0fc191..abda1f5 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -24,8 +24,12 @@ postfix_domain_config: {} # LOOKUP TABLES --------------------------------------------------------------- +# proveedor lookup por defecto postfix_lookup_provider: file +# lugar donde se guarda el mail (no debería importarle a postfix) +postfix_mail_home: "{{ vmail_home | default('/srv/mail') }}" + # LDAP ------------------------------------------------------------------------ # Default LDAP connection parameters diff --git a/templates/ldap_table.cf.j2 b/templates/ldap_table.cf.j2 index fdfb3ca..afb19cc 100644 --- a/templates/ldap_table.cf.j2 +++ b/templates/ldap_table.cf.j2 @@ -10,13 +10,41 @@ bind_pw = {{ postfix_ldap_bind_pw }} start_tls = {{ postfix_ldap_start_tls }} tls_ca_cert_file = {{ postfix_ldap_tls_ca_cert_file }} tls_ca_cert_dir = {{ postfix_ldap_tls_ca_cert_dir }} -search_base = ou=People,{{ domain.split('.') | map('regex_replace','^','dc=') | join(',') }} -query_filter = (&(objectClass=inetOrgPerson)(uid=%u)) -result_attribute = uid -result_format = {{ vmail_home }}/mail/{{ domain }}/%s/ +{% if item == 'user' %} +search_base = {{ postfix_mail_domains[domain][item+'_lookup'].search_base + | default( 'ou=People,'+domain.split('.') | map('regex_replace','^','dc=') + | join( ',' ) ) }} +query_filter = {{ postfix_mail_domains[domain][item+'_lookup'].query_filter + | default( '(&(objectClass=inetOrgPerson)(uid=%u))' ) }} +result_attribute = {{ postfix_mail_domains[domain].user_lookup.result_attribute + | default('uid') }} +result_format = {{ postfix_mail_home }}/{{ domain }}/%s/ +{% endif %} +{% if item == 'alias' %} +search_base = {{ postfix_mail_domains[domain].alias_lookup.search_base + | default( 'ou=Alias,'+domain.split('.') | map('regex_replace','^','dc=') + | join( ',' ) ) }} +query_filter = {{ postfix_mail_domains[domain].alias_lookup.query_filter + | default( '(&(objectClass=nisMailAlias)(cn=%u))' ) }} +result_attribute = {{ postfix_mail_domains[domain].user_lookup.result_attribute + | default('rfc822MailMember') }} +result_format = {{ postfix_mail_domains[domain].user_lookup.result_format + | default('%s') }} +{% endif %} +{% if item == 'group' %} +search_base = {{ postfix_mail_domains[domain].group_lookup.search_base + | default( 'ou=Group,'+domain.split('.') | map('regex_replace','^','dc=') + | join( ',' ) ) }} +query_filter = {{ postfix_mail_domains[domain].group_lookup.query_filter + | default( '(&(objectClass=posixGroup)(cn=%u))' ) }} +result_attribute = {{ postfix_mail_domains[domain].user_lookup.result_attribute + | default('memberUid') }} +result_format = {{ postfix_mail_domains[domain].user_lookup.result_format + | default('%s@'+domain) }} +{% endif %} # para sqlite -# dbpath = {{ vmail_home }}/{{ domain }}_users.sqlite +# dbpath = /etc/postfix/{{ domain }}_users.sqlite # query = {{ postfix_sqlite_user_query }} # queda por configurar estos params