mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
ee0d0853dd
Courier and Cyrus Sasl have been removed and substituted with Dovecot which now handle authentication for Postfix, Imap and Pop3, with support for SSL. This allow the use of several encryption schemes for the password as well as a single user db. OpenDKIM keys can now be provided at the startup and will be used instead of generating new ones (so that you don't have to change your DNS configuration). This version builds correctly on Docker but no integration tests have been reworked to accommodate Dovecot instead of Courier and Cyrus Sasl. As such at present no automatic tests can be executed.
66 lines
2.1 KiB
Makefile
66 lines
2.1 KiB
Makefile
NAME = tvial/docker-mailserver
|
|
|
|
#all: build run fixtures tests clean
|
|
#all-no-build: run fixtures tests clean
|
|
all: build
|
|
|
|
build:
|
|
docker build --no-cache -t $(NAME) .
|
|
|
|
run:
|
|
# Copy test files
|
|
cp test/accounts.cf postfix/
|
|
cp test/main.cf postfix/
|
|
cp test/virtual postfix/
|
|
# Run containers
|
|
docker run -d --name mail \
|
|
-v "`pwd`/postfix":/tmp/postfix \
|
|
-v "`pwd`/spamassassin":/tmp/spamassassin \
|
|
-v "`pwd`/test":/tmp/test \
|
|
-e SA_TAG=1.0 \
|
|
-e SA_TAG2=2.0 \
|
|
-e SA_KILL=3.0 \
|
|
-e SASL_PASSWD=testing \
|
|
-h mail.my-domain.com -t $(NAME)
|
|
docker run -d --name mail_pop3 \
|
|
-v "`pwd`/postfix":/tmp/postfix \
|
|
-v "`pwd`/spamassassin":/tmp/spamassassin \
|
|
-v "`pwd`/test":/tmp/test \
|
|
-e ENABLE_POP3=1 \
|
|
-h mail.my-domain.com -t $(NAME)
|
|
docker run -d --name mail_smtponly \
|
|
-v "`pwd`/postfix":/tmp/postfix \
|
|
-v "`pwd`/spamassassin":/tmp/spamassassin \
|
|
-v "`pwd`/test":/tmp/test \
|
|
-e SMTP_ONLY=1 \
|
|
-h mail.my-domain.com -t $(NAME)
|
|
docker run -d --name mail_fail2ban \
|
|
-v "`pwd`/postfix":/tmp/postfix \
|
|
-v "`pwd`/spamassassin":/tmp/spamassassin \
|
|
-v "`pwd`/test":/tmp/test \
|
|
-e ENABLE_FAIL2BAN=1 \
|
|
-h mail.my-domain.com -t $(NAME)
|
|
# Wait for containers to fully start
|
|
sleep 60
|
|
|
|
fixtures:
|
|
# Sending test mails
|
|
docker exec mail /bin/sh -c "nc 0.0.0.0 25 < /tmp/test/email-templates/amavis-spam.txt"
|
|
docker exec mail /bin/sh -c "nc 0.0.0.0 25 < /tmp/test/email-templates/amavis-virus.txt"
|
|
docker exec mail /bin/sh -c "nc 0.0.0.0 25 < /tmp/test/email-templates/existing-alias-external.txt"
|
|
docker exec mail /bin/sh -c "nc 0.0.0.0 25 < /tmp/test/email-templates/existing-alias-local.txt"
|
|
docker exec mail /bin/sh -c "nc 0.0.0.0 25 < /tmp/test/email-templates/existing-user.txt"
|
|
docker exec mail /bin/sh -c "nc 0.0.0.0 25 < /tmp/test/email-templates/non-existing-user.txt"
|
|
# Wait for mails to be analyzed
|
|
sleep 10
|
|
|
|
tests:
|
|
# Start tests
|
|
./test/bats/bats test/tests.bats
|
|
|
|
clean:
|
|
# Get default files back
|
|
git checkout postfix/accounts.cf postfix/main.cf postfix/virtual
|
|
# Remove running test containers
|
|
docker rm -f mail mail_pop3 mail_smtponly mail_fail2ban
|