add newmail script
[ansible.git] / roles / postfix / tasks / postfix.yml
index eac650c0dcc84b43e51a87fa17ba09c7367856bb..b39f7225741d9404a1157a0cc6fcae5c079654fc 100644 (file)
@@ -1,8 +1,8 @@
 - name: install postfix
   apt: name=postfix,bsd-mailx state=latest
 - name: install postfix-mysql
 - name: install postfix
   apt: name=postfix,bsd-mailx state=latest
 - name: install postfix-mysql
-  apt: name=postfix-mysql state=latest
   when: postfix.vmail_mysql_password is defined
   when: postfix.vmail_mysql_password is defined
+  apt: name=postfix-mysql state=latest
 - name: enable postfix
   service: name=postfix enabled=yes
 # config
 - name: enable postfix
   service: name=postfix enabled=yes
 # config
@@ -15,6 +15,7 @@
   - master.cf
   notify: postfix
 - name: install postfix mysql config
   - master.cf
   notify: postfix
 - name: install postfix mysql config
+  when: postfix.vmail_mysql_password is defined
   template:
     dest: /etc/postfix/{{ item }}
     src: templates/{{ item }}
   template:
     dest: /etc/postfix/{{ item }}
     src: templates/{{ item }}
@@ -25,8 +26,8 @@
   - mysql_vmail_senders.cf
   - mysql_vmail_users.cf
   notify: postfix
   - mysql_vmail_senders.cf
   - mysql_vmail_users.cf
   notify: postfix
-  when: postfix.vmail_mysql_password is defined
 - name: create empty maps
 - name: create empty maps
+  when: postfix.virtual_mailbox_domains is defined
   copy:
     dest: /etc/postfix/{{ item }}
     content: ""
   copy:
     dest: /etc/postfix/{{ item }}
     content: ""
   loop:
   - virtual_alias_map
   - transport_map
   loop:
   - virtual_alias_map
   - transport_map
-  when: postfix.virtual_mailbox_domains is defined
-# cronjob
+- 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
 - name: delete old local-mail cronjob
   file: path=/etc/cron.daily/local-mail state=absent
 - name: install check-for-local-mail cronjob
     dest: /etc/cron.daily/check-for-local-mail
     src: files/check-for-local-mail
     mode: u=rwx,g=rx,o=rx
     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