forked from evolix/ansible-roles
129 lines
2.5 KiB
YAML
129 lines
2.5 KiB
YAML
---
|
|
- name: ensure packages are installed
|
|
apt:
|
|
name: '{{ item }}'
|
|
state: present
|
|
with_items:
|
|
- postfix
|
|
- postfix-ldap
|
|
- postfix-policyd-spf-python
|
|
- mailgraph
|
|
tags:
|
|
- postfix
|
|
|
|
- name: create packmail main.cf
|
|
template:
|
|
src: packmail_main.cf.j2
|
|
dest: /etc/postfix/main.cf
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
force: yes
|
|
notify: restart postfix
|
|
when: postfix_force_main_cf == True or
|
|
default_main_cf.stdout == "5450c05d65878e99dad696c7c722e511 -" or
|
|
default_main_cf.stdout == "30022953f1f61f002bfb72e163ecb27e -"
|
|
tags:
|
|
- postfix
|
|
|
|
- name: deploy packmail master.cf
|
|
template:
|
|
src: packmail_master.cf.j2
|
|
dest: /etc/postfix/master.cf
|
|
mode: "0644"
|
|
notify: restart postfix
|
|
tags:
|
|
- postfix
|
|
|
|
- name: copy default filter files
|
|
copy:
|
|
src: filter
|
|
dest: "/etc/postfix/{{ item }}"
|
|
force: no
|
|
with_items:
|
|
- virtual
|
|
- client.access
|
|
- client.access_local
|
|
- header_kill
|
|
- header_kill_local
|
|
- recipient.access
|
|
- recipient.access_local
|
|
- sa-blacklist.access
|
|
- sender.access
|
|
- sender.access_local
|
|
- spamd.cidr
|
|
register: postfix_copy_filter
|
|
tags:
|
|
- postfix
|
|
|
|
- name: postmap filter files
|
|
command: "postmap /etc/postfix/{{ item }}"
|
|
with_items:
|
|
- virtual
|
|
- client.access
|
|
- client.access_local
|
|
- header_kill
|
|
- header_kill_local
|
|
- recipient.access
|
|
- recipient.access_local
|
|
- sa-blacklist.access
|
|
- sender.access
|
|
- sender.access_local
|
|
- spamd.cidr
|
|
when: postfix_copy_filter.changed
|
|
tags:
|
|
- postfix
|
|
|
|
- name: deploy ldap postfix config
|
|
template:
|
|
src: "{{ item }}.j2"
|
|
dest: "/etc/postfix/{{ item }}"
|
|
mode: "0644"
|
|
with_items:
|
|
- virtual_aliases.cf
|
|
- virtual_domains.cf
|
|
- virtual_mailboxes.cf
|
|
notify: restart postfix
|
|
tags:
|
|
- postfix
|
|
|
|
- name: update ansible_mounts facts
|
|
setup:
|
|
filter: ansible_mounts
|
|
tags:
|
|
- postfix
|
|
|
|
- name: mount /usr in rw
|
|
command: mount -o remount,rw /usr
|
|
args:
|
|
warn: no
|
|
changed_when: false
|
|
when: item.mount == '/usr' and item.options | match(".*ro.*")
|
|
with_items: "{{ ansible_mounts }}"
|
|
tags:
|
|
- postfix
|
|
|
|
- name: copy spam.sh script
|
|
copy:
|
|
src: spam.sh
|
|
dest: /usr/share/scripts/spam.sh
|
|
mode: "0700"
|
|
tags:
|
|
- postfix
|
|
|
|
- name: enable spam.sh cron
|
|
lineinfile:
|
|
dest: /etc/cron.d/spam
|
|
line: "42 * * * * /usr/share/scripts/spam.sh"
|
|
create: yes
|
|
state: present
|
|
mode: "0640"
|
|
tags:
|
|
- postfix
|
|
|
|
- name: update antispam list
|
|
command: /usr/share/scripts/spam.sh
|
|
changed_when: false
|
|
tags:
|
|
- postfix
|