X-Git-Url: https://git.ralfj.de/ansible.git/blobdiff_plain/a0ef97a3169e9da8b4618116075d54c49b4292b4..b820d6d92e4c558f45c2288d99428b7bbd915312:/roles/email/tasks/postfix.yml diff --git a/roles/email/tasks/postfix.yml b/roles/email/tasks/postfix.yml index bda2256..2602fb0 100644 --- a/roles/email/tasks/postfix.yml +++ b/roles/email/tasks/postfix.yml @@ -1,10 +1,13 @@ - 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 +- name: install mailman + when: postfix.mailman is defined and postfix.mailman + apt: name=mailman state=latest # config - name: install postfix config template: @@ -15,7 +18,7 @@ - master.cf 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 +29,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,6 +37,50 @@ groups: opendkim append: yes notify: postfix +# maps +- name: create empty virtual_alias_map + when: postfix.virtual_mailbox_domains is defined + 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 empty sender_transport_map + when: postfix.smtp_outgoing is defined + register: sender_transport_map + copy: + dest: /etc/postfix/sender_transport_map + content: "" + force: no +- name: postmap sender_transport_map + when: sender_transport_map.changed + command: postmap /etc/postfix/sender_transport_map + notify: postfix +- name: create empty relay_clientcerts + when: postfix.relay_client_cert_whitelist is defined + register: relay_clientcerts + copy: + dest: /etc/postfix/relay_clientcerts + content: "" + force: no +- name: postmap relay_clientcerts + when: relay_clientcerts.changed + command: postmap /etc/postfix/relay_clientcerts + notify: postfix +- name: create transport_map + when: postfix.virtual_mailbox_domains is defined + 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 @@ -75,4 +113,4 @@ copy: dest: /root/newmail/templates.py src: files/newmail/templates.py - when: postfix.vmail_mysql_password is defined + when: postfix.dovecot is defined