diff options
-rw-r--r-- | ansible/roles/dovecot/handlers/main.yml | 4 | ||||
-rw-r--r-- | ansible/roles/dovecot/tasks/main.yml | 33 | ||||
-rw-r--r-- | ansible/roles/dovecot/templates/spam-to-folder.sieve.j2 | 8 |
3 files changed, 45 insertions, 0 deletions
diff --git a/ansible/roles/dovecot/handlers/main.yml b/ansible/roles/dovecot/handlers/main.yml index fa1d224..7169fa5 100644 --- a/ansible/roles/dovecot/handlers/main.yml +++ b/ansible/roles/dovecot/handlers/main.yml @@ -8,3 +8,7 @@ service: name: dovecot state: restarted + +- name: Recompile spam-to-folder sieve script + command: /usr/bin/sievec /etc/dovecot/sieve-after/spam-to-folder.sieve + changed_when: true diff --git a/ansible/roles/dovecot/tasks/main.yml b/ansible/roles/dovecot/tasks/main.yml index 759a38d..5f57991 100644 --- a/ansible/roles/dovecot/tasks/main.yml +++ b/ansible/roles/dovecot/tasks/main.yml @@ -51,6 +51,39 @@ notify: - Reload Dovecot +- name: Create sieve-after directory + file: + state: directory + path: /etc/dovecot/sieve-after + owner: vmail + group: vmail + mode: "0755" + tags: + - role::dovecot + +- name: Template spam-to-folder sieve script + template: + src: spam-to-folder.sieve.j2 + dest: /etc/dovecot/sieve-after/spam-to-folder.sieve + owner: vmail + group: vmail + mode: 0444 + notify: + - Recompile spam-to-folder sieve script + tags: + - role::dovecot + +- name: Set up sieve configuration for dovecot + lineinfile: + path: /etc/dovecot/conf.d/90-sieve.conf + regexp: "sieve_after =" + line: " sieve_after = /etc/dovecot/sieve-after # (ansible managed)" + state: present + notify: + - Reload Dovecot + tags: + - role::dovecot + - name: Template Dovecot LDAP config template: src: dovecot-ldap.conf.ext.j2 diff --git a/ansible/roles/dovecot/templates/spam-to-folder.sieve.j2 b/ansible/roles/dovecot/templates/spam-to-folder.sieve.j2 new file mode 100644 index 0000000..9033787 --- /dev/null +++ b/ansible/roles/dovecot/templates/spam-to-folder.sieve.j2 @@ -0,0 +1,8 @@ +# Ansible managed + +require ["fileinto"]; + +if header :contains "X-Spam" "Yes" { + fileinto "Junk"; + stop; +} |