Finish imapsieve config for learn-ham and learn-spam
This commit is contained in:
parent
b1c0a4f8a1
commit
6d70a60899
6 changed files with 107 additions and 2 deletions
|
@ -5,3 +5,15 @@
|
|||
ansible.builtin.command:
|
||||
cmd: sievec /etc/dovecot/sieve-after/spam-to-folder.sieve
|
||||
changed_when: true
|
||||
|
||||
- name: Compile learn-spam.sieve
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: sievec /etc/dovecot/sieve/learn-spam.sieve
|
||||
changed_when: true
|
||||
|
||||
- name: Compile learn-ham.sieve
|
||||
become: true
|
||||
ansible.builtin.command:
|
||||
cmd: sievec /etc/dovecot/sieve/learn-ham.sieve
|
||||
changed_when: true
|
||||
|
|
|
@ -152,14 +152,17 @@
|
|||
line: '\1sieve_after = /etc/dovecot/sieve-after'
|
||||
notify: Reload dovecot service
|
||||
|
||||
- name: Create sieve-after directory
|
||||
- name: Create sieve directories
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: /etc/dovecot/sieve-after
|
||||
path: "/etc/dovecot/{{ item }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "755"
|
||||
loop:
|
||||
- sieve
|
||||
- sieve-after
|
||||
|
||||
- name: Copy spam-to-folder.sieve
|
||||
become: true
|
||||
|
@ -201,3 +204,69 @@
|
|||
backrefs: true
|
||||
line: '\1mail_plugins = $mail_plugins quota imap_sieve'
|
||||
notify: Reload dovecot service
|
||||
|
||||
- name: Add imapsieve config for Junk training
|
||||
become: true
|
||||
ansible.builtin.blockinfile:
|
||||
path: /etc/dovecot/conf.d/90-sieve.conf
|
||||
block: |
|
||||
# From elsewhere to Junk folder
|
||||
imapsieve_mailbox1_name = Junk
|
||||
imapsieve_mailbox1_causes = COPY
|
||||
imapsieve_mailbox1_before = file:/etc/dovecot/sieve/learn-spam.sieve
|
||||
# From Junk folder to elsewhere
|
||||
imapsieve_mailbox2_name = *
|
||||
imapsieve_mailbox2_from = Junk
|
||||
imapsieve_mailbox2_causes = COPY
|
||||
imapsieve_mailbox2_before = file:/etc/dovecot/sieve/learn-ham.sieve
|
||||
|
||||
sieve_pipe_bin_dir = /etc/dovecot/sieve
|
||||
insertafter: 'plugin {'
|
||||
marker: "# {mark} ANSIBLE MANAGED BLOCK IMAPSIEVE"
|
||||
notify: Reload dovecot service
|
||||
|
||||
- name: Add configs for imapsieve
|
||||
become: true
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/dovecot/conf.d/90-sieve.conf
|
||||
regexp: '^(\s*)#?{{ item.key }} =.*'
|
||||
backrefs: true
|
||||
line: '\1{{ item.key }} = {{ item.val }}'
|
||||
loop:
|
||||
- key: sieve_global_extensions
|
||||
val: '+vnd.dovecot.pipe'
|
||||
- key: sieve_plugins
|
||||
val: 'sieve_imapsieve sieve_extprograms'
|
||||
notify: Reload dovecot service
|
||||
|
||||
- name: Copy learn-spam.sieve
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: learn-spam.sieve.j2
|
||||
dest: /etc/dovecot/sieve/learn-spam.sieve
|
||||
owner: root
|
||||
group: root
|
||||
mode: "600"
|
||||
notify: Compile learn-spam.sieve
|
||||
|
||||
- name: Copy learn-ham.sieve
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: learn-ham.sieve.j2
|
||||
dest: /etc/dovecot/sieve/learn-ham.sieve
|
||||
owner: root
|
||||
group: root
|
||||
mode: "600"
|
||||
notify: Compile learn-ham.sieve
|
||||
|
||||
- name: Copy rspamd-learn-spam.sh and rspamd-learn-ham.sh scripts
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: "rspamd-learn-{{ item }}.sh.j2"
|
||||
dest: "/etc/dovecot/sieve/rspamd-learn-{{ item }}.sh"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "700"
|
||||
loop:
|
||||
- spam
|
||||
- ham
|
||||
|
|
9
roles/mailserver_dovecot/templates/learn-ham.sieve.j2
Normal file
9
roles/mailserver_dovecot/templates/learn-ham.sieve.j2
Normal file
|
@ -0,0 +1,9 @@
|
|||
# {{ ansible_managed }}
|
||||
|
||||
require ["vnd.dovecot.pipe", "copy", "imapsieve", "variables"];
|
||||
|
||||
if string "${mailbox}" "Trash" {
|
||||
stop;
|
||||
}
|
||||
|
||||
pipe :copy "rspamd-learn-ham.sh";
|
5
roles/mailserver_dovecot/templates/learn-spam.sieve.j2
Normal file
5
roles/mailserver_dovecot/templates/learn-spam.sieve.j2
Normal file
|
@ -0,0 +1,5 @@
|
|||
# {{ ansible_managed }}
|
||||
|
||||
require ["vnd.dovecot.pipe", "copy", "imapsieve"];
|
||||
|
||||
pipe :copy "rspamd-learn-spam.sh";
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
# {{ ansible_managed }}
|
||||
|
||||
exec /usr/bin/rspamc learn_ham
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
# {{ ansible_managed }}
|
||||
|
||||
exec /usr/bin/rspamc learn_spam
|
Loading…
Reference in a new issue