- name: install postfix apt: name=postfix,bsd-mailx state=latest - name: install postfix-mysql when: postfix.dovecot is defined apt: name=postfix-mysql state=latest - name: enable postfix service: name=postfix enabled=yes # config - name: install postfix config template: dest: /etc/postfix/{{ item }} src: templates/{{ item }} loop: - main.cf - master.cf - postscreen_access.cidr notify: postfix - name: install postfix mysql config when: postfix.dovecot is defined template: dest: /etc/postfix/{{ item }} src: templates/{{ item }} mode: u=rw,g=r,o= group: postfix loop: - mysql_vmail_aliases.cf - mysql_vmail_senders.cf - mysql_vmail_users.cf notify: postfix - name: give postfix user access to opendkim # we assume the user alredy exists (it is created above by installing postfix) when: postfix.opendkim is defined user: name: postfix groups: opendkim append: yes notify: postfix # maps - name: create empty virtual_alias_map register: virtual_alias_map copy: dest: /etc/postfix/virtual_alias_map content: "" force: no - name: postmap virtual_alias_map when: virtual_alias_map.changed command: postmap /etc/postfix/virtual_alias_map notify: postfix - name: create sender_transport_map when: postfix.smtp_outgoing is defined register: sender_transport_map template: dest: /etc/postfix/sender_transport_map src: templates/sender_transport_map - name: postmap sender_transport_map when: sender_transport_map.changed command: postmap /etc/postfix/sender_transport_map notify: postfix - name: create relay_clientcerts when: postfix.relay_client_cert_whitelist is defined register: relay_clientcerts template: dest: /etc/postfix/relay_clientcerts src: templates/relay_clientcerts - name: postmap relay_clientcerts when: relay_clientcerts.changed command: postmap /etc/postfix/relay_clientcerts notify: postfix - name: create transport_map register: transport_map template: dest: /etc/postfix/transport_map src: templates/transport_map - name: postmap transport_map when: transport_map.changed command: postmap /etc/postfix/transport_map notify: postfix # cronjobs - name: install check-for-local-mail cronjob copy: dest: /etc/cron.daily/check-for-local-mail src: files/check-for-local-mail mode: u=rwx,g=rx,o=rx