X-Git-Url: https://git.ralfj.de/ansible.git/blobdiff_plain/a0ef97a3169e9da8b4618116075d54c49b4292b4..3032155ea8d948a802122f659ccef2511d7dc192:/roles/email/tasks/postfix.yml diff --git a/roles/email/tasks/postfix.yml b/roles/email/tasks/postfix.yml index bda2256..d59144d 100644 --- a/roles/email/tasks/postfix.yml +++ b/roles/email/tasks/postfix.yml @@ -1,7 +1,7 @@ - name: install postfix apt: name=postfix,bsd-mailx state=latest - name: install postfix-mysql - when: postfix.vmail_mysql_password is defined + when: postfix.dovecot is defined apt: name=postfix-mysql state=latest - name: enable postfix service: name=postfix enabled=yes @@ -13,9 +13,10 @@ loop: - main.cf - master.cf + - postscreen_access.cidr notify: postfix - name: install postfix mysql config - when: postfix.vmail_mysql_password is defined + when: postfix.dovecot is defined template: dest: /etc/postfix/{{ item }} src: templates/{{ item }} @@ -26,15 +27,6 @@ - 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 @@ -43,36 +35,49 @@ groups: opendkim append: yes notify: postfix +# maps +- name: create empty virtual_alias_map + register: virtual_alias_map + copy: + dest: /etc/postfix/virtual_alias_map + content: "" + force: no +- name: postmap virtual_alias_map + when: virtual_alias_map.changed + command: postmap /etc/postfix/virtual_alias_map + notify: postfix +- name: create sender_transport_map + when: postfix.smtp_outgoing is defined + register: sender_transport_map + template: + dest: /etc/postfix/sender_transport_map + src: templates/sender_transport_map +- name: postmap sender_transport_map + when: sender_transport_map.changed + command: postmap /etc/postfix/sender_transport_map + notify: postfix +- name: create relay_clientcerts + when: postfix.relay_client_cert_whitelist is defined + register: relay_clientcerts + template: + dest: /etc/postfix/relay_clientcerts + src: templates/relay_clientcerts +- name: postmap relay_clientcerts + when: relay_clientcerts.changed + command: postmap /etc/postfix/relay_clientcerts + notify: postfix +- name: create transport_map + register: transport_map + template: + dest: /etc/postfix/transport_map + src: templates/transport_map +- name: postmap transport_map + when: transport_map.changed + command: postmap /etc/postfix/transport_map + 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