From 594544052b2a8d2f19efda0144cd697a4adc7e5b Mon Sep 17 00:00:00 2001 From: Mauro Torrez Date: Tue, 10 Sep 2019 23:12:07 -0300 Subject: [PATCH] burl, imap metadata ready --- defaults/main.yml | 3 +++ files/10-mail.conf | 1 + files/Dockerfile | 9 +++++---- files/confd/conf.d/imap.toml | 7 +++++++ files/confd/templates/20-imap.conf.tmpl | 6 ++++++ tasks/main.yml | 3 +-- 6 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 files/confd/conf.d/imap.toml create mode 100644 files/confd/templates/20-imap.conf.tmpl diff --git a/defaults/main.yml b/defaults/main.yml index f44a53b..6d0ed22 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -110,3 +110,6 @@ dovecot_submission_relay_trusted: yes # FIXME: add ssl/tls support dovecot_submission_relay_ssl: "no" dovecot_submission_relay_ssl_verify: no + +# antispam +dovecot_antispam_enable: yes diff --git a/files/10-mail.conf b/files/10-mail.conf index c95f005..4fe8a52 100644 --- a/files/10-mail.conf +++ b/files/10-mail.conf @@ -2,6 +2,7 @@ ## Mailbox locations and namespaces ## mail_location = mdbox:~/dbox +mail_attribute_dict = file:~/dovecot-attributes namespace inbox { # Namespace type: private, shared or public diff --git a/files/Dockerfile b/files/Dockerfile index aa29949..a4c0009 100644 --- a/files/Dockerfile +++ b/files/Dockerfile @@ -30,7 +30,9 @@ ENV \ LDAP_PASS_FILTER="(&(objectClass=inetOrgPerson)(uid=%n))" \ LDAP_ITERATE_ATTRS="=user=%{ldap:uid}@%d" \ LDAP_ITERATE_FILTER="(objectClass=inetOrgPerson)" \ - LDAP_DEFAULT_PASS_SCHEME=CRYPT + LDAP_DEFAULT_PASS_SCHEME=CRYPT \ + ANTISPAM_ENABLE=yes \ + IMAP_URLAUTH_HOST="*" RUN groupadd -g 5000 vmail && useradd -g vmail -u 5000 vmail -d /vmail \ && mkdir -p /vmail && chown vmail:vmail /vmail \ @@ -48,19 +50,18 @@ RUN groupadd -g 5000 vmail && useradd -g vmail -u 5000 vmail -d /vmail \ && mkdir -p /ssl && chmod 700 /ssl \ && cp /etc/ssl/certs/ssl-cert-snakeoil.pem /ssl/cert.pem \ && cp /etc/ssl/private/ssl-cert-snakeoil.key /ssl/key.pem \ - && mkdir -p /etc/dovecot/local.d /etc/dovecot/sieve/before /etc/dovecot/sieve/after + && mkdir -p /etc/dovecot/local.d /etc/dovecot/sieve/before /etc/dovecot/sieve/after \ + && printf '!include_try local.d/*.conf\nlog_path = /dev/stdout\n' > /etc/dovecot/local.conf ADD 10-mail.conf \ 10-master.conf \ 10-ssl.conf \ 11-quota.conf \ 15-mailboxes.conf \ - 20-imap.conf \ 90-antispam.conf \ 90-sieve.conf \ /etc/dovecot/conf.d/ -ADD local.conf /etc/dovecot/ ADD junk-filter.sieve /etc/dovecot/sieve/before/ ADD confd /etc/confd/ diff --git a/files/confd/conf.d/imap.toml b/files/confd/conf.d/imap.toml new file mode 100644 index 0000000..5f7829a --- /dev/null +++ b/files/confd/conf.d/imap.toml @@ -0,0 +1,7 @@ +[template] +src = "20-imap.conf.tmpl" +dest = "/etc/dovecot/local.d/20-imap.conf" +keys = [ + "/antispam/enable", + "/imap/urlauth/host" +] diff --git a/files/confd/templates/20-imap.conf.tmpl b/files/confd/templates/20-imap.conf.tmpl new file mode 100644 index 0000000..efe8cee --- /dev/null +++ b/files/confd/templates/20-imap.conf.tmpl @@ -0,0 +1,6 @@ +imap_capability = +SPECIAL_USE +imap_urlauth_host = {{ getv "/imap/urlauth/host" }} +protocol imap { + mail_plugins = $mail_plugins {{ if eq (getv "/antispam/enable") "yes" }}antispam{{ end }} + imap_metadata = yes +} diff --git a/tasks/main.yml b/tasks/main.yml index 69e2881..d3af1a3 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -15,11 +15,9 @@ - 10-master.conf - 10-ssl.conf - 15-mailboxes.conf - - 20-imap.conf - 90-antispam.conf - 90-sieve.conf - junk-filter.sieve - - local.conf - confd tags: skip_me @@ -77,6 +75,7 @@ LDAP_ITERATE_ATTRS: "{{ dovecot_ldap_iterate_attrs }}" LDAP_ITERATE_FILTER: "{{ dovecot_ldap_iterate_filter }}" LDAP_DEFAULT_PASS_SCHEME: "{{ dovecot_ldap_default_pass_scheme }}" + ANTISPAM_ENABLE: "{{ 'yes' if dovecot_antispam_enable else '' }}" register: container - name: Leer info de volumen {{ dovecot_volume_config }}