- name: postfix & dkim anti-spam setup gather_facts: no hosts: "{{target}}" become: "{{become_var}}" tasks: # # requriements # # DANE wants DNSSEC # todo - setup the full check with dig - name: check dnssec shell: # may be some bsd there executable: /bin/sh cmd: "pgrep unbound" check_mode: false changed_when: false # # dkim comes first # - name: standalone dkim template on freebsd template: src: opendkim.conf dest: /usr/local/etc/mail/opendkim.conf mode: 0644 notify: restart dkim on freebsd when: system == 'freebsd' - name: standalone dkim template template: src: opendkim.conf dest: /etc/opendkim.conf mode: 0644 notify: restart dkim when: system != 'freebsd' # freebsd #rc.conf:milteropendkim_enable=yes # # procmail # - name: standalone and system-wide procmailrc config file copy: src: procmailrc dest: /etc/procmailrc mode: 0600 - name: standalone reprocess maildir script copy: src: reprocess-maildir dest: /usr/local/bin/reprocess-maildir mode: 0755 # # postfix # - name: templates configs template: src: "{{item}}" dest: /etc/postfix/{{ item | basename | regex_replace('_j2$', '') }} mode: 0644 with_items: "{{ 'postfix/*_j2' | fileglob }}" notify: reload postfix - name: flat config files copy: src: "{{item}}" dest: /etc/postfix/{{ item | basename | regex_replace('_flat$', '') }} mode: 0644 with_items: "{{ 'postfix/*_flat' | fileglob }}" notify: reload postfix - name: system specific master.cf copy: src: "postfix/master.cf.{{system}}" dest: /etc/postfix/master.cf mode: 0644 notify: reload postfix - name: blockinfile configs blockinfile: block: "{{ lookup('file', item) }}" path: /etc/postfix/{{ item | basename | regex_replace('_blockinfile$', '') }} prepend_newline: true append_newline: true with_items: "{{ '../../configs/postfix/*_blockinfile' | fileglob }}" notify: rebuild and reload handlers: - name: reload dkim on freebsd shell: executable: /bin/sh cmd: "/etc/rc.d/milter-opendkim reload" - name: restart dkim on freebsd shell: executable: /bin/sh cmd: "/etc/rc.d/milter-opendkim restart" - name: reload dkim shell: executable: /bin/sh cmd: "systemctl reload opendkim.service" - name: restart dkim shell: executable: /bin/sh cmd: "systemctl restart opendkim.service" - name: rebuild access lists shell: executable: /bin/bash cmd: "postmap /etc/postfix/access.{client,sender,rcpt}" listen: rebuild and reload - name: reload postfix shell: executable: /bin/sh cmd: "systemctl reload postfix.service 2>/dev/null || postfix reload" listen: rebuild and reload