extend postfix: vmail and more
[ansible.git] / roles / postfix / tasks / main.yml
index 07c344e2136204001e407f61dedc8ece1ce926e3..3343f33583339ed5e8ca618931d8af5ff4844217 100644 (file)
@@ -1,20 +1,44 @@
 - 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
 - name: install postfix config
-  register: config_main
+  register: postfix_config
   template:
-    src: templates/{{ item }}
     dest: /etc/postfix/{{ item }}
+    src: templates/{{ item }}
   with_items:
   - main.cf
   - master.cf
+- name: install postfix mysql config
+  register: postfix_mysql
+  template:
+    dest: /etc/postfix/{{ item }}
+    src: templates/{{ item }}
+    mode: u=rw,g=r,o=
+    group: postfix
+  with_items:
+  - mysql_vmail_aliases.cf
+  - mysql_vmail_senders.cf
+  - mysql_vmail_users.cf
+  when: postfix.vmail_mysql_password is defined
+- name: create empty maps
+  copy:
+    dest: /etc/postfix/{{ item }}
+    content: ""
+    force: no
+  with_items:
+  - virtual_alias_map
+  - transport_map
+  when: postfix.virtual_mailbox_domains is defined
 - name: reload postfix
   service: name=postfix state=restarted enabled=yes
-  when: config_main.changed
+  when: postfix_config.changed or postfix_mysql.changed
 - name: delete old local-mail cronjob
   file: path=/etc/cron.daily/local-mail state=absent
 - name: install check-for-local-mail cronjob
   copy:
-    src: files/check-for-local-mail
     dest: /etc/cron.daily/check-for-local-mail
+    src: files/check-for-local-mail
     mode: u=rwx,g=rx,o=rx