Dovecot imapsieve integration

This commit is contained in:
Julian Rother 2025-02-04 03:35:53 +01:00
parent 1b86e487cc
commit dd574e28f5
Signed by: julian
GPG key ID: C19B924C0CD13341
3 changed files with 74 additions and 2 deletions

View file

@ -88,6 +88,45 @@
- dovecot-dict-sql.conf
notify: restart dovecot
- name: create global sieve directories
ansible.builtin.file:
state: directory
owner: root
group: root
mode: 0755
path: "{{ item }}"
loop:
- /etc/dovecot/sieve-scripts
- /etc/dovecot/sieve-extprograms
- name: copy sieve extprograms
ansible.builtin.copy:
content: "{{ item.value }}\n"
dest: "/etc/dovecot/sieve-extprograms/{{ item.key }}"
owner: root
group: root
mode: "0755"
loop: "{{ mailserver.dovecot.sieve_extprograms|dict2items }}"
- name: copy sieve scripts
ansible.builtin.copy:
content: "{{ item.value }}\n"
dest: "/etc/dovecot/sieve-scripts/{{ item.key }}.sieve"
owner: root
group: root
mode: "0644"
loop: |
{%- set result = {'after': mailserver.dovecot.sieve_after, 'before': mailserver.dovecot.sieve_before, 'default': mailserver.dovecot.sieve_default} -%}
{%- for name, handler in mailserver.dovecot.sieve_mailbox_handlers.items() -%}
{%- set tmp = result.update(**{'mailbox_'+name+'_before': handler.before|d(none), 'mailbox_'+name+'_after': handler.after|d(none)}) -%}
{%- endfor -%}
{{ result|dict2items|selectattr('value')|tojson }}
register: mailserver_sieve_scripts
- name: compile sieve scripts
ansible.builtin.shell: "sievec '{{ item.dest }}'"
loop: "{{ mailserver_sieve_scripts.results }}"
# prometheus-postfix-exporter
- name: configure prometheus postfix exporter
ansible.builtin.template: