- 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 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 when: postfix.virtual_mailbox_domains is defined 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 transport_map when: postfix.virtual_mailbox_domains is defined 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: delete old local-mail cronjob file: path=/etc/cron.daily/local-mail state=absent - 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 - name: install mailman-check cronjob when: postfix.mailman is defined and postfix.mailman copy: dest: /etc/cron.daily/mailman-check src: files/mailman-check mode: u=rwx,g=rx,o=rx - name: remove mailman-check cronjob when: not (postfix.mailman is defined and postfix.mailman) file: path: /etc/cron.daily/mailman-check state: absent # tools - block: - name: create newmail dir file: path=/root/newmail state=directory - name: install newmail script copy: dest: /root/newmail/newmail src: files/newmail/newmail mode: u=rwx,g=rx,o=rx - name: install newmail templates copy: dest: /root/newmail/templates.py src: files/newmail/templates.py when: postfix.dovecot is defined