diff options
Diffstat (limited to 'roles/mail/postfix/relay/tasks/main.yml')
-rw-r--r-- | roles/mail/postfix/relay/tasks/main.yml | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/roles/mail/postfix/relay/tasks/main.yml b/roles/mail/postfix/relay/tasks/main.yml new file mode 100644 index 00000000..b622bf7f --- /dev/null +++ b/roles/mail/postfix/relay/tasks/main.yml @@ -0,0 +1,64 @@ +--- +- name: install canonical maps + when: postfix_relay_sender_canonical_maps is defined + block: + - name: create subdirectory for canonical maps + file: + path: /etc/postfix/canonical + state: directory + + - name: install canoncial maps + loop: "{{ postfix_relay_sender_canonical_maps | dict2items }}" + loop_control: + label: "{{ item.key }} ({{ item.value.type }})" + copy: + content: "{{ item.value.content }}" + dest: "/etc/postfix/canonical/{{ item.key }}" + register: sender_canonical_maps_status + + - name: generate canoncial maps + loop: "{{ sender_canonical_maps_status.results | select('changed') }}" + loop_control: + label: "{{ item.item.key }} ({{ item.item.value.type }})" + command: postmap "/etc/postfix/canonical/{{ item.item.key }}" + + - name: configure sender canonical maps + lineinfile: + regexp: "^#?\\s*sender_canonical_maps\\s*=" + line: "sender_canonical_maps = {{ postfix_relay_sender_canonical_maps | postfix_maps('/etc/postfix/canonical/') }}" + dest: /etc/postfix/main.cf + notify: restart postfix + +- name: configure local_header_rewrite_clients + when: postfix_relay_local_header_rewrite_clients is defined + lineinfile: + regexp: "^#?\\s*local_header_rewrite_clients\\s*=" + line: "local_header_rewrite_clients = {{ postfix_relay_local_header_rewrite_clients | join(', ') }}" + dest: /etc/postfix/main.cf + notify: restart postfix + +- name: configure dkim signing using opendkim + when: postfix_relay_dkim_signer == "opendkim" + block: + - name: add postfix user to opendkim group + user: + name: postfix + groups: opendkim + append: yes + notify: restart postfix + + - name: configure postfix milter config for opendkim + vars: + postfix_options: + milter_protocol: "6" + milter_default_action: "accept" + smtpd_milters: "unix:opendkim/opendkim.sock" + non_smtpd_milters: "unix:opendkim/opendkim.sock" + loop: "{{ postfix_options | dict2items }}" + loop_control: + label: "{{ item.key }} = {{ item.value }}" + lineinfile: + regexp: "^#?\\s*{{ item.key }}\\s*=" + line: "{{ item.key }} = {{ item.value }}" + dest: /etc/postfix/main.cf + notify: restart postfix |