- name: install postfix apt: name=postfix,bsd-mailx state=latest - name: install postfix-mysql when: postfix.vmail_mysql_password 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.vmail_mysql_password 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: create empty maps when: postfix.virtual_mailbox_domains is defined copy: dest: /etc/postfix/{{ item }} content: "" force: no loop: - virtual_alias_map - transport_map - name: give postfix user access to opendkim when: postfix.opendkim is defined user: name: postfix groups: opendkim append: yes 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 - name: create newmail dir when: postfix.vmail_mysql_password is defined file: path=/root/newmail state=directory - name: install newmail script when: postfix.vmail_mysql_password is defined copy: dest: /root/newmail/newmail src: files/newmail/newmail mode: u=rwx,g=rx,o=rx - name: install newmail templates when: postfix.vmail_mysql_password is defined copy: dest: /root/newmail/templates.py src: files/newmail/templates.py