Using `set -ex` will exit the script as soon as a non-zero exit code is returned, such as when the docker image fails building the docs due to `build --strict` catching broken links. This also removes the need for `|| exit` when changing directory. This seems fine for a small script, but AFAIK an alternative fix is just adding `|| exit` to the end of the `docker run` command too? There appears to be advice [against adopting `-e` carelessly](http://mywiki.wooledge.org/BashFAQ/105), while others [encourage `-e`](http://redsymbol.net/articles/unofficial-bash-strict-mode/). I know that several maintainers here have preference towards `set -e` so I've kept the original PR solution. Additionally: - `-x` is used to improve command visibility when reviewing the workflow log output. - `--name` isn't necessary, but was part of the original PR. - I've chosen not to include `-o pipefail`, only because no pipes are used in this script. * docs(fix): Fix broken links * ci(docs): Added inline docs Extra documentation context for maintainers to quickly grok what's going on. * chore(docs): Minor typo fix by wernerfred Added from their related PR by request.
2.1 KiB
title | hide | |
---|---|---|
User Management | Accounts |
|
Adding a New Account
Users (email accounts) are managed in /tmp/docker-mailserver/postfix-accounts.cf
. The best way to manage accounts is to use the reliable setup.sh
script. Or you may directly add the full email address and its encrypted password, separated by a pipe:
user1@example.com|{SHA512-CRYPT}$6$2YpW1nYtPBs2yLYS$z.5PGH1OEzsHHNhl3gJrc3D.YMZkvKw/vp.r5WIiwya6z7P/CQ9GDEJDr2G2V0cAfjDFeAQPUoopsuWPXLk3u1
user2@not-example.com|{SHA512-CRYPT}$6$2YpW1nYtPBs2yLYS$z.5PGH1OEzsHHNhl3gJrc3D.YMZkvKw/vp.r5WIiwya6z7P/CQ9GDEJDr2G2V0cAfjDFeAQPUoopsuWPXLk3u1
In the example above, we've added 2 mail accounts for 2 different domains. Consequently, the mail-server will automatically be configured for multi-domains. Therefore, to generate a new mail account data, directly from your docker host, you could for example run the following:
docker run --rm \
-e MAIL_USER=user1@example.com \
-e MAIL_PASS=mypassword \
-it mailserver/docker-mailserver:latest \
/bin/sh -c 'echo "$MAIL_USER|$(doveadm pw -s SHA512-CRYPT -u $MAIL_USER -p $MAIL_PASS)"' >> docker-data/dms/config/postfix-accounts.cf
You will then be asked for a password, and be given back the data for a new account entry, as text. To actually add this new account, just copy all the output text in docker-data/dms/config/postfix-accounts.cf
file of your running container.
!!! note
`doveadm pw` command lets you choose between several encryption schemes for the password.
Use `doveadm pw -l` to get a list of the currently supported encryption schemes.
!!! note
Changes to the accounts list require a restart of the container, using `supervisord`. See [#552][github-issue-552].
Notes
imap-quota
is enabled and allow clients to query their mailbox usage.- When the mailbox is deleted, the quota directive is deleted as well.
- Dovecot quotas support LDAP, but it's not implemented (PRs are welcome!).