- name: Install package package: name: "{{ items }}" state: present tags: packages vars: items: - postfix - libsasl2-modules - swaks - name: "Configure postfix: main.cf" tags: postfix-satellite-config notify: reload postfix lineinfile: dest: /etc/postfix/main.cf line: "{{ (item.key + ' = ' + item.value) if state=='present' else None }}" regexp: "^{{ item.key }}" state: "{{ state }}" vars: state: "{{ item.state|default('present') }}" with_items: - key: "mydomain" value: "{{ postfix_satellite__mydomain }}" - key: "myorigin" value: "{{ postfix_satellite__myorigin }}" - key: "mydestination" state: absent - key: "myhostname" state: absent - key: "mynetworks" value: "{{ postfix_satellite__mynetworks }}" - key: "smtp_sasl_auth_enable" value: "yes" - key: "smtp_sasl_password_maps" value: "hash:/etc/postfix/sasl_passwd" - key: "smtp_sasl_security_options" value: "noanonymous" - key: "smtp_sasl_tls_security_options" value: "noanonymous" - key: "smtp_tls_security_level" value: "encrypt" - key: "header_size_limit" value: "4096000" - key: "relayhost" value: "{{ postfix__relayhost }}" - key: "default_transport" state: absent - key: "relay_transport" state: absent - key: "compatibility_level" value: "2" - name: Create /etc/postfix/sasl_passwd tags: postfix-satellite-config copy: dest: /etc/postfix/sasl_passwd content: "" force: no mode: 0600 - name: "Configure postfix: sasl_passwd" tags: postfix-satellite-config no_log: yes lineinfile: dest: /etc/postfix/sasl_passwd line: "{{ item.host }} {{ item.username }}:{{ item.password }}" regexp: "^{{ item.host|regex_escape() }}" with_items: "{{ postfix.sasl_password }}" notify: postmap /etc/postfix/sasl_passwd - name: Enable postfix service service: name: postfix state: started enabled: yes - name: Remove old /etc/postfix/sasl directory file: state: absent path: "/etc/postfix/sasl"