summaryrefslogtreecommitdiff
path: root/roles/mail/postfix/relay/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/mail/postfix/relay/tasks/main.yml')
-rw-r--r--roles/mail/postfix/relay/tasks/main.yml64
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