|
|
|
---
|
|
|
|
|
|
|
|
- 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: Checck 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 authentication map
|
|
|
|
template: src=relay_auth.j2 dest=/etc/postfix/relay_auth mode=600 owner=root group=root
|
|
|
|
register: relay_auth_file
|
|
|
|
tags: postfix
|
|
|
|
|
|
|
|
- name: Check if relay_auth has been hashed
|
|
|
|
stat: path=/etc/postfix/relay_auth.db
|
|
|
|
register: relay_auth_hashed
|
|
|
|
tags: postfix
|
|
|
|
|
|
|
|
- name: Rehash postfix relay auth
|
|
|
|
command: postmap /etc/postfix/relay_auth
|
|
|
|
when: relay_auth_file.changed or not relay_auth_hashed.stat.exists
|
|
|
|
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
|
|
|
|
|
|
|
|
...
|