mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
Configure dovecot's managesieve plugin when the environment variable
ENABLE_MANAGE_SIEVE has been set. Adapted README and updated tests. The functionality has successfully been tested using the Sieve Thunderbird plugin.
This commit is contained in:
parent
570bf85319
commit
69b66d55bc
|
@ -5,7 +5,7 @@ MAINTAINER Thomas VIAL
|
||||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q --fix-missing && \
|
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q --fix-missing && \
|
||||||
apt-get -y upgrade && \
|
apt-get -y upgrade && \
|
||||||
apt-get -y install --no-install-recommends \
|
apt-get -y install --no-install-recommends \
|
||||||
postfix dovecot-core dovecot-imapd dovecot-pop3d dovecot-sieve gamin amavisd-new spamassassin razor pyzor \
|
postfix dovecot-core dovecot-imapd dovecot-pop3d dovecot-sieve dovecot-managesieved gamin amavisd-new spamassassin razor pyzor \
|
||||||
clamav clamav-daemon libnet-dns-perl libmail-spf-perl bzip2 file gzip p7zip unzip arj rsyslog \
|
clamav clamav-daemon libnet-dns-perl libmail-spf-perl bzip2 file gzip p7zip unzip arj rsyslog \
|
||||||
opendkim opendkim-tools opendmarc curl fail2ban ed iptables && \
|
opendkim opendkim-tools opendmarc curl fail2ban ed iptables && \
|
||||||
curl -sk http://neuro.debian.net/lists/trusty.de-m.libre > /etc/apt/sources.list.d/neurodebian.sources.list && \
|
curl -sk http://neuro.debian.net/lists/trusty.de-m.libre > /etc/apt/sources.list.d/neurodebian.sources.list && \
|
||||||
|
@ -74,6 +74,6 @@ RUN curl -s https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem > /et
|
||||||
ADD target/bin/generate-ssl-certificate target/bin/generate-dkim-config target/start-mailserver.sh /usr/local/bin/
|
ADD target/bin/generate-ssl-certificate target/bin/generate-dkim-config target/start-mailserver.sh /usr/local/bin/
|
||||||
RUN chmod +x /usr/local/bin/*
|
RUN chmod +x /usr/local/bin/*
|
||||||
|
|
||||||
EXPOSE 25 587 143 993 110 995
|
EXPOSE 25 587 143 993 110 995 4190
|
||||||
|
|
||||||
CMD /usr/local/bin/start-mailserver.sh
|
CMD /usr/local/bin/start-mailserver.sh
|
||||||
|
|
1
Makefile
1
Makefile
|
@ -23,6 +23,7 @@ run:
|
||||||
-e SA_TAG2=2.0 \
|
-e SA_TAG2=2.0 \
|
||||||
-e SA_KILL=3.0 \
|
-e SA_KILL=3.0 \
|
||||||
-e SASL_PASSWD=testing \
|
-e SASL_PASSWD=testing \
|
||||||
|
-e ENABLE_MANAGE_SIEVE=1 \
|
||||||
-h mail.my-domain.com -t $(NAME)
|
-h mail.my-domain.com -t $(NAME)
|
||||||
sleep 20
|
sleep 20
|
||||||
docker run -d --name mail_pop3 \
|
docker run -d --name mail_pop3 \
|
||||||
|
|
|
@ -113,6 +113,11 @@ If you enable Fail2Ban, don't forget to add the following lines to your `docker-
|
||||||
|
|
||||||
Otherwise, `iptables` won't be able to ban IPs.
|
Otherwise, `iptables` won't be able to ban IPs.
|
||||||
|
|
||||||
|
##### ENABLE_MANAGE_SIEVE
|
||||||
|
|
||||||
|
- **empty** => Managesieve service disabled
|
||||||
|
- 1 => Enables Managesieve on port 4190
|
||||||
|
|
||||||
##### SA_TAG
|
##### SA_TAG
|
||||||
|
|
||||||
- **2.0** => add spam info headers if at, or above that level
|
- **2.0** => add spam info headers if at, or above that level
|
||||||
|
|
|
@ -23,6 +23,7 @@ if [ -f /tmp/docker-mailserver/postfix-accounts.cf ]; then
|
||||||
cp -a /usr/share/dovecot/protocols.d /etc/dovecot/
|
cp -a /usr/share/dovecot/protocols.d /etc/dovecot/
|
||||||
# Disable pop3 (it will be eventually enabled later in the script, if requested)
|
# Disable pop3 (it will be eventually enabled later in the script, if requested)
|
||||||
mv /etc/dovecot/protocols.d/pop3d.protocol /etc/dovecot/protocols.d/pop3d.protocol.disab
|
mv /etc/dovecot/protocols.d/pop3d.protocol /etc/dovecot/protocols.d/pop3d.protocol.disab
|
||||||
|
mv /etc/dovecot/protocols.d/managesieved.protocol /etc/dovecot/protocols.d/managesieved.protocol.disab
|
||||||
sed -i -e 's/#ssl = yes/ssl = yes/g' /etc/dovecot/conf.d/10-master.conf
|
sed -i -e 's/#ssl = yes/ssl = yes/g' /etc/dovecot/conf.d/10-master.conf
|
||||||
sed -i -e 's/#port = 993/port = 993/g' /etc/dovecot/conf.d/10-master.conf
|
sed -i -e 's/#port = 993/port = 993/g' /etc/dovecot/conf.d/10-master.conf
|
||||||
sed -i -e 's/#port = 995/port = 995/g' /etc/dovecot/conf.d/10-master.conf
|
sed -i -e 's/#port = 995/port = 995/g' /etc/dovecot/conf.d/10-master.conf
|
||||||
|
@ -234,6 +235,12 @@ echo "Starting daemons"
|
||||||
cron
|
cron
|
||||||
/etc/init.d/rsyslog start
|
/etc/init.d/rsyslog start
|
||||||
|
|
||||||
|
# Enable Managesieve service by setting the symlink
|
||||||
|
# to the configuration file Dovecot will actually find
|
||||||
|
if [ "$ENABLE_MANAGE_SIEVE" = 1 ]; then
|
||||||
|
mv /etc/dovecot/protocols.d/managesieved.protocol.disab /etc/dovecot/protocols.d/managesieved.protocol
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$SMTP_ONLY" != 1 ]; then
|
if [ "$SMTP_ONLY" != 1 ]; then
|
||||||
# Here we are starting sasl and imap, not pop3 because it's disabled by default
|
# Here we are starting sasl and imap, not pop3 because it's disabled by default
|
||||||
echo " * Starting dovecot services"
|
echo " * Starting dovecot services"
|
||||||
|
|
|
@ -419,3 +419,13 @@
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
[ "$output" = 1 ]
|
[ "$output" = 1 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "checking manage sieve: server is ready when ENABLE_MANAGE_SIEVE has been set" {
|
||||||
|
run docker exec mail /bin/bash -c "nc -z 0.0.0.0 4190"
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "checking manage sieve: disabled per default" {
|
||||||
|
run docker exec mail_pop3 /bin/bash -c "nc -z 0.0.0.0 4190"
|
||||||
|
[ "$status" -ne 0 ]
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue