> ## Content Index
> Fetch the complete content index at: https://www.rolandbrunner.me/llms.txt
> Use this file to discover other available public pages before exploring further.

# docker-mailserver Cheat-Sheet: Die wichtigsten Befehle für die Administration
- URL: https://www.rolandbrunner.me/docker-mailserver-cheat-sheet-die-wichtigsten-befehle-fur-die-administration/
- Published: 2026-10-27T18:08:41.000Z
- Updated: 2026-10-27T18:08:41.000Z
- Author: Roland Brunner
- Tags: VPS, Docker, Mailserver

# 

Wer seinen eigenen Mailserver mit [**docker-mailserver**](https://github.com/docker-mailserver/docker-mailserver?ref=rolandbrunner.me) (DMS) betreibt, braucht im Alltag immer wieder dieselben Handgriffe: Postfächer anlegen, Aliase pflegen, DKIM einrichten, Logs prüfen oder hängende Mails aus der Warteschlange holen. Dieses Cheat-Sheet fasst die wichtigsten Befehle kompakt zusammen.

> **Voraussetzung:** Der Container heißt in allen Beispielen `mailserver`. Falls deiner anders heißt, findest du den Namen mit `docker ps`.

---

## 1\. Container verwalten

| Aufgabe               | Befehl                                      |
| --------------------- | ------------------------------------------- |
| Starten               | docker compose up -d                        |
| Stoppen und entfernen | docker compose down                         |
| Neu starten           | docker compose restart mailserver           |
| Image aktualisieren   | docker compose pull && docker compose up -d |
| Status prüfen         | docker ps                                   |
| Container-Log live    | docker logs -f mailserver                   |
| Shell im Container    | docker exec -it mailserver bash             |

---

## 2\. Das zentrale Werkzeug: `setup`

Fast alle Verwaltungsaufgaben laufen über das mitgelieferte Skript `setup`. Eine Übersicht aller Optionen liefert:

```bash
docker exec -it mailserver setup help

```

Alle folgenden `setup`\-Befehle werden mit vorangestelltem `docker exec -it mailserver` ausgeführt.

### Postfächer

```bash
setup email add user@domain.de 'Passwort'
setup email update user@domain.de 'NeuesPasswort'
setup email del user@domain.de
setup email list

```

Versand oder Empfang für ein Konto sperren:

```bash
setup email restrict add send user@domain.de
setup email restrict add receive user@domain.de

```

### Aliase

```bash
setup alias add info@domain.de user@domain.de
setup alias del info@domain.de user@domain.de
setup alias list

```

### Speicherplatz (Quota)

```bash
setup quota set user@domain.de 5G
setup quota del user@domain.de

```

### DKIM

```bash
# Schlüssel für alle Domains erzeugen
setup config dkim

# Für eine bestimmte Domain mit 2048-Bit-Schlüssel
setup config dkim domain domain.de keysize 2048

```

Anschließend den Inhalt von `docker-data/dms/config/opendkim/keys/<domain>/mail.txt` als TXT-Record im DNS eintragen und den Container neu starten. Wer Rspamd nutzt, findet den Schlüssel unter `config/rspamd/dkim/`.

### Fail2Ban

```bash
setup fail2ban              # gebannte IPs anzeigen
setup fail2ban ban 1.2.3.4
setup fail2ban unban 1.2.3.4
setup fail2ban log

```

### Relay-Host (Versand über einen Smarthost)

```bash
setup relay add-domain domain.de smtp.relay.de 587
setup relay add-auth domain.de benutzer 'Passwort'

```

### Debugging

```bash
setup debug login           # Shell im Container
setup debug show-mail-logs

```

---

## 3\. Logs und Dienste

```bash
# Mail-Log live verfolgen
docker exec mailserver tail -f /var/log/mail/mail.log

# Nach einer Adresse filtern
docker exec mailserver grep 'user@domain.de' /var/log/mail/mail.log

# Status aller Dienste
docker exec mailserver supervisorctl status

# Einzelnen Dienst neu starten
docker exec mailserver supervisorctl restart postfix

```

---

## 4\. Mail-Warteschlange (Postfix)

| Aufgabe                       | Befehl                                           |
| ----------------------------- | ------------------------------------------------ |
| Queue anzeigen                | docker exec mailserver postqueue -p              |
| Queue sofort zustellen        | docker exec mailserver postqueue -f              |
| Einzelne Mail löschen         | docker exec mailserver postsuper -d <QUEUE-ID>   |
| Alle zurückgestellten löschen | docker exec mailserver postsuper -d ALL deferred |
| Aktive Konfiguration anzeigen | docker exec mailserver postconf -n               |

---

## 5\. Dovecot (IMAP)

```bash
# Angemeldete Nutzer
docker exec mailserver doveadm who

# Quota eines Nutzers
docker exec mailserver doveadm quota get -u user@domain.de

# Postfach neu indizieren, z. B. bei Anzeigeproblemen
docker exec mailserver doveadm force-resync -u user@domain.de '*'

# Login testen
docker exec mailserver doveadm auth test user@domain.de 'Passwort'

```

---

## 6\. Verbindung von außen testen

```bash
# IMAPS
openssl s_client -connect mail.domain.de:993

# SMTP Submission mit STARTTLS
openssl s_client -starttls smtp -connect mail.domain.de:587

```

---

## 7\. Tipps aus der Praxis

- **Konfiguration liegt auf dem Host:** Konten und Aliase stehen in `docker-data/dms/config/`, etwa in `postfix-accounts.cf` und `postfix-virtual.cf`. DMS erkennt Änderungen dort automatisch, ein Neustart ist meist nicht nötig.
- **Backup:** Sichere regelmäßig den kompletten Ordner `docker-data/dms/` mit den Unterordnern `mail-data`, `mail-state`, `config` und `mail-logs`.
- **Vorsicht mit `:latest`:** Ein `docker compose pull` kann ein neues Major-Release mit Breaking Changes einspielen. Lies vorher die [Release Notes](https://github.com/docker-mailserver/docker-mailserver/releases?ref=rolandbrunner.me) oder pinne eine feste Version, zum Beispiel `ghcr.io/docker-mailserver/docker-mailserver:15`.

---

*Weiterführend: die offizielle* [*Dokumentation von docker-mailserver*](https://docker-mailserver.github.io/docker-mailserver/latest/?ref=rolandbrunner.me)*.*