summaryrefslogtreecommitdiff
path: root/playbooks/roles/mail
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/mail')
-rw-r--r--playbooks/roles/mail/tasks/main.yml8
-rw-r--r--playbooks/roles/mail/templates/cron.j211
-rw-r--r--playbooks/roles/mail/templates/docker-compose.yml.j24
3 files changed, 23 insertions, 0 deletions
diff --git a/playbooks/roles/mail/tasks/main.yml b/playbooks/roles/mail/tasks/main.yml
index 5fc6769..df3eb64 100644
--- a/playbooks/roles/mail/tasks/main.yml
+++ b/playbooks/roles/mail/tasks/main.yml
@@ -81,6 +81,14 @@
group: root
mode: 0700
+- name: Build spam assassin cron
+ ansible.builtin.template:
+ src: cron.j2
+ dest: /etc/docker/compose/mail/docker-data/dms/cron
+ owner: root
+ group: root
+ mode: 0700
+
- name: Daemon-reload and enable mail
ansible.builtin.systemd_service:
state: restarted
diff --git a/playbooks/roles/mail/templates/cron.j2 b/playbooks/roles/mail/templates/cron.j2
new file mode 100644
index 0000000..69357a9
--- /dev/null
+++ b/playbooks/roles/mail/templates/cron.j2
@@ -0,0 +1,11 @@
+# '> /dev/null' to send error notifications from 'stderr' to 'postmaster@example.com'
+#
+# m h dom mon dow user command
+#
+# Everyday 3:00AM, learn spam from all users of a domain
+# spam: junk directory
+0 3 * * * root sa-learn --spam /var/mail/*/.Junk --dbpath /var/mail-state/lib-amavis/.spamassassin > /dev/null
+# ham: archive directories
+15 3 * * * root sa-learn --ham /var/mail/*/.Archive* --dbpath /var/mail-state/lib-amavis/.spamassassin > /dev/null
+# ham: inbox subdirectories
+30 3 * * * root sa-learn --ham /var/mail/*/cur* --dbpath /var/mail-state/lib-amavis/.spamassassin > /dev/null
diff --git a/playbooks/roles/mail/templates/docker-compose.yml.j2 b/playbooks/roles/mail/templates/docker-compose.yml.j2
index cf6ada5..b986c07 100644
--- a/playbooks/roles/mail/templates/docker-compose.yml.j2
+++ b/playbooks/roles/mail/templates/docker-compose.yml.j2
@@ -46,6 +46,7 @@ services:
- ./docker-data/dms/mail-logs/:/var/log/mail/
- ./docker-data/dms/config/:/tmp/docker-mailserver/
- ./docker-data/dms/config/dovecot-ldap.conf:/etc/dovecot/dovecot-ldap.conf.ext
+ - ./docker-data/dms/cron:/etc/cron.d/sa-learn
- /etc/letsencrypt:/etc/letsencrypt:ro
- /etc/localtime:/etc/localtime:ro
environment:
@@ -56,6 +57,9 @@ services:
- ENABLE_SASLAUTHD=1
- ENABLE_MANAGESIEVE=1
- ENABLE_POSTGREY=0
+ - ENABLE_SPAMASSASSIN=1
+ - SPAMASSASSIN_SPAM_TO_INBOX=1
+ - MOVE_SPAM_TO_JUNK=1
- SPOOF_PROTECTION=1
- ACCOUNT_PROVISIONER=LDAP