--- /dev/null
+- 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
+ # 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
+# 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.vmail_mysql_password is defined