- 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
+ apt: name=postfix-mysql state=latest
- name: enable postfix
service: name=postfix enabled=yes
# 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 }}
- mysql_vmail_senders.cf
- mysql_vmail_users.cf
notify: postfix
- when: postfix.vmail_mysql_password is defined
- name: create empty maps
+ when: postfix.virtual_mailbox_domains is defined
copy:
dest: /etc/postfix/{{ item }}
content: ""
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
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