mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
fb72f3ad52
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.
48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
---
|
|
title: 'User Management | Accounts'
|
|
hide:
|
|
- toc # Hide Table of Contents for this page
|
|
---
|
|
|
|
## 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`][docs-setupsh] script_**. Or you may directly add the _full_ email address and its encrypted password, separated by a pipe:
|
|
|
|
```cf
|
|
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:
|
|
|
|
```sh
|
|
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!_).
|
|
|
|
[docs-setupsh]: ../setup.sh.md
|
|
[github-issue-552]: https://github.com/docker-mailserver/docker-mailserver/issues/552
|