ansible-roles/roles/postfix/tasks/main.yml

57 lines
1.6 KiB
YAML

---
- 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
...