70 lines
2.5 KiB
YAML
70 lines
2.5 KiB
YAML
---
|
|
- name: Template LDAP lookup tables
|
|
template:
|
|
src: ldap_table.cf.j2
|
|
dest: "{{ postfix_mountpoint }}/{{ domain }}_ldap_{{ item }}.cf"
|
|
when: >-
|
|
postfix_mail_domains[domain][item+'_lookup'].provider
|
|
| default(postfix_lookup_provider) == 'ldap' or
|
|
( item == 'group' and postfix_ldap_use_group_alias and
|
|
postfix_mail_domains[domain]['alias_lookup'].provider
|
|
| default(postfix_lookup_provider) == 'ldap' )
|
|
loop:
|
|
- user
|
|
- alias
|
|
- group
|
|
notify: reload postfix
|
|
|
|
- name: Template SQLite lookup tables
|
|
template:
|
|
src: sqlite_table.cf.j2
|
|
dest: "{{ postfix_mountpoint }}/{{ domain }}_sqlite_{{ item }}.cf"
|
|
when:
|
|
- postfix_mail_domains[domain][item+'_lookup'].provider|default(postfix_lookup_provider) == 'sqlite'
|
|
loop:
|
|
- user
|
|
- alias
|
|
notify: reload postfix
|
|
|
|
- name: Template file user lookup table
|
|
blockinfile:
|
|
block: |
|
|
{% for item in postfix_mail_domains[domain]['users']|default([]) -%}
|
|
{% if item is string %}{{ item }} /nomailbox/{{ item }}
|
|
{% else %}{{ item.user }} {{ item.mailbox }}
|
|
{% endif %}{% endfor %}
|
|
dest: "{{ postfix_mail_domains[domain].user_lookup.file |
|
|
default('/etc/postfix/'+domain+'_users') |
|
|
regex_replace('^/etc/postfix',postfix_mountpoint) }}"
|
|
marker: "# {mark} ANSIBLE-MANAGED USERS"
|
|
create: yes
|
|
when:
|
|
- postfix_mail_domains[domain].user_lookup.provider|default(postfix_lookup_provider) == 'file'
|
|
notify: postmap hash users
|
|
|
|
- name: Template file alias lookup table
|
|
blockinfile:
|
|
block: |
|
|
{% for key in postfix_mail_domains[domain]['aliases']|default([]) -%}
|
|
{{ key.alias }} {{ key.dest }}
|
|
{% endfor %}
|
|
dest: "{{ postfix_mail_domains[domain].alias_lookup.file |
|
|
default('/etc/postfix/'+domain+'_aliases') |
|
|
regex_replace('^/etc/postfix',postfix_mountpoint) }}"
|
|
marker: "# {mark} ANSIBLE-MANAGED ALIASES"
|
|
create: yes
|
|
when:
|
|
- postfix_mail_domains[domain].alias_lookup.provider|default(postfix_lookup_provider) == 'file'
|
|
notify: postmap hash aliases
|
|
|
|
- name: Template no-reply aliases file
|
|
copy:
|
|
content: |
|
|
{% for address in postfix_mail_domains[domain].noreply_aliases|default(['noreply']) %}
|
|
{{ address }}@{{ domain }} _dev_null
|
|
{% endfor %}
|
|
dest: "{{ postfix_mail_domains[domain].noreply_file |
|
|
default('/etc/postfix/'+domain+'_noreply') |
|
|
regex_replace('^/etc/postfix',postfix_mountpoint) }}"
|
|
notify: postmap no reply aliases
|