From 079ccc654f0fcb71264bec77497580255f721476 Mon Sep 17 00:00:00 2001 From: hasufell Date: Mon, 14 Sep 2015 16:05:32 +0200 Subject: [PATCH] Add sieve support --- core/Dockerfile | 13 +++++++++++-- core/config/dovecot.lda | 2 +- core/config/dovecot.sieve | 4 ++++ 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 core/config/dovecot.sieve diff --git a/core/Dockerfile b/core/Dockerfile index 6ffaeb0..c404427 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -55,6 +55,7 @@ COPY ./config/dovecot.auth /etc/dovecot/conf.d/10-auth.conf COPY ./config/dovecot.master /etc/dovecot/conf.d/10-master.conf COPY ./config/dovecot.lda /etc/dovecot/conf.d/15-lda.conf COPY ./config/dovecot.imap /etc/dovecot/conf.d/20-imap.conf +COPY ./config/dovecot.sieve /etc/dovecot/conf.d/90-sieve.conf # Uncomment to add verbose logging COPY ./config/dovecot.logging /etc/dovecot/conf.d/10-logging.conf COPY ./config/supervisord.conf /etc/supervisord.conf @@ -68,13 +69,21 @@ RUN chmod 755 /boot COPY boot.d /boot.d RUN chmod -R 755 /boot.d -# Volume to store email -VOLUME ["/vmail"] # Add user vmail that owns mail RUN groupadd -g 5000 vmail RUN useradd -g vmail -u 5000 vmail -d /vmail -m +# create global sieve folder/rule +RUN mkdir -p /vmail/sieve && echo -e "require \"fileinto\";\ +\nif header :contains \"X-Spam-Flag\" \"YES\" {\ +\n fileinto \"Spam\";\ +\n}" > /vmail/sieve/spam-global.sieve && \ + chown -R vmail:vmail /vmail/sieve/ + +# Volume to store email +VOLUME ["/vmail"] + EXPOSE 25 143 587 ENTRYPOINT /boot; /usr/bin/supervisord -n diff --git a/core/config/dovecot.lda b/core/config/dovecot.lda index b075d2f..a71b7af 100644 --- a/core/config/dovecot.lda +++ b/core/config/dovecot.lda @@ -1,5 +1,5 @@ protocol lda { hostname = mail.docker.container postmaster_address = postmaster@mail.docker.container - mail_plugin_dir = /usr/lib/dovecot/modules/lda + mail_plugins = $mail_plugins sieve } diff --git a/core/config/dovecot.sieve b/core/config/dovecot.sieve new file mode 100644 index 0000000..e792dfd --- /dev/null +++ b/core/config/dovecot.sieve @@ -0,0 +1,4 @@ +plugin { + sieve_before = /vmail/sieve/spam-global.sieve + sieve = /vmail/%d/%n/sieve/scripts/active.sieve +}