--- - name: Install postfix yum: name: - postfix - cyrus-sasl-plain when: ansible_os_family == 'RedHat' tags: postfix - name: Install postfix apt: name: - postfix - libsasl2-modules when: ansible_os_family == 'Debian' tags: postfix - name: Check if mailman is installed stat: path={{ mailman_root_dir | default('/opt/mailman') }} register: postfix_mailman tags: postfix - name: Deploy configuration template: src=main.cf.j2 dest=/etc/postfix/main.cf mode=644 owner=root group=root notify: restart postfix tags: postfix - name: Deploy relay_auth template: src=relay_auth.j2 dest=/etc/postfix/relay_auth mode=600 owner=root group=root notify: rehash relay_auth tags: postfix - name: Deploy relay_domains template: src=relay_domains.j2 dest=/etc/postfix/relay_domains mode=644 owner=root group=root notify: rehash relay_domains tags: postfix - name: Deploy transport_maps template: src=transport_maps.j2 dest=/etc/postfix/transport_maps mode=644 owner=root group=root notify: rehash transport_maps tags: postfix - name: Handle postfix port iptables_raw: name: postfix_ports state: "{{ (postfix_src_ip is defined and postfix_src_ip | length > 0) | ternary('present','absent') }}" rules: "-A INPUT -m state --state NEW -p tcp -m multiport --dports {{ postfix_ports | default(['25']) | join(',') }} -s {{ postfix_src_ip | join(',') }} -j ACCEPT" when: iptables_manage | default(True) tags: postfix - name: start and enable the service service: name=postfix state=started enabled=True tags: postfix ...