diff options
| -rw-r--r-- | playbooks/roles/mail/tasks/main.yml | 8 | ||||
| -rw-r--r-- | playbooks/roles/mail/templates/cron.j2 | 11 | ||||
| -rw-r--r-- | playbooks/roles/mail/templates/docker-compose.yml.j2 | 4 |
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 |
