- include: service.yaml # static: yes # see static include issue: https://github.com/ansible/ansible/issues/13485 vars: service_name: dovecot service_packages: - dovecot-ldap - dovecot-imapd - rsyslog - lineinfile: dest=/etc/postfix/main.cf line="virtual_transport = dovecot" state=present notify: restart postfix - blockinfile: dest: /etc/postfix/master.cf block: | dovecot unix - n n - - pipe flags=DRhu user=postman:postman argv=/usr/lib/dovecot/deliver -d ${recipient} -f ${sender} notify: restart postfix - name: create postman group group: name=postman state=present - name: create postman user user: name=postman state=present shell=/dev/null - name: edit dovecot configuration lineinfile: dest=/etc/dovecot/conf.d/10-master.conf line=' port = 143' insertafter='inet_listener imap {' state=present notify: restart dovecot - blockinfile: dest: /etc/dovecot/conf.d/10-master.conf insertafter: 'inet_listener imaps {' marker: '#{mark} ANSIBLE BLOCK FOR IMAPS PORT' block: | port = 993 ssl = yes notify: restart dovecot - blockinfile: dest: "/etc/dovecot/conf.d/10-master.conf" insertafter: "unix_listener auth-userdb {" marker: '#{mark} ANSIBLE BLOCK FOR AUTH USER' block: | group = postman mode = 0664 user = postman notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-mail.conf line='mail_location = maildir:/home/postman/%d/%n' regexp='^mail_location = ' state=present notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-mail.conf line='mail_gid = postman' state=present notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-mail.conf line='mail_uid = postman' state=present notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-auth.conf line="!include auth-system.conf.ext" state=absent notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-auth.conf line="!include auth-ldap.conf.ext" state=present notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-auth.conf line="auth_default_realm = {{ domain }}" notify: restart dovecot - lineinfile: dest=/etc/dovecot/conf.d/10-auth.conf line="auth_mechanisms = login plain" notify: restart dovecot - name: enable ssl key blockinfile: dest: /etc/dovecot/conf.d/10-ssl.conf block: | ssl = yes ssl_cert = /etc/dovecot/dovecot.cert" register: set_pub_key when: not dovecot_cert_key.stat.exists - template: src=dovecot-ldap.conf.ext.j2 dest=/etc/dovecot/dovecot-ldap.conf.ext notify: restart dovecot