X-Git-Url: https://git.ralfj.de/ansible.git/blobdiff_plain/0aacb9f875a40b18dfbbc01b705b5337bf872368..a0ef97a3169e9da8b4618116075d54c49b4292b4:/roles/email/tasks/postfix.yml diff --git a/roles/email/tasks/postfix.yml b/roles/email/tasks/postfix.yml new file mode 100644 index 0000000..bda2256 --- /dev/null +++ b/roles/email/tasks/postfix.yml @@ -0,0 +1,78 @@ +- 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