* Improve and extend setup.sh
Add subcommands 'debug show-mail-logs', 'inspect', 'login'. Add option
'-c' to specify the name of the running container. Add option '-i' to
specify the image name.
* Add tests for setup.sh
The option '--check' checks for new mails without actually fetching
or deleting mail. Without '--check' 'debug-fetchmail' throws errors if
the external mail accout has new mails and the smtp daemon is not
running.
Most developers implement new docker-mailserver features on feature
branches before they create a pull request. This commit enables Travis
CI testing on all branches except 'donttestme'. Developers now can
'pre-test' their features branches without permanentaly hacking
'.travis.yml'. More testing is good!
The letsencrypt-auto client creates cert.pem, chain.pem, fullchain.pem, and
privkey.pem in its default settings. The simp_le client creates cert.pem,
fullchain.pem, and key.pem in its default settings.
A check for either privkey.pem or key.pem was added.
The chain.pem file was only used by the letsencrypt code for the creation of
combined.pem, which is not used by either postfix or dovecot.
The code to create a combined.pem file for letsencrypt was removed, as was the
corresponding test.
This commit adds a script nammed 'listmailuser'. './setup.sh' uses this
this script for its subcommand './setup.sh email list'. A test have
been added too.
To setup the mailserver large snippets of shell code had to past in a
console. Instead of:
mkdir -p config
touch config/postfix-accounts.cf
docker run --rm \
-e MAIL_USER=user1@domain.tld \
-e MAIL_PASS=mypassword \
-ti tvial/docker-mailserver:latest \
/bin/sh -c 'echo "$MAIL_USER|$(doveadm pw -s SHA512-CRYPT -u
$MAIL_USER -p $MAIL_PASS)"' >> config/postfix-accounts.cf
you can specify:
./setup.sh email add user1@domain.tld mypassword
This wrapper script can be easily extended. It uses the scripts already
builtin.
* Wrote functional tests for desired behavior.
Redoing the pull request, starting from current master.
The tests now fail where expected.
* Updated commands to handle missing files better.
The functional tests now pass.
The config file target/dovecot/dovecot.conf is not used to build the
docker-mailserver image. All tests are working without this file. The
additional config file config/dovecot.cf won’t be loaded if
target/dovecot/dovecot.conf is used.
* Adding the PERMIT_DOCKER option
See README.md for more informations
* Adding some test for PERMIT_DOCKER option
* Fix test cases
* Opendkim and Openmarc configuration
Fix docker network range
Adding opendkim and openmarc configuration
* Adding some options for tests
* Update log message
* Update tests
One example was missing a useful line, which was present in the wiki's example and without which the example does not run.
A typographical error was found in a file.
* Allow disabling amavis service
Setting the `DISABLE_AMAVIS=1` env var will skip the starting of the
amavis process.
* Enable option to not run spamassassin
Setting the `DISABLE_SPAMASSASSIN=1` env var will start this container
without spamassain.
* Allow starting of the container without clamav
Setting the `DISABLE_CLAMAV=1` env var will start this container without
starting clamav.